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

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

map
map_fee_events

8b8a7909bc6db239614db6e398ea35264390c606
substreams gui polymarket-exchange@v0.10.0 map_fee_events

map
map_admin_events

0189124e6b11fbe89042ae6a9daa73f7b6adbe9c
substreams gui polymarket-exchange@v0.10.0 map_admin_events

map
map_pause_events

9454361e8dcdd5333e8824a09cc65ef815afce84
substreams gui polymarket-exchange@v0.10.0 map_pause_events

map
map_approval_events

4e8b8593f3d251b9b3958de7750c1779f4e7526f
substreams gui polymarket-exchange@v0.10.0 map_approval_events

map
map_all_events

61419a941d0f7101a561e074de23e8ac29f47a04
substreams gui polymarket-exchange@v0.10.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.10.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.10.0 eth_common:index_events
Protobuf

Protobuf Docs Explorer

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