Package Logo
polymarket-exchange
polymarket-exchange@v0.9.0
Total Downloads
20
Published
7 hours ago
Network
polygon polygon
Publisher
User Avatar colindickson

Readme

Polymarket Exchange Substreams Package

Substreams package for extracting events from the Polymarket CTF Exchange contract on Polygon.

Contract Information

  • Address: 0xE111180000d2663C0091e4f400237545B87B996B
  • Network: Polygon
  • Explorer: View on Polygonscan

Available Modules

Module Description Output Type
map_exchange_events Extracts exchange trading events proto:polymarket.exchange.v1.ExchangeEvents
map_fee_events Extracts fee-related events proto:polymarket.exchange.v1.FeeEvents
map_admin_events Extracts admin role events proto:polymarket.exchange.v1.AdminEvents
map_pause_events Extracts user pause events proto:polymarket.exchange.v1.PauseEvents
map_approval_events Extracts order approval events proto:polymarket.exchange.v1.OrderApprovalEvents
map_all_events Extracts all exchange events proto:polymarket.exchange.v1.AllEvents

Quick Start

Build the WASM binary:

make build-exchange
# or
cd polymarket-exchange && substreams build

Create the Substreams package:

make package-exchange
# or
cd polymarket-exchange && substreams pack

Run the Substreams:

make run-exchange
# or
substreams run substreams.yaml map_all_events \
  --network polygon \
  --start-block -1000

Event Types

The package extracts the following V2 event categories:

Exchange Events

  • OrderFilled - Order filled (with side uint8, token_id, builder, metadata)
  • OrdersMatched - Orders matched (with side uint8, token_id)

Fee Events

  • FeeCharged - Trading fee charged (recipient, amount)
  • FeeReceiverUpdated - Fee receiver address changed
  • MaxFeeRateUpdated - Maximum fee rate changed

Admin Events

  • NewAdmin - New admin added
  • NewOperator - New operator added
  • RemovedAdmin - Admin removed
  • RemovedOperator - Operator removed

Pause Events

  • UserPaused - User paused from trading
  • UserUnpaused - User unpaused
  • UserPauseBlockIntervalUpdated - Pause interval changed

Order Approval Events

  • OrderPreapproved - Order preapproved
  • OrderPreapprovalInvalidated - Order preapproval invalidated

Dependencies

  • substreams: ^0.7
  • substreams-ethereum: ^0.11
  • ethabi: ^18

Binary Output

Build artifacts: target/wasm32-unknown-unknown/release/polymarket_exchange.wasm

Documentation

Modules

Maps icon
Maps

map
map_exchange_events

49c132409b707c3351d329a6bbfa164d72a55de2
map map_exchange_events (
blocksf.ethereum.type.v2.Block
)  -> polymarket.exchange.v1.ExchangeEvents
substreams gui polymarket-exchange@v0.9.0 map_exchange_events

map
map_fee_events

abdc1f49ba3f6a6ce8603b3a0219dd9a92f0926f
substreams gui polymarket-exchange@v0.9.0 map_fee_events

map
map_admin_events

607371e9a4a974e1e3fc90d8c71e02f1919a4c2d
substreams gui polymarket-exchange@v0.9.0 map_admin_events

map
map_pause_events

126d7fcce8ec0301d7947c012af4ff896a1ae321
substreams gui polymarket-exchange@v0.9.0 map_pause_events

map
map_approval_events

891933bfd83b1af74d406e5af255dbc06fc5bf20
substreams gui polymarket-exchange@v0.9.0 map_approval_events

map
map_all_events

1ec09764ddbb7e1ef093f55ce6551d17f5b8ab99
substreams gui polymarket-exchange@v0.9.0 map_all_events

map
map_user_trades

9a086549d3db44b3f6261a6f8eec408cc8afd292
map map_user_trades (
paramsstring
)  -> polymarket.exchange.v1.ExchangeEvents
Default param : trader:0x0000000000000000000000000000000000000000
substreams gui polymarket-exchange@v0.9.0 map_user_trades
Block Indexes icon
Block Indexes

blockIndex
index_events

c0e49b7854a665351dab72a69f9c52f62b384678
blockIndex index_events (
)  -> sf.substreams.index.v1.Keys

Emits evt_addr:<address> for every block containing a CTF Exchange log, letting downstream modules skip blocks that never touch the contract.

substreams gui polymarket-exchange@v0.9.0 index_events
Protobuf

Protobuf Docs Explorer

sf.ethereum.substreams.v1
sf.ethereum.transform.v1
polymarket.exchange.v1
sf.ethereum.type.v2