TransferSingle or TransferBatch events on Polymarket’s CTF contract).
{
"data": {
"amount": 0.050921,
"block_number": 84697556,
"condition_id": "0xc288913391d7d3b484d9e63f60996671a1888207e0d9917691c5257cbab09309",
"event_title": "Bitcoin Up or Down - March 26, 4:50AM-4:55AM ET",
"event_type": "position_change",
"from": "0xe3f18acc55091e2c48d883fc8c8413319d4ab7b0",
"log_index": 2147,
"market_image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/BTC+fullsize.png",
"market_slug": "btc-updown-5m-1774515000",
"market_title": "Bitcoin Up or Down - March 26, 4:50AM-4:55AM ET",
"neg_risk": false,
"outcome": "Up",
"outcomes": ["Up", "Down"],
"taker_base_fee": 1000.0,
"tick_size": 0.01,
"timestamp": 1774515147000,
"to": "0xb27bc932bf8110d8f78e55da7d5f0497a18b5b82",
"token_id": "58779171378753040273547833889411100281640930430837040192014777442237090167078",
"token_ids": [
"58779171378753040273547833889411100281640930430837040192014777442237090167078",
"44910406836464179003614524044201701268382942629198430107881894265432491492514"
],
"tokens": {
"44910406836464179003614524044201701268382942629198430107881894265432491492514": "Down",
"58779171378753040273547833889411100281640930430837040192014777442237090167078": "Up"
},
"transfer_type": "single",
"tx_hash": "0x2b72f18ba36846fa72c7083e89d1a66438e0b9b15e170325f4efde5d08cc602e"
},
"timestamp": 1774515147000,
"type": "position_change"
}
Fields
string
required
Always
"position_change".number
required
Block timestamp in Unix milliseconds.
object
required
Show data fields
Show data fields
string
required
Transaction hash.
number
required
Block number.
number
required
Log index within the transaction.
number
required
Block timestamp in Unix milliseconds.
string
required
Sender wallet address.
string
required
Receiver wallet address.
string
required
Conditional token ID being transferred.
number
required
Number of tokens transferred.
string
required
"single" (TransferSingle) or "batch" (TransferBatch).string
Human-readable market question. Enriched from metadata.
string
Outcome name (e.g. “Yes”, “No”). Enriched from metadata.
string
Market URL slug. Enriched from metadata.
string
Parent event title. Enriched from metadata.
string
Market image URL. Enriched from metadata.
boolean
Whether this market uses the negRisk contract type. Enriched from metadata.
number
Minimum price increment (e.g.
0.01 or 0.001). Enriched from metadata.number
Taker fee rate in basis points.
200 = 2%, 1000 = 10%, null = no fee. Short-term crypto markets (5-minute ETH/BTC) typically have 1000 (10%), while standard markets have 200 (2%). Enriched from Polymarket metadata.string
Market condition ID (CTF contract identifier). Enriched from metadata.
string[]
Ordered list of outcome names (e.g.
["Yes", "No"]). Index-aligned with token_ids. Enriched from metadata.string[]
Ordered list of token IDs for this market. Index-aligned with
outcomes. Enriched from metadata.object
Map of token ID → outcome name for all outcomes in this market. Enriched from metadata.
Position changes from settlements are not duplicated here — the
settlement event already contains the trade details. This event tracks non-trade transfers: wallet migrations, OTC deals, and smart contract interactions.
