PMWallets
EN

成交事件

推送成交的每个字段。

成交事件

两个通道投递的是同一个成交对象,放在 data 里。Webhook 的 body 是 {"type":"fill","data":{…}};WebSocket 的帧在此之外还带 session 和 seq。tPush 是各通道自己的发出时间。

json
{
  "type": "fill",
  "data": {
    "eventId": "137:93912410:0x8f2c…a91b:0x4d0e…77c3:41",
    "chain": 137,
    "entityId": "0x9a3f…21e8",
    "wallet": "0x5b71…0cd2",
    "ts": "2026-09-16 14:02:11",
    "block": 93912410,
    "blockHash": "0x8f2c…a91b",
    "txHash": "0x4d0e…77c3",
    "logIndex": 41,
    "exchange": "pm_ctf_v2",
    "side": "BUY",
    "role": "taker",
    "tokenId": "3200000000…",
    "price": "0.570000",
    "shares": "3200000000",
    "usdc": "1824000000",
    "fee": "0",
    "tDetect": "2026-09-16T14:02:11.412Z",
    "tPush": "2026-09-16T14:02:11.733Z",
    "marketTitle": "Will the Fed cut rates in October?",
    "conditionId": "0x5f1e…c2a9"
  }
}
eventIdstring这笔成交的稳定 id:链、区块、区块哈希、交易、日志序号。去重就用它。
chainnumber137(Polygon)。写进 id 里,以后加链也不会有歧义。
entityId0x address你订阅的实体,代表交易者,不一定对应签名地址。
wallet0x address实际交易的钱包地址。一个实体通常有多个钱包。
tsstring (UTC)区块时间,UTC。与发出时间不同,两者的差值见延迟页。
blocknumber包含该笔成交的区块。
blockHash0x hash该区块的哈希。链重组后,同一笔交易重新打包到其他区块时,区块哈希改变,视为新事件。
txHash0x hash交易哈希。
logIndexnumber日志在区块内的位置。
exchangestring由哪个 Polymarket 交易所合约撮合的,例如 pm_ctf_v2。
side"BUY" | "SELL"该钱包的买卖方向。
role"maker" | "taker"这个钱包是 maker 还是 taker。只有 taker 付手续费。
tokenIdstring (uint256)结果代币(ERC-1155 id),用十进制字符串表示,超出 JS number 的精确表示范围。
pricestring (decimal)每股价格(USDC),十进制字符串。
sharesstring (integer)整数,隐含 6 位小数(micro-shares)。3200000000 是 3,200 股。
usdcstring (integer)整数,隐含 6 位小数(micro-USDC)。1824000000 是 $1,824。
feestring (integer)合约实际收取的现金手续费,micro-USDC。maker 为 0。
tDetectstring (ISO 8601)检测到区块的时间(服务端时钟,UTC)。仅推送包含。
tPushstring (ISO 8601)该通道发出成交的时间(服务端时钟,UTC)。延迟页统计 tPush − tDetect。仅推送包含。
marketTitle?string市场标题,缓存里已有时才带,否则没有这个字段。仅推送包含。
conditionId?0x hash市场的 condition id,和 marketTitle 一起出现。仅推送包含。

金额是隐含 6 位小数的整数,用字符串传。数值保持合约原值,不转成浮点数, 避免四舍五入后无法与区块浏览器对账。显示时除以 1,000,000。

GET /v1/account/fills 补拉回来的行只有账本字段:没有 tDetect、tPush、marketTitle、conditionId。

链重组时不撤回已发出的事件。同一笔交易被重新打包进另一个区块,你会收到第二个事件,blockHash 不同。因此,区块哈希包含在 eventId 中,只按交易哈希去重会漏掉真实成交。