Events

Market Resolution Events

Track prediction market activity for your wallet: proposals, disputes, votes, vetoes, resolution, bond payouts, redemptions and order-book actions. Events are synced via POST /api/v1/sync after each transaction.

GET
/api/v1/markets/events
Market events, newest first, cursor paged (?cursor=blockNumber:logIndex from pagination.nextCursor; was ?page). Modes: your own wallet (default), ?wallet= (any wallet, public by address), ?marketToken= (every wallet of one market) or ?scope=all (every market: the global resolution feed); the answer carries mode. Wallet modes list only rows where the wallet is the actor.
Auth: Session or API Key

Query Parameters

ParamTypeDescription
actionstringpropose, dispute, vote, veto, resolve, invalidate, ranked_resolved, resolver_resolved, redeem, no_winner_swept, dispute_reset, bonds_distributed, bonds_seized, bond_redirected, early_reset, vote_reopened, order_created, order_cancelled, order_filled, bet_unplaced (400 for any other value)
marketTokenstringFilter by market contract address
walletstringAny wallet's own actions (public by address)
scopestringall: every market's events, newest first; combine with action (for example action=propose for every proposal). Not with wallet or marketToken (400).
cursorstringblockNumber:logIndex from pagination.nextCursor
limitnumberItems per page (default: 20, max: 100)
Response
{
  "data": [{
    "wallet": "0x...",
    "host": "0x...",
    "marketToken": "0x...",
    "action": "propose",
    "outcomeId": 0,
    "ranking": null,
    "round": 1,
    "amount": "50000000000000000000",
    "data": null,
    "txHash": "0x...",
    "logIndex": 5,
    "blockNumber": 12345678,
    "timestamp": "2026-03-20T00:00:00.000Z",
    "main": "0x...",
    "amountAsset": "0x...",
    "amountDecimals": 18
  }],
  "pagination": { "limit": 20, "hasMore": false, "nextCursor": null }
}

Unit of amount (amountAsset, amountDecimals)

Actionamount is
bond actionspropose, dispute, veto, bonds_distributed, bonds_seized, bond_redirected: the resolver's bond token, not the market's pair asset. The watchdog bounty is paid inside bonds_distributed (there is no separate claim).
redeem, no_winner_swept, order_filledThe market's pair asset (order_filled: what the buyer paid, fee included). One redeem row per call; data.remaining above 0 means a partial redemption.
order_createdOutcome shares listed (18 decimals); amountAsset is null.
bet_unplacedThe token the bet was sent in (amountAsset), handed back because the bet was below the minimum.
invalidateAn invalidated market: outcomeId 254 is a sentinel, never an outcome, and ranking is []. On podium and EARLY rows outcomeId is null: read ranking.
other actionsNo amount: amount, amountAsset and amountDecimals are null.