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

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