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.
Wallet API partner id, issued by Kairos together with the partner's base URL. Identifies the partner (tenant) on every /v3 call; sent instead of an API key. Letters, digits and ._:-, at most 64 characters, case-insensitive. A partner id issued for an individual account cannot be sent this way — that account sends its API key triple instead.
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.
{
"error": "send X-Kairos-Partner-Id or your API key (X-Client-Id, X-Api-Key, X-Api-Secret)"
}
{
"error": "unknown partner id"
}
{
"error": "rate limit exceeded for this endpoint; retry later"
}
{
"error": "internal error"
}
{
"error": "unknown or expired action"
}
{
"error": "unknown or expired action"
}
{
"error": "unknown or expired action"
}
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Kairos","colors":{"primary":"#807dfe","light":"#6d6ae0","dark":"#a5a3ff"},"logo":{"light":"https://mintcdn.com/kairos-c5456474/JzYk92-enXUuMl0B/logo/kairos-wing.png?fit=max\u0026auto=format\u0026n=JzYk92-enXUuMl0B\u0026q=85\u0026s=c7c397bb87847c7f0e27019d68594bff","dark":"https://mintcdn.com/kairos-c5456474/JzYk92-enXUuMl0B/logo/wordmark.png?fit=max\u0026auto=format\u0026n=JzYk92-enXUuMl0B\u0026q=85\u0026s=8f2796ccf6273359a7ad0713bc86686d"},"favicon":"https://mintcdn.com/kairos-c5456474/JzYk92-enXUuMl0B/logo/kairos-wing.png?fit=max\u0026auto=format\u0026n=JzYk92-enXUuMl0B\u0026q=85\u0026s=c7c397bb87847c7f0e27019d68594bff","appearance":{"default":"dark"},"background":{"color":{"light":"#ffffff","dark":"#0a0a0f"}},"navbar":{"primary":{"type":"button","label":"Launch App","href":"https://app.kairos.trade"}},"contextual":{"options":["copy","view","download-spec","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kairos-c5456474","hasAudioNarration":false,"actualSubdomain":"kairos-c5456474","customDomains":["docs.kairos.trade"],"gitSource":{"type":"github","owner":"kairoslive","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aead0641411fefa89136024","collectionId":"4b502bda-1c32-4823-b83c-8b1fef053274","liveDeploymentHistoryId":"6aead0641411fefa89136024","schemaVersion":"v3"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aead0641411fefa89136024","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":139},{"language":"default","tag":"Data API","count":77},{"language":"default","tag":"Execution API","count":53},{"language":"default","tag":"Partner API","count":36},{"language":"default","tag":"Trading API","count":27},{"language":"default","tag":"Markets","count":20},{"language":"default","tag":"Sports","count":20},{"language":"default","tag":"Endpoints","count":19},{"language":"default","tag":"Documentation","count":18},{"language":"default","tag":"Market Data","count":17}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue","slug":"/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue","pageMetadata":{"title":"Read a wallet's readiness and balances per venue","description":"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.\n\n**`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`).\n\nVenues 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.","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/wallets/{address}","href":"/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"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.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"next\"\n })\n }), \" tells the app what to do: \", _jsx(_components.code, {\n children: \"setup\"\n }), \" (run a \", _jsx(_components.code, {\n children: \"setup\"\n }), \" action), \", _jsx(_components.code, {\n children: \"wait\"\n }), \" (approvals are confirming), \", _jsx(_components.code, {\n children: \"fund\"\n }), \" (deposit collateral, or gas on Predict.fun), \", _jsx(_components.code, {\n children: \"blocked\"\n }), \" (Hyperliquid cannot enroll this account; see \", _jsx(_components.code, {\n children: \"venueDetail.reason\"\n }), \"), or \", _jsx(_components.code, {\n children: \"null\"\n }), \". The top-level \", _jsx(_components.code, {\n children: \"next\"\n }), \" picks the most urgent across not-ready venues (\", _jsx(_components.code, {\n children: \"setup\"\n }), \" > \", _jsx(_components.code, {\n children: \"wait\"\n }), \" > \", _jsx(_components.code, {\n children: \"fund\"\n }), \" > \", _jsx(_components.code, {\n children: \"blocked\"\n }), \"); when every venue is ready it is \", _jsx(_components.code, {\n children: \"fund\"\n }), \" if no ready venue reports a non-zero balance — including when a balance is unknown (\", _jsx(_components.code, {\n children: \"null\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Venues not offered on the deployment are omitted. A venue whose read failed appears as \", _jsx(_components.code, {\n children: \"{\\\"ready\\\": false, \\\"available\\\": false, \\\"error\\\": …}\"\n }), \" and is left out of the top-level \", _jsx(_components.code, {\n children: \"ready\"\n }), \" and \", _jsx(_components.code, {\n children: \"next\"\n }), \". Readings may be up to 30 s old (\", _jsx(_components.code, {\n children: \"asOf\"\n }), \"); a setup action refreshes them.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Read a wallet's readiness and balances per venue","description":"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.\n\n**`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`).\n\nVenues 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.","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/wallets/{address}","href":"/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getWalletStatus","summary":"Read a wallet's readiness and balances per venue","description":"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.\n\n**`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`).\n\nVenues 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.","tags":["Reads"],"x-kairos-auth":"partner id (X-Kairos-Partner-Id) or API key triple","x-kairos-scope":"trade:execute (API-key callers)","x-kairos-rate-limit":"120 requests/minute per client IP per route; 1000/minute when X-Client-Id is sent","security":["c746ab32-77ba-42af-84ef-da137a99ae9d","1497e679-911f-45ba-9f0d-4d9aba32e180"],"parameters":["a0b7e0a6-dc55-4426-b8aa-d428d1421129","c3606844-12dd-4bda-a3fc-775dae40a9df"],"responses":{"200":"afc5b18e-749d-4215-87b1-9a70b7cc62db","400":"9c1e13d2-598f-491f-bcb5-6a6d021e094d","401":"99517db8-7a92-4c60-9488-1a6348f570f4","403":"733f2ac9-88f1-4629-9a6e-f7126e46c2a4","429":"9aaefd09-afc4-4500-839a-d180a5a9cf59","500":"e6907bc4-7e7f-45f0-9223-e0843b0b8f1e","502":"ffa975cf-8022-4780-9d21-1a7f61d74889","503":"1bc7dd98-f6f9-4b42-9567-84acd93dc411","504":"8b7d9be2-640c-4c6d-9aa5-81fafff6857b"},"method":"get","type":"path","servers":["330d272c-627a-4ff5-ad01-0263b300ce7a","83635983-3d27-4bb6-bc26-42ecc043c06c"],"path":"/v3/wallets/{address}","baseUrlOptions":["https://execution.kairos.trade","https://staging-execution.kairos.trade"],"title":"Read a wallet's readiness and balances per venue","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"a0b7e0a6-dc55-4426-b8aa-d428d1421129":{"name":"address","in":"path","required":true,"description":"The wallet's EVM address (`0x` + 40 hex; checksum not required).","schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","isRequired":true,"description":"The wallet's EVM address (`0x` + 40 hex; checksum not required).","uniqueKey":"","typeLabel":"string"},"example":"0x8ba1f109551bd432803012645ac136ddd64dba72"},"c3606844-12dd-4bda-a3fc-775dae40a9df":{"name":"X-Kairos-Wallet-Api","in":"header","required":true,"description":"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.","schema":{"type":"string","enum":["2"],"isRequired":true,"description":"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.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"example":"2"}},"responses":{"afc5b18e-749d-4215-87b1-9a70b7cc62db":{"description":"Readiness and balances per venue.","content":{"application/json":{"schema":{"type":"object","description":"Response of `GET /v3/wallets/{address}`.","required":["wallet","ready","next","venues"],"properties":{"wallet":{"type":"string","description":"EVM address, `0x` + 40 hex.","pattern":"^0x[0-9a-fA-F]{40}$","example":"0x8ba1f109551bd432803012645ac136ddd64dba72","isRequired":true,"uniqueKey":"wallet","typeLabel":"string"},"ready":{"type":"boolean","description":"Every venue that could be read is ready, and at least one could be read.","isRequired":true,"uniqueKey":"ready","typeLabel":"boolean"},"next":{"oneOf":[{"type":"string","enum":["setup","wait","fund","blocked",null],"description":"The most urgent next step across venues.","isRequired":true,"uniqueKey":"next.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["setup","wait","fund","blocked",null],"description":"The most urgent next step across venues.","isRequired":true,"uniqueKey":"next.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next","typeLabel":"enum\u003cstring> | null"},"venues":{"type":"object","description":"Readiness per venue offered on this deployment.","additionalProperties":{"type":"object","description":"One venue's readiness. A venue whose read failed is `{ready: false, available: false, error}`.","required":["ready"],"properties":{"ready":{"type":"boolean","isRequired":true,"uniqueKey":"venues.additionalProperties.ready","typeLabel":"boolean"},"next":{"oneOf":[{"type":"string","enum":["setup","wait","fund","blocked",null],"description":"What to do on this venue.","uniqueKey":"venues.additionalProperties.next.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["setup","wait","fund","blocked",null],"description":"What to do on this venue.","uniqueKey":"venues.additionalProperties.next.oneOf.1","typeLabel":"null"}],"uniqueKey":"venues.additionalProperties.next","typeLabel":"enum\u003cstring> | null"},"tradingWallet":{"oneOf":[{"type":"string","description":"Where this venue's collateral sits — Polymarket's trading wallet, or the wallet itself on Predict.fun and Hyperliquid.","uniqueKey":"venues.additionalProperties.tradingWallet.oneOf.0","typeLabel":"string"},{"type":"null","description":"Where this venue's collateral sits — Polymarket's trading wallet, or the wallet itself on Predict.fun and Hyperliquid.","uniqueKey":"venues.additionalProperties.tradingWallet.oneOf.1","typeLabel":"null"}],"uniqueKey":"venues.additionalProperties.tradingWallet","typeLabel":"string | null"},"balance":{"oneOf":[{"type":"string","description":"Collateral available to trade, whole units (decimal string); `null` when unknown.","example":"25","uniqueKey":"venues.additionalProperties.balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Collateral available to trade, whole units (decimal string); `null` when unknown.","example":"25","uniqueKey":"venues.additionalProperties.balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"venues.additionalProperties.balance","typeLabel":"string | null"},"currency":{"type":"string","description":"`pUSD` (Polymarket), `USDT` (Predict.fun), `USDC` (Hyperliquid spot).","uniqueKey":"venues.additionalProperties.currency","typeLabel":"string"},"venueDetail":{"type":"object","description":"Venue-specific detail. Keys appear only where they apply.","properties":{"chainId":{"type":"string","description":"Chain the venue settles on (hex).","example":"0x89","uniqueKey":"venues.additionalProperties.venueDetail.chainId","typeLabel":"string"},"gasBalance":{"oneOf":[{"type":"string","description":"Predict.fun — BNB balance for gas, whole units.","uniqueKey":"venues.additionalProperties.venueDetail.gasBalance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Predict.fun — BNB balance for gas, whole units.","uniqueKey":"venues.additionalProperties.venueDetail.gasBalance.oneOf.1","typeLabel":"null"}],"uniqueKey":"venues.additionalProperties.venueDetail.gasBalance","typeLabel":"string | null"},"missingApprovals":{"type":"integer","description":"Predict.fun — approvals still to send.","uniqueKey":"venues.additionalProperties.venueDetail.missingApprovals","typeLabel":"integer"},"sessionExpiresAt":{"oneOf":[{"type":"string","format":"date-time","description":"Predict.fun — when the venue session ends.","uniqueKey":"venues.additionalProperties.venueDetail.sessionExpiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Predict.fun — when the venue session ends.","uniqueKey":"venues.additionalProperties.venueDetail.sessionExpiresAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"venues.additionalProperties.venueDetail.sessionExpiresAt","typeLabel":"string\u003cdate-time> | null"},"network":{"type":"string","description":"Hyperliquid — `Mainnet` or `Testnet`.","uniqueKey":"venues.additionalProperties.venueDetail.network","typeLabel":"string"},"transferFromPerps":{"type":"object","description":"Hyperliquid — USDC in perps the next order can move to spot (with an extra prompt).","properties":{"available":{"type":"string","example":"12.5","uniqueKey":"venues.additionalProperties.venueDetail.transferFromPerps.available","typeLabel":"string"},"note":{"type":"string","uniqueKey":"venues.additionalProperties.venueDetail.transferFromPerps.note","typeLabel":"string"}},"uniqueKey":"venues.additionalProperties.venueDetail.transferFromPerps","typeLabel":"object"},"code":{"type":"string","description":"Hyperliquid — `HYPERLIQUID_AGENT_MISSING` when the trading approval must be renewed by `setup`.","uniqueKey":"venues.additionalProperties.venueDetail.code","typeLabel":"string"},"reason":{"type":"string","description":"Why the venue is not ready (fund, blocked, or approval renewal).","uniqueKey":"venues.additionalProperties.venueDetail.reason","typeLabel":"string"},"blocked":{"type":"boolean","description":"Hyperliquid — this account cannot be enrolled.","uniqueKey":"venues.additionalProperties.venueDetail.blocked","typeLabel":"boolean"},"accountMode":{"type":"string","description":"Hyperliquid — the account mode that blocks enrollment.","uniqueKey":"venues.additionalProperties.venueDetail.accountMode","typeLabel":"string"},"approvals":{"type":"integer","description":"Setup result, Predict.fun — approvals the wallet needs gas for.","uniqueKey":"venues.additionalProperties.venueDetail.approvals","typeLabel":"integer"},"gasWei":{"type":"string","description":"Setup result, Predict.fun — estimated BNB gas needed, in wei.","uniqueKey":"venues.additionalProperties.venueDetail.gasWei","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"venues.additionalProperties.venueDetail","typeLabel":"object"},"asOf":{"type":"string","format":"date-time","description":"When the venue was read.","uniqueKey":"venues.additionalProperties.asOf","typeLabel":"string\u003cdate-time>"},"available":{"type":"boolean","const":false,"description":"Present (and `false`) only when the venue could not be read.","uniqueKey":"venues.additionalProperties.available","typeLabel":"boolean"},"error":{"type":"string","description":"Why the venue could not be read.","uniqueKey":"venues.additionalProperties.error","typeLabel":"string"}},"uniqueKey":"venues.additionalProperties","typeLabel":"object"},"isRequired":true,"uniqueKey":"venues","typeLabel":"object"},"tradingWallet":{"oneOf":[{"type":"string","description":"Polymarket's trading wallet, when Polymarket is offered.","uniqueKey":"tradingWallet.oneOf.0","typeLabel":"string"},{"type":"null","description":"Polymarket's trading wallet, when Polymarket is offered.","uniqueKey":"tradingWallet.oneOf.1","typeLabel":"null"}],"uniqueKey":"tradingWallet","typeLabel":"string | null"},"balance":{"oneOf":[{"type":"string","description":"Polymarket's balance, when Polymarket is offered.","uniqueKey":"balance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Polymarket's balance, when Polymarket is offered.","uniqueKey":"balance.oneOf.1","typeLabel":"null"}],"uniqueKey":"balance","typeLabel":"string | null"}},"example":{"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"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"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"}}},"exampleType":"generated"}},"exampleType":"generated"},"9c1e13d2-598f-491f-bcb5-6a6d021e094d":{"description":"`wallet must be a 0x address`, or a malformed partner id.","content":{"application/json":{"schema":{"type":"object","description":"Wallet API error body. `error` is a human-readable message; `code` is set on a few structured refusals (e.g. `CLIENT_ORDER_ID_CONFLICT`, `POLYMARKET_V2_TRADING_DISABLED`, `SIGNATURE_EXPIRED`); `errorCode` mirrors `code` where the same refusal can also surface on a failed step. Most `/v3` errors carry only `error`. Framework rejections (malformed JSON, wrong shape, missing content type) are plain text, not this body.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable code, present on structured refusals only.","uniqueKey":"code","typeLabel":"string"},"errorCode":{"type":"string","description":"Same as `code`; present where the refusal can also appear as a failed step's `errorCode`.","uniqueKey":"errorCode","typeLabel":"string"}},"example":{"error":"unknown or expired action"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"unknown or expired action"}}},"exampleType":"generated"}},"exampleType":"generated"},"99517db8-7a92-4c60-9488-1a6348f570f4":{"description":"`send X-Kairos-Partner-Id or your API key (X-Client-Id, X-Api-Key, X-Api-Secret)` — no partner id and no API key (a delegation header never qualifies); `invalid API key`.","content":{"application/json":{"schema":{"type":"object","description":"Wallet API error body. `error` is a human-readable message; `code` is set on a few structured refusals (e.g. `CLIENT_ORDER_ID_CONFLICT`, `POLYMARKET_V2_TRADING_DISABLED`, `SIGNATURE_EXPIRED`); `errorCode` mirrors `code` where the same refusal can also surface on a failed step. Most `/v3` errors carry only `error`. Framework rejections (malformed JSON, wrong shape, missing content type) are plain text, not this body.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable code, present on structured refusals only.","uniqueKey":"code","typeLabel":"string"},"errorCode":{"type":"string","description":"Same as `code`; present where the refusal can also appear as a failed step's `errorCode`.","uniqueKey":"errorCode","typeLabel":"string"}},"example":{"error":"unknown or expired action"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"send X-Kairos-Partner-Id or your API key (X-Client-Id, X-Api-Key, X-Api-Secret)"},"examples":{"Example":{"title":"Example","value":{"error":"send X-Kairos-Partner-Id or your API key (X-Client-Id, X-Api-Key, X-Api-Secret)"}}},"exampleType":"examples"}},"exampleType":"examples"},"733f2ac9-88f1-4629-9a6e-f7126e46c2a4":{"description":"`unknown partner id` (unknown, or the Wallet API is not enabled for it); `this partner id is used with its API key; send the key instead of X-Kairos-Partner-Id`; `this API key lacks the trade:execute scope` (an API key must carry `trade:execute` to act as the tenant — a `trade:read`-only key is refused, even on reads); `the wallet API is not enabled for this account`.","content":{"application/json":{"schema":{"type":"object","description":"Wallet API error body. `error` is a human-readable message; `code` is set on a few structured refusals (e.g. `CLIENT_ORDER_ID_CONFLICT`, `POLYMARKET_V2_TRADING_DISABLED`, `SIGNATURE_EXPIRED`); `errorCode` mirrors `code` where the same refusal can also surface on a failed step. Most `/v3` errors carry only `error`. Framework rejections (malformed JSON, wrong shape, missing content type) are plain text, not this body.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable code, present on structured refusals only.","uniqueKey":"code","typeLabel":"string"},"errorCode":{"type":"string","description":"Same as `code`; present where the refusal can also appear as a failed step's `errorCode`.","uniqueKey":"errorCode","typeLabel":"string"}},"example":{"error":"unknown or expired action"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"unknown partner id"},"examples":{"Example":{"title":"Example","value":{"error":"unknown partner id"}}},"exampleType":"examples"}},"exampleType":"examples"},"9aaefd09-afc4-4500-839a-d180a5a9cf59":{"description":"`rate limit exceeded for this endpoint; retry later`. The default limit is 120 requests per minute per client IP per path (1000 when `X-Client-Id` is sent), over a sliding 60 s window; `GET` and `POST` on one path share it. No `Retry-After` header is sent.","content":{"application/json":{"schema":{"type":"object","description":"Wallet API error body. `error` is a human-readable message; `code` is set on a few structured refusals (e.g. `CLIENT_ORDER_ID_CONFLICT`, `POLYMARKET_V2_TRADING_DISABLED`, `SIGNATURE_EXPIRED`); `errorCode` mirrors `code` where the same refusal can also surface on a failed step. Most `/v3` errors carry only `error`. Framework rejections (malformed JSON, wrong shape, missing content type) are plain text, not this body.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable code, present on structured refusals only.","uniqueKey":"code","typeLabel":"string"},"errorCode":{"type":"string","description":"Same as `code`; present where the refusal can also appear as a failed step's `errorCode`.","uniqueKey":"errorCode","typeLabel":"string"}},"example":{"error":"unknown or expired action"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"rate limit exceeded for this endpoint; retry later"},"examples":{"Example":{"title":"Example","value":{"error":"rate limit exceeded for this endpoint; retry later"}}},"exampleType":"examples"}},"exampleType":"examples"},"e6907bc4-7e7f-45f0-9223-e0843b0b8f1e":{"description":"`internal error`.","content":{"application/json":{"schema":{"type":"object","description":"Wallet API error body. `error` is a human-readable message; `code` is set on a few structured refusals (e.g. `CLIENT_ORDER_ID_CONFLICT`, `POLYMARKET_V2_TRADING_DISABLED`, `SIGNATURE_EXPIRED`); `errorCode` mirrors `code` where the same refusal can also surface on a failed step. Most `/v3` errors carry only `error`. Framework rejections (malformed JSON, wrong shape, missing content type) are plain text, not this body.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable code, present on structured refusals only.","uniqueKey":"code","typeLabel":"string"},"errorCode":{"type":"string","description":"Same as `code`; present where the refusal can also appear as a failed step's `errorCode`.","uniqueKey":"errorCode","typeLabel":"string"}},"example":{"error":"unknown or expired action"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"internal error"},"examples":{"Example":{"title":"Example","value":{"error":"internal error"}}},"exampleType":"examples"}},"exampleType":"examples"},"ffa975cf-8022-4780-9d21-1a7f61d74889":{"description":"A venue did not answer cleanly, e.g. `Hyperliquid is unavailable; retry shortly`, `Predict.fun is unavailable; retry shortly`. Retry.","content":{"application/json":{"schema":{"type":"object","description":"Wallet API error body. `error` is a human-readable message; `code` is set on a few structured refusals (e.g. `CLIENT_ORDER_ID_CONFLICT`, `POLYMARKET_V2_TRADING_DISABLED`, `SIGNATURE_EXPIRED`); `errorCode` mirrors `code` where the same refusal can also surface on a failed step. Most `/v3` errors carry only `error`. Framework rejections (malformed JSON, wrong shape, missing content type) are plain text, not this body.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable code, present on structured refusals only.","uniqueKey":"code","typeLabel":"string"},"errorCode":{"type":"string","description":"Same as `code`; present where the refusal can also appear as a failed step's `errorCode`.","uniqueKey":"errorCode","typeLabel":"string"}},"example":{"error":"unknown or expired action"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"unknown or expired action"}}},"exampleType":"generated"}},"exampleType":"generated"},"1bc7dd98-f6f9-4b42-9567-84acd93dc411":{"description":"`partner registry unavailable; retry shortly`; `rate limiter unavailable` (the rate limiter fails closed); `wallet sign-in is not configured on this node`; `\u003cvenue> is not available right now`. Retry later.","content":{"application/json":{"schema":{"type":"object","description":"Wallet API error body. `error` is a human-readable message; `code` is set on a few structured refusals (e.g. `CLIENT_ORDER_ID_CONFLICT`, `POLYMARKET_V2_TRADING_DISABLED`, `SIGNATURE_EXPIRED`); `errorCode` mirrors `code` where the same refusal can also surface on a failed step. Most `/v3` errors carry only `error`. Framework rejections (malformed JSON, wrong shape, missing content type) are plain text, not this body.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable code, present on structured refusals only.","uniqueKey":"code","typeLabel":"string"},"errorCode":{"type":"string","description":"Same as `code`; present where the refusal can also appear as a failed step's `errorCode`.","uniqueKey":"errorCode","typeLabel":"string"}},"example":{"error":"unknown or expired action"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"unknown or expired action"}}},"exampleType":"generated"}},"exampleType":"generated"},"8b7d9be2-640c-4c6d-9aa5-81fafff6857b":{"description":"`… did not answer in time; GET /v3/actions/{id} before retrying`. The request may have taken effect: read the state before repeating it.","content":{"application/json":{"schema":{"type":"object","description":"Wallet API error body. `error` is a human-readable message; `code` is set on a few structured refusals (e.g. `CLIENT_ORDER_ID_CONFLICT`, `POLYMARKET_V2_TRADING_DISABLED`, `SIGNATURE_EXPIRED`); `errorCode` mirrors `code` where the same refusal can also surface on a failed step. Most `/v3` errors carry only `error`. Framework rejections (malformed JSON, wrong shape, missing content type) are plain text, not this body.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable code, present on structured refusals only.","uniqueKey":"code","typeLabel":"string"},"errorCode":{"type":"string","description":"Same as `code`; present where the refusal can also appear as a failed step's `errorCode`.","uniqueKey":"errorCode","typeLabel":"string"}},"example":{"error":"unknown or expired action"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"unknown or expired action"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"c746ab32-77ba-42af-84ef-da137a99ae9d":{"walletPartnerId":{"type":"apiKey","in":"header","name":"X-Kairos-Partner-Id","description":"Wallet API partner id, issued by Kairos together with the partner's base URL. Identifies the partner (tenant) on every `/v3` call; sent instead of an API key. Letters, digits and `._:-`, at most 64 characters, case-insensitive. A partner id issued for an individual account cannot be sent this way — that account sends its API key triple instead.","scopes":[],"schemeName":"walletPartnerId"}},"1497e679-911f-45ba-9f0d-4d9aba32e180":{"apiKeyClientId":{"type":"apiKey","in":"header","name":"X-Client-Id","description":"Credential client id (`kairos_ck_...`). Must be sent together with X-Api-Key and X-Api-Secret.","scopes":[],"schemeName":"apiKeyClientId"},"apiKeyKey":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"64-char hex API key.","scopes":[],"schemeName":"apiKeyKey"},"apiKeySecret":{"type":"apiKey","in":"header","name":"X-Api-Secret","description":"64-char hex API secret.","scopes":[],"schemeName":"apiKeySecret"}}},"servers":{"330d272c-627a-4ff5-ad01-0263b300ce7a":{"url":"https://execution.kairos.trade","description":"Production"},"83635983-3d27-4bb6-bc26-42ecc043c06c":{"url":"https://staging-execution.kairos.trade","description":"Staging"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Kairos-Partner-Id","description":"Wallet API partner id, issued by Kairos together with the partner's base URL. Identifies the partner (tenant) on every `/v3` call; sent instead of an API key. Letters, digits and `._:-`, at most 64 characters, case-insensitive. A partner id issued for an individual account cannot be sent this way — that account sends its API key triple instead.","scopes":[],"schemeName":"walletPartnerId"},"schema":{"title":"X-Kairos-Partner-Id","type":"string","description":"Wallet API partner id, issued by Kairos together with the partner's base URL. Identifies the partner (tenant) on every `/v3` call; sent instead of an API key. Letters, digits and `._:-`, at most 64 characters, case-insensitive. A partner id issued for an individual account cannot be sent this way — that account sends its API key triple instead.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"walletPartnerId","name":"X-Kairos-Partner-Id"}],"title":"walletPartnerId"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Client-Id","description":"Credential client id (`kairos_ck_...`). Must be sent together with X-Api-Key and X-Api-Secret.","scopes":[],"schemeName":"apiKeyClientId"},"schema":{"title":"X-Client-Id","type":"string","description":"Credential client id (`kairos_ck_...`). Must be sent together with X-Api-Key and X-Api-Secret.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyClientId","name":"X-Client-Id"},{"scheme":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"64-char hex API key.","scopes":[],"schemeName":"apiKeyKey"},"schema":{"title":"X-Api-Key","type":"string","description":"64-char hex API key.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyKey","name":"X-Api-Key"},{"scheme":{"type":"apiKey","in":"header","name":"X-Api-Secret","description":"64-char hex API secret.","scopes":[],"schemeName":"apiKeySecret"},"schema":{"title":"X-Api-Secret","type":"string","description":"64-char hex API secret.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeySecret","name":"X-Api-Secret"}],"title":"apiKeyClientId \u0026 apiKeyKey \u0026 apiKeySecret"}]},"originalFileLocation":"openapi/wallet-api.json"},"subdomain":"kairos-c5456474","siteName":"Kairos","title":"Read a wallet's readiness and balances per venue - Kairos","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T04:21:19.520Z","originalFileLocation":"api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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 \u0026gt; wait \u0026gt; fund \u0026gt; 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 {\u0026quot;ready\u0026quot;: false, \u0026quot;available\u0026quot;: false, \u0026quot;error\u0026quot;: …} 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.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kairos\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Read a wallet\u0026#x27;s readiness and balances per venue - Kairos\">\u003cmeta data-mint-head property=\"og:description\" content=\"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 \u0026gt; wait \u0026gt; fund \u0026gt; 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 {\u0026quot;ready\u0026quot;: false, \u0026quot;available\u0026quot;: false, \u0026quot;error\u0026quot;: …} 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.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kairos\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kairos-c5456474.mintlify.app/_mintlify/api/og/v2?division=Reads\u0026amp;title=Read+a+wallet%27s+readiness+and+balances+per+venue\u0026amp;description=Returns+whether+the+wallet+is+ready+to+trade+on+each+venue%2C+what+to+do+next%2C+and+the+venue+balance.+Needs+only+the+partner+id+or+API+key+%E2%80%94+no+wallet+sign-in+%E2%80%94+b\u0026amp;theme=530643ae41273bc052a9a850\u0026amp;signature=1750ce380ec5178dfa35e331a16e24990fbb71b30dc1c49bf74cfe546bcd1e83\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Read a wallet\u0026#x27;s readiness and balances per venue - Kairos\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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 \u0026gt; wait \u0026gt; fund \u0026gt; 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 {\u0026quot;ready\u0026quot;: false, \u0026quot;available\u0026quot;: false, \u0026quot;error\u0026quot;: …} 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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kairos-c5456474.mintlify.app/_mintlify/api/og/v2?division=Reads\u0026amp;title=Read+a+wallet%27s+readiness+and+balances+per+venue\u0026amp;description=Returns+whether+the+wallet+is+ready+to+trade+on+each+venue%2C+what+to+do+next%2C+and+the+venue+balance.+Needs+only+the+partner+id+or+API+key+%E2%80%94+no+wallet+sign-in+%E2%80%94+b\u0026amp;theme=530643ae41273bc052a9a850\u0026amp;signature=1750ce380ec5178dfa35e331a16e24990fbb71b30dc1c49bf74cfe546bcd1e83\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/kairos-c5456474/9YOcCIzMBy0Rv1b-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kairos\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#807dfe\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kairos.trade/#organization\",\"name\":\"Kairos\",\"url\":\"https://docs.kairos.trade\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kairos-c5456474/JzYk92-enXUuMl0B/logo/kairos-wing.png?fit=max\u0026auto=format\u0026n=JzYk92-enXUuMl0B\u0026q=85\u0026s=c7c397bb87847c7f0e27019d68594bff\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kairos.trade#website\",\"name\":\"Kairos\",\"url\":\"https://docs.kairos.trade\",\"publisher\":{\"@id\":\"https://docs.kairos.trade/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue#webpage\",\"url\":\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue\",\"name\":\"Read a wallet's readiness and balances per venue\",\"description\":\"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.\",\"dateModified\":\"2026-10-29T04:21:19.520Z\",\"isPartOf\":{\"@id\":\"https://docs.kairos.trade#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.kairos.trade/api-reference/partner/actions/start-a-wallet-action-setup-order-cancel-login\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Read a wallet's readiness and balances per venue\",\"item\":\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue#apireference\",\"headline\":\"Read a wallet's readiness and balances per venue\",\"name\":\"Read a wallet's readiness and balances per venue\",\"description\":\"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.\",\"url\":\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kairos.trade/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue#webpage\"},\"dateModified\":\"2026-10-29T04:21:19.520Z\",\"publisher\":{\"@id\":\"https://docs.kairos.trade/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kairos.trade#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kairos\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kairos","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Partner API","groups":[{"group":"Get started","icon":"rocket","pages":[{"title":"Kairos Partner API","sidebarTitle":"Introduction","icon":"wallet","href":"/wallets/overview"},{"title":"Onboarding and go-live","sidebarTitle":"Onboarding and go-live","icon":"list-check","href":"/wallets/onboarding"},{"title":"Quickstart: your first order","sidebarTitle":"Quickstart","icon":"rocket","href":"/wallets/quickstart"},{"title":"Partner API authentication","sidebarTitle":"Authentication","icon":"key","href":"/wallets/authentication"}]},{"group":"Onboard users","icon":"user-plus","pages":[{"title":"Set up and fund a wallet","sidebarTitle":"Set up and fund a wallet","icon":"user-plus","href":"/wallets/setup"},{"title":"Venue rules","sidebarTitle":"Venue rules","icon":"building-columns","href":"/wallets/venues"}]},{"group":"Trade","icon":"arrow-right-arrow-left","pages":[{"title":"Show markets","sidebarTitle":"Show markets","icon":"chart-line","href":"/wallets/markets"},{"title":"Place and cancel orders","sidebarTitle":"Place and cancel orders","icon":"arrow-right-arrow-left","href":"/wallets/trade"},{"title":"Show orders and positions","sidebarTitle":"Show orders and positions","icon":"briefcase","href":"/wallets/portfolio"},{"title":"What the wallet signs","sidebarTitle":"What the wallet signs","icon":"signature","href":"/wallets/signing"}]},{"group":"Route and fund","icon":"route","pages":[{"title":"Routing across venues","sidebarTitle":"Routing across venues","icon":"route","href":"/wallets/routing"},{"title":"Funded trade plans","tag":"Preview","sidebarTitle":"Funded trade plans","icon":"route","href":"/wallets/trade-plans"},{"title":"Split, merge and redeem","tag":"Preview","sidebarTitle":"Split, merge, redeem","icon":"link","href":"/wallets/onchain"}]},{"group":"Partner fees","icon":"receipt","pages":[{"title":"Partner fees and settlement","tag":"Preview","sidebarTitle":"Partner fees","icon":"receipt","href":"/wallets/fees"}]},{"group":"Build","icon":"code","pages":[{"title":"TypeScript SDK","sidebarTitle":"TypeScript SDK","icon":"js","href":"/wallets/sdk"},{"title":"Without the SDK: plain HTTP","sidebarTitle":"Plain HTTP clients","icon":"terminal","href":"/wallets/http"},{"title":"Errors, limits and idempotency","sidebarTitle":"Errors and limits","icon":"book","href":"/wallets/reference"}]},{"group":"Endpoints","icon":"brackets-curly","pages":[{"group":"Actions","pages":[{"title":"Start a wallet action (setup, order, cancel, login)","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/actions","href":"/api-reference/partner/actions/start-a-wallet-action-setup-order-cancel-login"},{"title":"Read an action's current step","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/actions/{id}","href":"/api-reference/partner/actions/read-an-actions-current-step"},{"title":"Answer the current step (signature or wallet result)","description":"Posts the wallet's answer to the step that is `needs_signature` and returns the next step.\n\n- **Signature steps** (`eth_signTypedData_v4`, `personal_sign`): send `{\"signature\": \"0x…\"}` — exactly 65 bytes, hex. A JSON string in `result` is accepted as the signature too. Smart-account (EIP-1271) signatures are refused.\n- **`wallet_sendCalls` steps** (Predict.fun approvals): send `{\"result\": \u003cthe wallet_sendCalls return value>}`, or `{\"result\": [\"0xhash\", …]}` after sending `fallbackRequests` one by one. The step moves to `working` while Kairos waits for the approvals on chain.\n\n**Failures after a signature are not HTTP errors.** A venue refusal, an expired signing window, a rate limit or an ambiguous submission comes back as **`200`** with `status: \"failed\"`, `error`, and — when there is one — `errorCode`. Read `errorCode` before retrying: `ORDER_OUTCOME_UNKNOWN` and `CANCEL_OUTCOME_UNKNOWN` mean the venue may have acted, so read `/v3/wallets/{address}/orders` before placing again.\n\n**Safe to repeat.** Posting to a step that is no longer `needs_signature` returns the current step unchanged; a step is never run twice. A wrong signer gets `400` and the same step stays open for another try.\n\nThis call waits up to about 45 s for the step to settle, then returns `working`; keep polling `GET /v3/actions/{id}`.","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/actions/{id}","href":"/api-reference/partner/actions/answer-the-current-step-signature-or-wallet-result"}]},{"group":"Reads","pages":[{"title":"Read a wallet's readiness and balances per venue","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/wallets/{address}","href":"/api-reference/partner/reads/read-a-wallets-readiness-and-balances-per-venue"},{"title":"List a wallet's orders across venues","description":"Returns the wallet's orders on every venue, newest first. Requires proof of the wallet: send `Authorization: SIWE \u003ctoken>` from a `login` action (or an API key whose Kairos account owns the wallet).\n\nEach venue is read with the same `limit`; the rows are merged, sorted by `createdAt` descending and cut to `limit`. There is no cursor: this route returns at most 500 orders. When a venue cannot be read its rows are missing and `venueDetail.\u003cvenue>.error` says why.\n\nOrder rows carry no fee fields.","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/wallets/{address}/orders","href":"/api-reference/partner/reads/list-a-wallets-orders-across-venues"},{"title":"List a wallet's positions across venues","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/wallets/{address}/positions","href":"/api-reference/partner/reads/list-a-wallets-positions-across-venues"}]},{"group":"Fees (preview)","pages":[{"title":"Read a wallet's unpaid trading fees per venue","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/fees","href":"/api-reference/partner/fees-preview/read-a-wallets-unpaid-trading-fees-per-venue"},{"title":"Open a settlement for a wallet's unpaid fees on one venue","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/fees/settlements","href":"/api-reference/partner/fees-preview/open-a-settlement-for-a-wallets-unpaid-fees-on-one-venue"},{"title":"Read (and advance) a fee settlement","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/fees/settlements/{id}","href":"/api-reference/partner/fees-preview/read-and-advance-a-fee-settlement"},{"title":"Post the wallet's signature or transaction hash for a settlement","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/fees/settlements/{id}/answer","href":"/api-reference/partner/fees-preview/post-the-wallets-signature-or-transaction-hash-for-a-settlement"}]},{"group":"Trade plans (preview)","pages":[{"title":"Prepare a trade plan (one buy, optionally funded cross-chain)","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/trade-plans","href":"/api-reference/partner/trade-plans-preview/prepare-a-trade-plan-one-buy-optionally-funded-cross-chain"},{"title":"Read a trade plan","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/trade-plans/{id}","href":"/api-reference/partner/trade-plans-preview/read-a-trade-plan"},{"title":"Post signatures for a trade plan's requests","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/trade-plans/{id}/answers","href":"/api-reference/partner/trade-plans-preview/post-signatures-for-a-trade-plans-requests"},{"title":"Commit a trade plan for execution","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/trade-plans/{id}/execute","href":"/api-reference/partner/trade-plans-preview/commit-a-trade-plan-for-execution"},{"title":"Report client-submitted funding permits","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/trade-plans/{id}/reports","href":"/api-reference/partner/trade-plans-preview/report-client-submitted-funding-permits"}]},{"group":"On-chain intents (preview)","pages":[{"title":"Prepare a split, merge or redeem on a Polymarket deposit wallet","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/onchain-intents","href":"/api-reference/partner/on-chain-intents-preview/prepare-a-split-merge-or-redeem-on-a-polymarket-deposit-wallet"},{"title":"Read an on-chain intent","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json get /v3/onchain-intents/{id}","href":"/api-reference/partner/on-chain-intents-preview/read-an-on-chain-intent"},{"title":"Commit an on-chain intent with its signatures","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/onchain-intents/{id}/execute","href":"/api-reference/partner/on-chain-intents-preview/commit-an-on-chain-intent-with-its-signatures"},{"title":"Report the transaction hash of a client-submitted intent","deprecated":null,"version":null,"openapi":"/openapi/wallet-api.json post /v3/onchain-intents/{id}/reports","href":"/api-reference/partner/on-chain-intents-preview/report-the-transaction-hash-of-a-client-submitted-intent"}]}]}]},{"tab":"Trading API","pages":[{"title":"Trading API","href":"/guides/order-types"}]},{"tab":"Market Data","pages":[{"title":"Market Data","href":"/market-data/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference"}]}]},"basePath":"","title":"Read a wallet's readiness and balances per venue - Kairos","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BAvA99GL.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}