Skip to main content
All webhook events share the same envelope format:

accounts.created

Fired when a new user is created in your app (first authentication).

accounts.linked

Fired when a user is linked to a partner external ID via the identity assertion flow.

wallets.ready

Fired when a server-managed wallet is provisioned for a user (both EVM and Solana addresses are available).

trades.placed

Fired when a user submits a trade order. The payload contains the order ID — query the API for the full breakdown (venue splits, amounts, prices).

trades.filled

Fired when a trade order reaches a terminal fill state. One event per venue-level order fill.

markets.resolved

Fired once per app when a prediction market resolves. Contains a summary — use the pull endpoint for the full list of affected users.

Querying affected users

Use the SDK to paginate through affected users. Pass includeEmails: true to get email addresses where available.
See the List users affected by market resolution API reference for full details.
This endpoint returns the current set of users with non-zero positions, not an immutable snapshot at resolution time. If positions are modified after resolution, the results may differ from the affectedUsersCount in the webhook.