Skip to main content
The SDK emits 10 typed events via Anchor’s log-based event system. All field names are camelCase (the SDK normalizes from the on-chain snake_case).

WebSocket subscription

Use subscribeAll to listen to every event in real time.
TypeScript

Typed single-event subscriptions

For type-narrowed callbacks, use the subscribe method or the on* convenience helpers.
TypeScript

Subscription options

TypeScript
Connection.onLogs does not auto-reconnect after a WebSocket drop. For long-lived subscriptions, detect WS disconnection and call sub.unsubscribe() + re-subscribe.

Poll-based events

For environments without WebSocket support (some mobile wrappers, serverless functions):
TypeScript

Parse from transaction logs

If you already have a transaction’s log array (e.g., from sendAndConfirmTransaction), parse events directly:
TypeScript

Event reference

Emitted when a new market is created.
Emitted when a bet is placed. The amount and side are still encrypted at this point.
Emitted by the Arcium callback after the MPC reveal circuit runs.
Emitted when a market with zero bets is cancelled.
Emitted when the creator pulls their bond + LP fees.
Emitted when a winner claims their payout.
Emitted when a bettor claims a refund from an unresolved market.
Emitted when anyone flags a pending resolution during the challenge window.
Emitted when a pending resolution is finalized after the challenge window elapses undisputed.
Emitted when an admin overrides a disputed resolution.