Read a wallet's readiness and balances per venue
Returns whether the wallet is ready to trade on each venue, what to do next, and the venue balance. Needs only the partner id or API key — no wallet sign-in — because it reports on-chain state and readiness, not orders.
next tells the app what to do: setup (run a setup action), wait (approvals are confirming), fund (deposit collateral, or gas on Predict.fun), blocked (Hyperliquid cannot enroll this account; see venueDetail.reason), or null. The top-level next picks the most urgent across not-ready venues (setup > wait > fund > blocked); when every venue is ready it is fund if no ready venue reports a non-zero balance — including when a balance is unknown (null).
Venues not offered on the deployment are omitted. A venue whose read failed appears as {"ready": false, "available": false, "error": …} and is left out of the top-level ready and next. Readings may be up to 30 s old (asOf); a setup action refreshes them.
Request
- Base URLhttps://execution.kairos.trade
- Auth
- API key in header X-Kairos-Partner-Id
- or API key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret
Path parameters
The wallet's EVM address (0x + 40 hex; checksum not required).
Headers
Wallet API contract version. Send 2 — the multi-venue contract this reference documents. Without the header (or with any other value) /v3/actions and /v3/wallets/* serve the original Polymarket-only contract, which ignores venue prefixes, expiresAt and setup.venues, omits chainId, venue and fallbackRequests from steps, refuses orders on a wallet that is not set up (409), and returns snake_case order and position rows.
Response
Readiness and balances per venue.
Example response
{
"wallet": "0x8ba1f109551bd432803012645ac136ddd64dba72",
"ready": false,
"next": "fund",
"venues": {
"polymarket": {
"ready": true,
"next": null,
"tradingWallet": "0x2f9c4b8e1d7a6c5b4a3f2e1d0c9b8a7f6e5d4c3b",
"balance": "25",
"currency": "pUSD",
"venueDetail": {
"chainId": "0x89"
},
"asOf": "2026-10-28T12:00:00.125Z"
},
"predictfun": {
"ready": false,
"next": "fund",
"tradingWallet": "0x8ba1f109551bd432803012645ac136ddd64dba72",
"balance": "0",
"currency": "USDT",
"venueDetail": {
"chainId": "0x38",
"gasBalance": "0",
"missingApprovals": 3,
"sessionExpiresAt": null
},
"asOf": "2026-10-28T12:00:00.140Z"
},
"hyperliquid": {
"ready": true,
"next": "fund",
"tradingWallet": "0x8ba1f109551bd432803012645ac136ddd64dba72",
"balance": "0",
"currency": "USDC",
"venueDetail": {
"chainId": "0xa4b1",
"network": "Mainnet",
"transferFromPerps": {
"available": "12.5",
"note": "your next order asks you to move what it needs from perps to spot"
}
},
"asOf": "2026-10-28T12:00:00.180Z"
}
},
"tradingWallet": "0x2f9c4b8e1d7a6c5b4a3f2e1d0c9b8a7f6e5d4c3b",
"balance": "25"
}Changes
No recorded changes to this operation across all 1 revision of this API.