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

map
map_fee_events

abdc1f49ba3f6a6ce8603b3a0219dd9a92f0926f
substreams gui polymarket-exchange@v0.8.0 map_fee_events

map
map_admin_events

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

map
map_pause_events

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

map
map_approval_events

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

map
map_all_events

1ec09764ddbb7e1ef093f55ce6551d17f5b8ab99
substreams gui polymarket-exchange@v0.8.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.8.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.8.0 index_events
Protobuf

Protobuf Docs Explorer

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