Package Logo
polymarket-exchange
polymarket-exchange@v0.11.0
Total Downloads
20
Published
1 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

8bfe316a685bc9c58e01b516c6db0c5d85d124a3
map map_exchange_events (
blocksf.ethereum.type.v2.Block
)  -> polymarket.exchange.v1.ExchangeEvents
substreams gui polymarket-exchange@v0.11.0 map_exchange_events

map
map_fee_events

8ddd4ba1829a4adbc710e2142a47610e8810d651
substreams gui polymarket-exchange@v0.11.0 map_fee_events

map
map_admin_events

eb53bf9575f266f4ffe187e3a51a65e3b44b01aa
substreams gui polymarket-exchange@v0.11.0 map_admin_events

map
map_pause_events

5b74b8cb762dfe51695498622e17556f2dbd0534
substreams gui polymarket-exchange@v0.11.0 map_pause_events

map
map_approval_events

d5e908b9951c93d96b8581ffb6c5a83e62194383
substreams gui polymarket-exchange@v0.11.0 map_approval_events

map
map_all_events

bd5b16a4c35c5f8f174628e0037eae571be841d3
substreams gui polymarket-exchange@v0.11.0 map_all_events

map
eth_common:all_events

433686393b184c57628660f7dbe6cfed4d72a9e9
map eth_common:all_events (
)  -> sf.substreams.ethereum.v1.Events

all_events gives you all the events in a block (from successful transactions), with basic block hash/number/timestamp and transaction hash

substreams gui polymarket-exchange@v0.11.0 eth_common:all_events
Block Indexes icon
Block Indexes

blockIndex
eth_common:index_events

8375ddd2cb44363ab1691748ecb6303603f29568

index_events sets the following keys on the block:

  • Event signatures evt_sig:0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef (signature in hex, prefixed by 0x)
  • Event address evt_addr:0x0123456789abcdef0123456789abcdef01234567 (address in hex, prefixed by 0x)
substreams gui polymarket-exchange@v0.11.0 eth_common:index_events
Protobuf

Protobuf Docs Explorer

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