Package Logo
polymarket-exchange
polymarket-exchange@v0.6.0
Total Downloads
23
Published
2 weeks 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

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

map
map_fee_events

91ed89af1f5d43e4be056e51d20abdb2c432970b
substreams gui polymarket-exchange@v0.6.0 map_fee_events

map
map_admin_events

272265446e3cb4ceb1ff258d6a66db35f31b2cea
substreams gui polymarket-exchange@v0.6.0 map_admin_events

map
map_pause_events

d503f5171e185a521fba8a1986d4e71c9f1ea341
substreams gui polymarket-exchange@v0.6.0 map_pause_events

map
map_approval_events

c1ddfebd27c668a15180d094393e4f386324c7fa
substreams gui polymarket-exchange@v0.6.0 map_approval_events

map
map_all_events

7fb5e563de0da6f46d724440ff504dafa5bb324b
substreams gui polymarket-exchange@v0.6.0 map_all_events
Block Indexes icon
Block Indexes

blockIndex
index_events

1f5f4ea3c87c56b0ad5d8957e73a19d587abfbf8
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.6.0 index_events
Protobuf

Protobuf Docs Explorer

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