The core PolyNode event. A Polymarket settlement detected before or after on-chain confirmation.
Pending settlements arrive 2–5 seconds before on-chain confirmation (1–2 Polygon blocks). This is the data that makes PolyNode unique.
{
"data" : {
"block_number" : null ,
"condition_id" : "0x4adecf6f72888a7eb9f30792c5bdccb072590075cbc6a165287982b466b50e8b" ,
"detected_at" : 1773301441280 ,
"event_title" : "Ethereum Up or Down - March 12, 3:30AM-3:45AM ET" ,
"event_type" : "settlement" ,
"market_image" : "https://polymarket-upload.s3.us-east-2.amazonaws.com/ETH+fullsize.jpg" ,
"market_slug" : "eth-updown-15m-1773300600" ,
"market_title" : "Ethereum Up or Down - March 12, 3:30AM-3:45AM ET" ,
"neg_risk" : false ,
"outcome" : "Up" ,
"status" : "pending" ,
"taker_base_fee" : 1000.0 ,
"taker_price" : 0.99 ,
"taker_side" : "BUY" ,
"taker_size" : 50.5 ,
"taker_token" : "92031998398623404776521611329154744036566205914361454065609349273835272366499" ,
"taker_wallet" : "0x19db9b949dc686aa6e33f8a019c7b2bb0d4aabbf" ,
"tick_size" : 0.01 ,
"tokens" : {
"69502793735506041495672526031462553164156574585593182105038953736496528173977" : "Down" ,
"92031998398623404776521611329154744036566205914361454065609349273835272366499" : "Up"
},
"trades" : [
{
"maker" : "0x894d8b81f19fc2af71523b5d9dc26680abf27293" ,
"maker_amount" : "1033540000" ,
"price" : 0.99 ,
"side" : "SELL" ,
"signer" : "0x526b434ad115d90cf201eacac117530232b2cf32" ,
"size" : 1033.54 ,
"taker" : "0x19db9b949dc686aa6e33f8a019c7b2bb0d4aabbf" ,
"taker_amount" : "1023204600" ,
"token_id" : "92031998398623404776521611329154744036566205914361454065609349273835272366499"
},
{
"maker" : "0x19db9b949dc686aa6e33f8a019c7b2bb0d4aabbf" ,
"maker_amount" : "49995000" ,
"price" : 0.99 ,
"side" : "BUY" ,
"signer" : "0xdcf0527fcf36f5ae900a1feec87dd15e50c70c37" ,
"size" : 50.5 ,
"taker" : "0x19db9b949dc686aa6e33f8a019c7b2bb0d4aabbf" ,
"taker_amount" : "50500000" ,
"token_id" : "92031998398623404776521611329154744036566205914361454065609349273835272366499"
}
],
"tx_hash" : "0xf918f59e6c399bbb42c1b81a85af99991e129e2a0ca528c60d92c691f468ed13"
},
"timestamp" : 1773301441280 ,
"type" : "settlement"
}
Every WebSocket event is wrapped with three top-level fields: type, timestamp, and data. The data object also contains an event_type field that always matches the top-level type — use whichever is convenient for your parsing logic.
Fields
Unix milliseconds. Use this as the canonical event time.
Transaction hash (0x-prefixed).
"pending" — detected pre-chain, not yet confirmed.
"confirmed" — included in a block.
Unix milliseconds when the transaction was first detected by PolyNode.
Block number. null when status is "pending", set when "confirmed".
Taker (settler) wallet address.
Polymarket conditional token ID.
"BUY" or "SELL" — the taker’s side of the trade.
Fill price (0.0–1.0 for binary markets).
Fill size in shares. Divide by 10^6 for USDC value.
Human-readable market question. Enriched from Polymarket metadata.
Outcome name (e.g. “Yes”, “No”, “Donald Trump”). Enriched from metadata.
Market URL slug (e.g. "bitcoin-100k-2026"). Enriched from metadata.
Parent event title. Enriched from metadata.
Market image URL. Enriched from metadata.
Whether this market uses the negRisk contract type. Enriched from metadata.
Minimum price increment (e.g. 0.01 or 0.001). Enriched from metadata.
Taker fee rate (e.g. 0.02 for 2%). Enriched from metadata.
Market condition ID (CTF contract identifier). Enriched from metadata.
Map of token ID → outcome name for all outcomes in this market (e.g. {"123...": "Yes", "456...": "No"}). Enriched from metadata.
Array of matched maker orders in this settlement. Order signer address (may differ from maker for smart contract wallets).
Raw maker amount (6 decimal USDC or tokens).
Raw taker amount (6 decimal USDC or tokens).
Pending vs confirmed
Field Pending Confirmed status"pending""confirmed"block_numbernullblock number detected_atwhen PolyNode first detected TX same value Latency ~0ms from detection 2–5s after detection (1–2 blocks)
Subscribe with "status": "pending" to get the 2–5 second edge. You’ll receive a separate status_update event when the same transaction confirms on-chain, including latency_ms.
Use cases
Copy trading — detect whale trades 1–2 blocks before confirmation and execute your own order
Market making — adjust spreads based on incoming settlements
Analytics — track real-time volume and price movements
Alerts — notify on large trades or specific wallet activity