Skip to main content
Before a wallet can trade on a venue, it needs that venue’s one-time setup and some collateral there. Setup is per venue and per wallet, needs no Kairos account, and is skipped wherever it’s already done. You can also skip this page: an order on a venue the wallet isn’t set up on runs the missing setup steps first, in the same call. Running setup up front gives the user a clear “enable trading” moment and tells you where they still need funds.

1. Run setup

One setup covers every venue. It skips whatever is already done, so calling it again on a ready wallet asks for nothing.
Each venue asks for its own signature because each venue defines its own login, and approvals live on each venue’s chain. If the wallet has no BNB for the Predict.fun approvals, or has never deposited to Hyperliquid (which refuses every action from an unfunded account), setup asks for nothing there and that venue reports next: "fund". Pass { venues: ['predictfun'] } to set up only some venues.

2. Fund the wallet

Use your wallet’s normal send flow. Check readiness at any time:
next is "setup", "wait" (approvals the wallet already sent are still confirming; nothing to sign, check again shortly), "fund", "blocked" (that venue account cannot be used here, for example a Hyperliquid portfolio-margin account; venueDetail.reason says why), or null when the wallet can trade. ready: true with next: "fund" means setup is done everywhere but there are no funds yet. Balances are in whole units of each venue’s currency.

3. Read readiness

Wallet status is public and needs no signature. Poll it to drive your UI: The top-level next is the first thing to do across all venues. Each venue in venues has its own ready, next and balance, so you can show readiness per venue. See wallet status for every field, and venue rules for what each venue asks for. Over HTTP, setup is an action like any other: POST /v3/actions with X-Kairos-Wallet-Api: 2 and { "wallet": "0x…", "action": { "type": "setup", "venues": ["polymarket"] } }. Leave out venues to set up every venue. See plain HTTP clients.