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
| Param | Type | Description |
|---|---|---|
| action | string | propose, 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) |
| marketToken | string | Filter by market contract address |
| wallet | string | Any wallet's own actions (public by address) |
| scope | string | all: every market's events, newest first; combine with action (for example action=propose for every proposal). Not with wallet or marketToken (400). |
| cursor | string | blockNumber:logIndex from pagination.nextCursor |
| limit | number | Items 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)
| Action | amount is |
|---|---|
| bond actions | propose, 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_filled | The 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_created | Outcome shares listed (18 decimals); amountAsset is null. |
| bet_unplaced | The token the bet was sent in (amountAsset), handed back because the bet was below the minimum. |
| invalidate | An invalidated market: outcomeId 254 is a sentinel, never an outcome, and ranking is []. On podium and EARLY rows outcomeId is null: read ranking. |
| other actions | No amount: amount, amountAsset and amountDecimals are null. |