Status of the most recent bundle record: pending | submitted | confirmed | failed | withdrawn. Absent when no bundle has been built yet (or for non-EVM multiswaps).
Why the bundle failed; only set when bundleStatus is "failed"
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Houdini documentation","colors":{"primary":"#A955F7","light":"#A955F7","dark":"#6D19BB"},"logo":{"light":"https://mintcdn.com/houdini/1qxWMAnpbp51-Yh3/logo/wordmark-black.svg?fit=max\u0026auto=format\u0026n=1qxWMAnpbp51-Yh3\u0026q=85\u0026s=835e11b4170923b979bdf1ba4cb302b8","dark":"https://mintcdn.com/houdini/1qxWMAnpbp51-Yh3/logo/wordmark-white.svg?fit=max\u0026auto=format\u0026n=1qxWMAnpbp51-Yh3\u0026q=85\u0026s=93f5cefb108d85fa5bf5397fa325f004"},"favicon":"https://mintcdn.com/houdini/J_K5qV0WwrgjImSc/favicon.svg?fit=max\u0026auto=format\u0026n=J_K5qV0WwrgjImSc\u0026q=85\u0026s=590f308a0168b015c97bd34e59347cc6","appearance":{"default":"dark"},"background":{"decoration":"gradient"},"footer":{"socials":{"x":"https://x.com/HoudiniSwap","github":"https://github.com/HoudiniSwap"}},"fonts":{"family":"Inter"},"integrations":{"posthog":{"apiKey":"phc_w4HfQH4UqlUBDknwuvTDJMJLJ9CpshxIwzH3eZFa32c","apiHost":"https://api4.houdiniswap.com"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"houdini","hasAudioNarration":false,"actualSubdomain":"houdini","customDomains":["docs.houdiniswap.com"],"gitSource":{"type":"github","owner":"houdiniswap","repo":"docs-v2","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf551c362b83303f22ca3e","collectionId":"21cee0d4-33ce-4bea-ac75-bfa3750b351e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf551c362b83303f22ca3e"},"entitlements":{},"buildId":"6adf551c362b83303f22ca3e","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API V2 Reference ","count":41},{"language":"default","tag":"Developer Hub","count":23},{"language":"default","tag":"Overview","count":16},{"language":"default","tag":"Multi-Exchange","count":9},{"language":"default","tag":"On-chain DEX or Bridge","count":9},{"language":"default","tag":"Partner Account","count":9},{"language":"default","tag":"Swap Flow Guides","count":8},{"language":"default","tag":"Private and Standard Swaps","count":5},{"language":"default","tag":"Core Concepts","count":5},{"language":"default","tag":"Guides","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/multi-exchange/get-batch-status","slug":"/api-reference/multi-exchange/get-batch-status","pageMetadata":{"title":"Get batch status","description":"Returns the status of all orders belonging to a multi exchange group.","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /exchanges/multi/{multiId}","href":"/api-reference/multi-exchange/get-batch-status","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Returns the status of all orders belonging to a multi exchange group.\"\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":"Get batch status","description":"Returns the status of all orders belonging to a multi exchange group.","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /exchanges/multi/{multiId}","href":"/api-reference/multi-exchange/get-batch-status","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"GetMultiExchangeStatus","responses":{"200":"2f9742b2-a4bb-4c55-9a53-ee85b8ce8711","401":"0f9626b6-c650-43b9-a2db-a7682bc19269","402":"6dfb48ab-eb9a-4e61-be67-a1b1f1bec8cd","403":"8b167d70-d8b0-41f0-8213-c7196cc32bf1","404":"228f2231-829d-4610-ab32-9f6f82713f29","422":"d0f5d306-1973-4c7b-b612-87df5a16ba61","429":"6ad65d0c-2256-4ac2-9404-bdfa12fd36ae","500":"b4459f9d-adb9-46b8-a8be-8e330bf20305"},"description":"Returns the status of all orders belonging to a multi exchange group.","summary":"Get batch status","tags":["Multi-Exchange"],"security":["cf84274e-e25c-4070-8ef1-e2bb5351c4e7"],"parameters":["32485808-ad07-4e82-b9c5-1d2c04d784fe"],"method":"get","type":"path","servers":["8ebb4976-baf3-411c-8a1c-cd4d2c55015e"],"path":"/exchanges/multi/{multiId}","baseUrlOptions":["http://localhost:3003/v2"],"title":"Get batch status","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"32485808-ad07-4e82-b9c5-1d2c04d784fe":{"description":"The multi exchange group ID","in":"path","name":"multiId","required":true,"schema":{"type":"string","maxLength":64,"isRequired":true,"description":"The multi exchange group ID","uniqueKey":"","typeLabel":"string"},"example":"mx8Qa1"}},"responses":{"2f9742b2-a4bb-4c55-9a53-ee85b8ce8711":{"description":"Success","content":{"application/json":{"schema":{"description":"Status of every swap in the group","properties":{"multiId":{"type":"string","isRequired":true,"uniqueKey":"multiId","typeLabel":"string"},"orders":{"items":{"oneOf":[{"type":"object","required":["houdiniId","expires","displayStatus","status","eta","inAmount","inSymbol","outAmount","outSymbol","inAmountUsd","outAmountUsd","inToken","outToken","receiverAddress","anonymous","isDex","actionRequired","inStatus","created","inCreated","notified","id"],"properties":{"houdiniId":{"type":"string","description":"Public order id. Use it with Get order details.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.houdiniId","typeLabel":"string"},"expires":{"type":"string","format":"date-time","description":"Deposit deadline — send the funds by this time or the order expires. Not a rate lock.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.expires","typeLabel":"string\u003cdate-time>"},"displayStatus":{"description":"Human-readable state for your UI, derived from `status` and the leg statuses. Prefer this over `status`.","enum":["WAITING_FOR_DEPOSIT","DEPOSIT_DETECTED","EXCHANGE_IN_PROGRESS","SENDING_TO_INTERMEDIARY","REACHED_INTERMEDIARY","INITIATING_SECOND_EXCHANGE","SECOND_EXCHANGE_IN_PROGRESS","SENDING_TO_RECEIVER","SWAP_COMPLETED","EXPIRED","FAILED","REFUNDED","DELETED"],"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.displayStatus","typeLabel":"enum\u003cstring>"},"status":{"description":"Numeric order state. For anything user-facing prefer `displayStatus`.\n\n- `-2` initializing\n- `-1` created\n- `0` waiting for your deposit\n- `1` confirming your deposit\n- `2` exchanging\n- `3` anonymizing — private swaps only\n- `4` finished\n- `5` expired\n- `6` failed\n- `7` refunded\n- `8` deleted","enum":[-2,-1,0,1,2,3,4,5,6,7,8],"type":"number","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.status","typeLabel":"enum\u003cnumber>"},"eta":{"type":"number","format":"double","description":"ETA time, depending on swap","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.eta","typeLabel":"number\u003cdouble>"},"inAmount":{"type":"number","format":"double","description":"Amount to deposit, in the input token.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inAmount","typeLabel":"number\u003cdouble>"},"inSymbol":{"type":"string","description":"Symbol of the input token, e.g. `BTC`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inSymbol","typeLabel":"string"},"outAmount":{"type":"number","format":"double","description":"Amount you receive, in the output token.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outAmount","typeLabel":"number\u003cdouble>"},"outSymbol":{"type":"string","description":"Symbol of the output token, e.g. `ETH`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outSymbol","typeLabel":"string"},"inAmountUsd":{"type":"number","format":"double","description":"USD value of the input amount at order creation time.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inAmountUsd","typeLabel":"number\u003cdouble>"},"outAmountUsd":{"type":"number","format":"double","description":"`outAmount` valued in USD.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outAmountUsd","typeLabel":"number\u003cdouble>"},"inToken":{"properties":{"icon":{"type":"string","description":"Token icon URL.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.icon","typeLabel":"string"},"id":{"type":"string","description":"The token id. Pass this as `from` / `to` when quoting.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.id","typeLabel":"string"},"chain":{"type":"string","description":"Chain short name, e.g. `ethereum`. Matches `shortName` on `chainData`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chain","typeLabel":"string"},"decimals":{"type":"integer","format":"int32","description":"On-chain decimals. Amounts in this API are decimals in the token's own units, so you only need this for on-chain work.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.decimals","typeLabel":"integer\u003cint32>"},"symbol":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.symbol","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.name","typeLabel":"string"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.created","typeLabel":"string\u003cdate-time>"},"chainData":{"properties":{"icon":{"type":"string","description":"Chain icon URL.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.icon","typeLabel":"string"},"addressValidation":{"type":"string","description":"Regex a wallet address on this chain must match. Use it to validate `addressTo` before creating an exchange.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.addressValidation","typeLabel":"string"},"tokenAddressValidation":{"type":"string","description":"Regex a token contract address on this chain must match.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.tokenAddressValidation","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.id","typeLabel":"string"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.created","typeLabel":"string\u003cdate-time>"},"name":{"type":"string","description":"Readable chain name, e.g. `Bitcoin`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.name","typeLabel":"string"},"shortName":{"type":"string","description":"The chain's identifier. Pass this wherever an endpoint takes a chain, e.g. `ethereum`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.shortName","typeLabel":"string"},"explorerUrl":{"type":"string","description":"Template for a transaction link — substitute `{txHash}`, e.g. `https://blockchair.com/bitcoin/transaction/{txHash}`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.explorerUrl","typeLabel":"string"},"addressUrl":{"type":"string","description":"Template for an address link — substitute `{address}`, e.g. `https://blockchair.com/bitcoin/address/{address}`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.addressUrl","typeLabel":"string"},"priority":{"type":"number","format":"double","description":"Display order, lower sorts first.\n* `0` is the highest priority and `99999` the lowest.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.priority","typeLabel":"number\u003cdouble>"},"kind":{"type":"string","description":"Chain family, e.g. `evm`, `sol`, `bitcoin`, `xmr`, `ltc`. Determines the address format and which on-chain steps a DEX swap needs.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.kind","typeLabel":"string"},"enabled":{"type":"boolean","description":"False when the chain is temporarily not routing swaps.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.enabled","typeLabel":"boolean"},"shortNameV1":{"type":"string","description":"The chain's name in the v1 API. Use `shortName` instead.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.shortNameV1","typeLabel":"string"},"modified":{"type":"string","format":"date-time","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.modified","typeLabel":"string\u003cdate-time>"},"memoNeeded":{"oneOf":[{"type":"boolean","description":"True when an address on this chain needs a memo or destination tag, e.g. XRP or TON. Send it as `destinationTag` for the payout address, or `refundExtraId` for the refund address.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.memoNeeded.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"True when an address on this chain needs a memo or destination tag, e.g. XRP or TON. Send it as `destinationTag` for the payout address, or `refundExtraId` for the refund address.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.memoNeeded.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.memoNeeded","typeLabel":"boolean | null"},"hashUrl":{"type":"string","description":"Explorer link for a transaction hash, when it differs from `explorerUrl`.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.hashUrl","typeLabel":"string"},"chainId":{"oneOf":[{"type":"number","format":"double","description":"EVM chain id, e.g. `1` for Ethereum. Null on non-EVM chains.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.chainId.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"EVM chain id, e.g. `1` for Ethereum. Null on non-EVM chains.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.chainId.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData.chainId","typeLabel":"number\u003cdouble> | null"}},"required":["icon","addressValidation","tokenAddressValidation","id","created","name","shortName","explorerUrl","addressUrl","priority","kind","enabled","shortNameV1"],"type":"object","additionalProperties":false,"description":"The chain this token lives on.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.chainData","typeLabel":"object"},"enabled":{"type":"boolean","description":"False when the token is temporarily not swappable.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.enabled","typeLabel":"boolean"},"address":{"oneOf":[{"type":"string","description":"Contract address. Null for a chain's native coin — see `mainnet`.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.address.oneOf.0","typeLabel":"string"},{"type":"null","description":"Contract address. Null for a chain's native coin — see `mainnet`.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.address.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.address","typeLabel":"string | null"},"modified":{"type":"string","format":"date-time","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.modified","typeLabel":"string\u003cdate-time>"},"description":{"oneOf":[{"type":"string","description":"Token description from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Token description from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.description","typeLabel":"string | null"},"mainnet":{"type":"boolean","description":"True for the chain's native coin (e.g. ETH on Ethereum), false for an issued token (e.g. USDT). Not related to mainnet vs testnet.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.mainnet","typeLabel":"boolean"},"unverified":{"type":"boolean","description":"True when we have not reviewed this token yet — check `securityScan` before using it.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.unverified","typeLabel":"boolean"},"hasDex":{"type":"boolean","description":"True when the token can be swapped on DEX routes.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.hasDex","typeLabel":"boolean"},"hasCex":{"type":"boolean","description":"True when the token can be swapped on private and standard routes.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.hasCex","typeLabel":"boolean"},"hasBundler":{"type":"boolean","description":"True when the bundler can fund this token — paying for a whole multi-exchange group with one transaction instead of a deposit per order. Available on Solana, and on supported EVM chains.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.hasBundler","typeLabel":"boolean"},"hasSelfPrivate":{"type":"boolean","description":"True when the token supports self-to-self private swaps — send it and receive the same token at another address, with no on-chain link.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.hasSelfPrivate","typeLabel":"boolean"},"cexTokenId":{"type":"string","description":"The token's identifier on centralized exchanges.","default":"","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.cexTokenId","typeLabel":"string"},"rank":{"oneOf":[{"type":"number","format":"double","description":"CoinGecko market-cap rank. Null when unranked.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.rank.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"CoinGecko market-cap rank. Null when unranked.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.rank.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.rank","typeLabel":"number\u003cdouble> | null"},"cgId":{"oneOf":[{"type":"string","description":"CoinGecko id for this token.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.cgId.oneOf.0","typeLabel":"string"},{"type":"null","description":"CoinGecko id for this token.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.cgId.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.cgId","typeLabel":"string | null"},"marketCapChange24h":{"type":"number","format":"double","description":"24h market cap change percentage from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.marketCapChange24h","typeLabel":"number\u003cdouble>"},"circulatingSupply":{"type":"number","format":"double","description":"Token circulating supply from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.circulatingSupply","typeLabel":"number\u003cdouble>"},"price":{"oneOf":[{"type":"number","format":"double","description":"Current price in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.price.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Current price in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.price.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.price","typeLabel":"number\u003cdouble> | null"},"marketCap":{"oneOf":[{"type":"number","format":"double","description":"Market cap in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.marketCap.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Market cap in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.marketCap.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.marketCap","typeLabel":"number\u003cdouble> | null"},"volume":{"oneOf":[{"type":"number","format":"double","description":"24h trading volume in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.volume.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"24h trading volume in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.volume","typeLabel":"number\u003cdouble> | null"},"fdv":{"oneOf":[{"type":"number","format":"double","description":"Fully diluted valuation in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.fdv.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Fully diluted valuation in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.fdv.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.fdv","typeLabel":"number\u003cdouble> | null"},"change":{"oneOf":[{"type":"number","format":"double","description":"24h price change, as a percentage.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.change.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"24h price change, as a percentage.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.change.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.change","typeLabel":"number\u003cdouble> | null"},"priority":{"oneOf":[{"type":"number","format":"double","description":"Display order — lower sorts first. Unrelated to `rank`.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.priority.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Display order — lower sorts first. Unrelated to `rank`.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.priority.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.priority","typeLabel":"number\u003cdouble> | null"},"warningMessage":{"type":"string","description":"Warning to show the user before swapping this token.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.warningMessage","typeLabel":"string"},"securityScan":{"properties":{"scannedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.scannedAt","typeLabel":"string\u003cdate-time>"},"expiresAt":{"type":"string","format":"date-time","description":"When this verdict goes stale and the token should be re-scanned.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.expiresAt","typeLabel":"string\u003cdate-time>"},"provider":{"type":"string","description":"Screening provider that produced this verdict.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.provider","typeLabel":"string"},"resultType":{"description":"Security verdict for a token. Branch on this rather than on `features`.\n\n- `Benign` — no issues found\n- `Warning` — show a warning before swapping\n- `Malicious` — do not swap\n- `Unscanned` — could not be screened. Screening is fail-open, so this never blocks a swap on its own.","enum":["Benign","Warning","Malicious","Unscanned"],"type":"string","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.resultType","typeLabel":"enum\u003cstring>"},"providerResultType":{"type":"string","description":"The provider's own `result_type` string, kept unmapped so a verdict we don't model yet is still visible to support instead of being erased.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.providerResultType","typeLabel":"string"},"maliciousScore":{"type":"number","format":"double","description":"Provider `malicious_score`, 0..1. Arrives as a string; stored as a number.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.maliciousScore","typeLabel":"number\u003cdouble>"},"features":{"items":{"description":"One finding from the security scan, for display only. The list of possible findings changes over time, so branch on `resultType` instead.","properties":{"featureId":{"type":"string","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.features.items.[INDEX].featureId","typeLabel":"string"},"type":{"type":"string","description":"Provider severity for this feature: Malicious | Warning | Benign | Info.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.features.items.[INDEX].type","typeLabel":"string"},"description":{"type":"string","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.features.items.[INDEX].description","typeLabel":"string"}},"type":"object","additionalProperties":false,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.features.items.[INDEX]","typeLabel":"object"},"type":"array","default":[],"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.features","typeLabel":"object[]"},"unscannedReason":{"description":"Why a token ended up `UNSCANNED`. Diagnostic only — never a branching input.","enum":["NOT_CONFIGURED","UNSUPPORTED_CHAIN","NATIVE_TOKEN","RATE_LIMITED","TIMEOUT","PROVIDER_ERROR","NO_RESULT","SCAN_PENDING","NOT_A_TOKEN","UNKNOWN_RESULT_TYPE"],"type":"string","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.unscannedReason","typeLabel":"enum\u003cstring>"},"unscannedDetail":{"type":"string","description":"Free-text detail behind `unscannedReason` (provider message, status…).","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan.unscannedDetail","typeLabel":"string"}},"required":["scannedAt","expiresAt"],"type":"object","additionalProperties":false,"description":"Latest security verdict for this token. Absent until the token has been used in a swap at least once.","uniqueKey":"orders.items.[INDEX].oneOf.0.inToken.securityScan","typeLabel":"object"}},"required":["icon","id","chain","decimals","symbol","name","created","chainData","enabled"],"type":"object","additionalProperties":false,"description":"Token you sent.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inToken","typeLabel":"object"},"outToken":{"properties":{"icon":{"type":"string","description":"Token icon URL.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.icon","typeLabel":"string"},"id":{"type":"string","description":"The token id. Pass this as `from` / `to` when quoting.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.id","typeLabel":"string"},"chain":{"type":"string","description":"Chain short name, e.g. `ethereum`. Matches `shortName` on `chainData`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chain","typeLabel":"string"},"decimals":{"type":"integer","format":"int32","description":"On-chain decimals. Amounts in this API are decimals in the token's own units, so you only need this for on-chain work.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.decimals","typeLabel":"integer\u003cint32>"},"symbol":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.symbol","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.name","typeLabel":"string"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.created","typeLabel":"string\u003cdate-time>"},"chainData":{"properties":{"icon":{"type":"string","description":"Chain icon URL.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.icon","typeLabel":"string"},"addressValidation":{"type":"string","description":"Regex a wallet address on this chain must match. Use it to validate `addressTo` before creating an exchange.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.addressValidation","typeLabel":"string"},"tokenAddressValidation":{"type":"string","description":"Regex a token contract address on this chain must match.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.tokenAddressValidation","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.id","typeLabel":"string"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.created","typeLabel":"string\u003cdate-time>"},"name":{"type":"string","description":"Readable chain name, e.g. `Bitcoin`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.name","typeLabel":"string"},"shortName":{"type":"string","description":"The chain's identifier. Pass this wherever an endpoint takes a chain, e.g. `ethereum`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.shortName","typeLabel":"string"},"explorerUrl":{"type":"string","description":"Template for a transaction link — substitute `{txHash}`, e.g. `https://blockchair.com/bitcoin/transaction/{txHash}`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.explorerUrl","typeLabel":"string"},"addressUrl":{"type":"string","description":"Template for an address link — substitute `{address}`, e.g. `https://blockchair.com/bitcoin/address/{address}`.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.addressUrl","typeLabel":"string"},"priority":{"type":"number","format":"double","description":"Display order, lower sorts first.\n* `0` is the highest priority and `99999` the lowest.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.priority","typeLabel":"number\u003cdouble>"},"kind":{"type":"string","description":"Chain family, e.g. `evm`, `sol`, `bitcoin`, `xmr`, `ltc`. Determines the address format and which on-chain steps a DEX swap needs.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.kind","typeLabel":"string"},"enabled":{"type":"boolean","description":"False when the chain is temporarily not routing swaps.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.enabled","typeLabel":"boolean"},"shortNameV1":{"type":"string","description":"The chain's name in the v1 API. Use `shortName` instead.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.shortNameV1","typeLabel":"string"},"modified":{"type":"string","format":"date-time","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.modified","typeLabel":"string\u003cdate-time>"},"memoNeeded":{"oneOf":[{"type":"boolean","description":"True when an address on this chain needs a memo or destination tag, e.g. XRP or TON. Send it as `destinationTag` for the payout address, or `refundExtraId` for the refund address.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.memoNeeded.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"True when an address on this chain needs a memo or destination tag, e.g. XRP or TON. Send it as `destinationTag` for the payout address, or `refundExtraId` for the refund address.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.memoNeeded.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.memoNeeded","typeLabel":"boolean | null"},"hashUrl":{"type":"string","description":"Explorer link for a transaction hash, when it differs from `explorerUrl`.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.hashUrl","typeLabel":"string"},"chainId":{"oneOf":[{"type":"number","format":"double","description":"EVM chain id, e.g. `1` for Ethereum. Null on non-EVM chains.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.chainId.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"EVM chain id, e.g. `1` for Ethereum. Null on non-EVM chains.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.chainId.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData.chainId","typeLabel":"number\u003cdouble> | null"}},"required":["icon","addressValidation","tokenAddressValidation","id","created","name","shortName","explorerUrl","addressUrl","priority","kind","enabled","shortNameV1"],"type":"object","additionalProperties":false,"description":"The chain this token lives on.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.chainData","typeLabel":"object"},"enabled":{"type":"boolean","description":"False when the token is temporarily not swappable.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.enabled","typeLabel":"boolean"},"address":{"oneOf":[{"type":"string","description":"Contract address. Null for a chain's native coin — see `mainnet`.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.address.oneOf.0","typeLabel":"string"},{"type":"null","description":"Contract address. Null for a chain's native coin — see `mainnet`.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.address.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.address","typeLabel":"string | null"},"modified":{"type":"string","format":"date-time","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.modified","typeLabel":"string\u003cdate-time>"},"description":{"oneOf":[{"type":"string","description":"Token description from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Token description from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.description","typeLabel":"string | null"},"mainnet":{"type":"boolean","description":"True for the chain's native coin (e.g. ETH on Ethereum), false for an issued token (e.g. USDT). Not related to mainnet vs testnet.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.mainnet","typeLabel":"boolean"},"unverified":{"type":"boolean","description":"True when we have not reviewed this token yet — check `securityScan` before using it.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.unverified","typeLabel":"boolean"},"hasDex":{"type":"boolean","description":"True when the token can be swapped on DEX routes.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.hasDex","typeLabel":"boolean"},"hasCex":{"type":"boolean","description":"True when the token can be swapped on private and standard routes.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.hasCex","typeLabel":"boolean"},"hasBundler":{"type":"boolean","description":"True when the bundler can fund this token — paying for a whole multi-exchange group with one transaction instead of a deposit per order. Available on Solana, and on supported EVM chains.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.hasBundler","typeLabel":"boolean"},"hasSelfPrivate":{"type":"boolean","description":"True when the token supports self-to-self private swaps — send it and receive the same token at another address, with no on-chain link.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.hasSelfPrivate","typeLabel":"boolean"},"cexTokenId":{"type":"string","description":"The token's identifier on centralized exchanges.","default":"","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.cexTokenId","typeLabel":"string"},"rank":{"oneOf":[{"type":"number","format":"double","description":"CoinGecko market-cap rank. Null when unranked.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.rank.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"CoinGecko market-cap rank. Null when unranked.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.rank.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.rank","typeLabel":"number\u003cdouble> | null"},"cgId":{"oneOf":[{"type":"string","description":"CoinGecko id for this token.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.cgId.oneOf.0","typeLabel":"string"},{"type":"null","description":"CoinGecko id for this token.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.cgId.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.cgId","typeLabel":"string | null"},"marketCapChange24h":{"type":"number","format":"double","description":"24h market cap change percentage from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.marketCapChange24h","typeLabel":"number\u003cdouble>"},"circulatingSupply":{"type":"number","format":"double","description":"Token circulating supply from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.circulatingSupply","typeLabel":"number\u003cdouble>"},"price":{"oneOf":[{"type":"number","format":"double","description":"Current price in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.price.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Current price in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.price.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.price","typeLabel":"number\u003cdouble> | null"},"marketCap":{"oneOf":[{"type":"number","format":"double","description":"Market cap in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.marketCap.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Market cap in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.marketCap.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.marketCap","typeLabel":"number\u003cdouble> | null"},"volume":{"oneOf":[{"type":"number","format":"double","description":"24h trading volume in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.volume.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"24h trading volume in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.volume","typeLabel":"number\u003cdouble> | null"},"fdv":{"oneOf":[{"type":"number","format":"double","description":"Fully diluted valuation in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.fdv.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Fully diluted valuation in USD, from CoinGecko.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.fdv.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.fdv","typeLabel":"number\u003cdouble> | null"},"change":{"oneOf":[{"type":"number","format":"double","description":"24h price change, as a percentage.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.change.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"24h price change, as a percentage.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.change.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.change","typeLabel":"number\u003cdouble> | null"},"priority":{"oneOf":[{"type":"number","format":"double","description":"Display order — lower sorts first. Unrelated to `rank`.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.priority.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Display order — lower sorts first. Unrelated to `rank`.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.priority.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.priority","typeLabel":"number\u003cdouble> | null"},"warningMessage":{"type":"string","description":"Warning to show the user before swapping this token.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.warningMessage","typeLabel":"string"},"securityScan":{"properties":{"scannedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.scannedAt","typeLabel":"string\u003cdate-time>"},"expiresAt":{"type":"string","format":"date-time","description":"When this verdict goes stale and the token should be re-scanned.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.expiresAt","typeLabel":"string\u003cdate-time>"},"provider":{"type":"string","description":"Screening provider that produced this verdict.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.provider","typeLabel":"string"},"resultType":{"description":"Security verdict for a token. Branch on this rather than on `features`.\n\n- `Benign` — no issues found\n- `Warning` — show a warning before swapping\n- `Malicious` — do not swap\n- `Unscanned` — could not be screened. Screening is fail-open, so this never blocks a swap on its own.","enum":["Benign","Warning","Malicious","Unscanned"],"type":"string","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.resultType","typeLabel":"enum\u003cstring>"},"providerResultType":{"type":"string","description":"The provider's own `result_type` string, kept unmapped so a verdict we don't model yet is still visible to support instead of being erased.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.providerResultType","typeLabel":"string"},"maliciousScore":{"type":"number","format":"double","description":"Provider `malicious_score`, 0..1. Arrives as a string; stored as a number.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.maliciousScore","typeLabel":"number\u003cdouble>"},"features":{"items":{"description":"One finding from the security scan, for display only. The list of possible findings changes over time, so branch on `resultType` instead.","properties":{"featureId":{"type":"string","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.features.items.[INDEX].featureId","typeLabel":"string"},"type":{"type":"string","description":"Provider severity for this feature: Malicious | Warning | Benign | Info.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.features.items.[INDEX].type","typeLabel":"string"},"description":{"type":"string","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.features.items.[INDEX].description","typeLabel":"string"}},"type":"object","additionalProperties":false,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.features.items.[INDEX]","typeLabel":"object"},"type":"array","default":[],"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.features","typeLabel":"object[]"},"unscannedReason":{"description":"Why a token ended up `UNSCANNED`. Diagnostic only — never a branching input.","enum":["NOT_CONFIGURED","UNSUPPORTED_CHAIN","NATIVE_TOKEN","RATE_LIMITED","TIMEOUT","PROVIDER_ERROR","NO_RESULT","SCAN_PENDING","NOT_A_TOKEN","UNKNOWN_RESULT_TYPE"],"type":"string","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.unscannedReason","typeLabel":"enum\u003cstring>"},"unscannedDetail":{"type":"string","description":"Free-text detail behind `unscannedReason` (provider message, status…).","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan.unscannedDetail","typeLabel":"string"}},"required":["scannedAt","expiresAt"],"type":"object","additionalProperties":false,"description":"Latest security verdict for this token. Absent until the token has been used in a swap at least once.","uniqueKey":"orders.items.[INDEX].oneOf.0.outToken.securityScan","typeLabel":"object"}},"required":["icon","id","chain","decimals","symbol","name","created","chainData","enabled"],"type":"object","additionalProperties":false,"description":"Token you received.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outToken","typeLabel":"object"},"receiverAddress":{"type":"string","description":"Wallet the payout is sent to.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.receiverAddress","typeLabel":"string"},"anonymous":{"type":"boolean","description":"True when this order took the private two-leg route.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.anonymous","typeLabel":"boolean"},"isDex":{"type":"boolean","description":"True when the order executed on a DEX route.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.isDex","typeLabel":"boolean"},"actionRequired":{"type":"boolean","description":"True when the order failed but your deposit had already arrived — contact support to recover the funds.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.actionRequired","typeLabel":"boolean"},"inStatus":{"description":"Progress of the incoming leg — your deposit reaching the provider. For reference and debugging; drive your UI from `displayStatus` instead.\n\n- `0` created\n- `1` waiting for the deposit\n- `2` deposit seen, waiting for confirmations\n- `3` exchanging\n- `4` sending funds on\n- `5` finished\n- `6` failed\n- `7` refunded\n- `8` on hold for a compliance check\n- `9` expired — no deposit arrived in time\n- `10` finished through a fallback payout","enum":[0,1,2,3,4,5,6,7,8,9,10],"type":"number","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inStatus","typeLabel":"enum\u003cnumber>"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.created","typeLabel":"string\u003cdate-time>"},"inCreated":{"type":"string","format":"date-time","description":"When the incoming leg was created.","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inCreated","typeLabel":"string\u003cdate-time>"},"notified":{"type":"boolean","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.notified","typeLabel":"boolean"},"id":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.id","typeLabel":"string"},"depositTag":{"type":"string","description":"Memo/tag that must be sent with the deposit, on chains that use one (XRP, TON, Stellar, …).\n\nShow it to your user next to `depositAddress` — a deposit sent without it may not be credited.","uniqueKey":"orders.items.[INDEX].oneOf.0.depositTag","typeLabel":"string"},"refundAddress":{"type":"string","description":"Refund address recorded for this order.","uniqueKey":"orders.items.[INDEX].oneOf.0.refundAddress","typeLabel":"string"},"intermediateRefundAddress":{"type":"string","description":"The `intermediateRefundAddress` sent at [Create exchange](/api-reference/private-and-standard-swaps/create-exchange): where the intermediate hop's funds are returned if that hop cannot complete. Separate from `refundAddress`, which covers the deposit leg.\n\nPresent only on orders whose route settles through an on-chain hop — those quoted with `requiresIntermediateRefundAddress: true`.","uniqueKey":"orders.items.[INDEX].oneOf.0.intermediateRefundAddress","typeLabel":"string"},"fixed":{"type":"boolean","description":"True when the order settled at a locked rate.","uniqueKey":"orders.items.[INDEX].oneOf.0.fixed","typeLabel":"boolean"},"express":{"type":"boolean","description":"True when this swap ran on a route expected to settle faster than usual. Absent when it did not.","uniqueKey":"orders.items.[INDEX].oneOf.0.express","typeLabel":"boolean"},"nonRefundable":{"type":"boolean","description":"True when the deposit can no longer be refunded.","uniqueKey":"orders.items.[INDEX].oneOf.0.nonRefundable","typeLabel":"boolean"},"rerouted":{"type":"boolean","description":"True when the route that executed is not the one that was quoted, because the quoted route failed and a fallback was used. The amounts may differ from the quote — compare `inAmount` against `quotedInAmount` and `outAmount` against `quotedOutAmount`.","uniqueKey":"orders.items.[INDEX].oneOf.0.rerouted","typeLabel":"boolean"},"quotedInAmount":{"type":"number","format":"double","description":"The deposit amount originally quoted, present only when the order was rerouted. `inAmount` is what the fallback route actually asks for; on an exact-out order this is the side that moves.","uniqueKey":"orders.items.[INDEX].oneOf.0.quotedInAmount","typeLabel":"number\u003cdouble>"},"quotedOutAmount":{"type":"number","format":"double","description":"The payout originally quoted, present only when the order was rerouted. `outAmount` is what the fallback route will actually pay; on an exact-in order this is the side that moves.","uniqueKey":"orders.items.[INDEX].oneOf.0.quotedOutAmount","typeLabel":"number\u003cdouble>"},"refundHash":{"type":"string","description":"Hash of the transaction that returned your funds. Absent unless the order refunded.","uniqueKey":"orders.items.[INDEX].oneOf.0.refundHash","typeLabel":"string"},"refundChain":{"type":"string","description":"Chain the refund was returned on, e.g. \"bsc\". Refunds are returned on the input chain.","uniqueKey":"orders.items.[INDEX].oneOf.0.refundChain","typeLabel":"string"},"refundAmount":{"type":"number","format":"double","description":"Amount returned to you, after the provider's refund fee. Absent when the exchange did not report one.","uniqueKey":"orders.items.[INDEX].oneOf.0.refundAmount","typeLabel":"number\u003cdouble>"},"modified":{"type":"string","format":"date-time","uniqueKey":"orders.items.[INDEX].oneOf.0.modified","typeLabel":"string\u003cdate-time>"},"metadata":{"description":"Extra data from the provider. The shape depends on the route.","uniqueKey":"orders.items.[INDEX].oneOf.0.metadata","typeLabel":"any"},"receiverTag":{"oneOf":[{"type":"string","description":"Memo/tag required when receiving funds for assets that use one","uniqueKey":"orders.items.[INDEX].oneOf.0.receiverTag.oneOf.0","typeLabel":"string"},{"type":"null","description":"Memo/tag required when receiving funds for assets that use one","uniqueKey":"orders.items.[INDEX].oneOf.0.receiverTag.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.receiverTag","typeLabel":"string | null"},"swapName":{"type":"string","description":"Name of the exchange handling the deposit leg. Omitted on private orders, which withhold the provider, and on multiswap orders that have not yet been assigned one.","uniqueKey":"orders.items.[INDEX].oneOf.0.swapName","typeLabel":"string"},"multiId":{"type":"string","description":"Multi ID. Present only on orders created as part of a batch.","uniqueKey":"orders.items.[INDEX].oneOf.0.multiId","typeLabel":"string"},"outStatus":{"description":"Status of the payout leg. Present only on private orders — public orders settle in a single leg and never carry one. For reference and debugging; drive your UI from `displayStatus` instead.\n\n- `0` created\n- `1` waiting for the deposit\n- `2` deposit seen, waiting for confirmations\n- `3` exchanging\n- `4` sending funds on\n- `5` finished\n- `6` failed\n- `7` refunded\n- `8` on hold for a compliance check\n- `9` expired — no deposit arrived in time\n- `10` finished through a fallback payout","enum":[0,1,2,3,4,5,6,7,8,9,10],"type":"number","uniqueKey":"orders.items.[INDEX].oneOf.0.outStatus","typeLabel":"enum\u003cnumber>"},"transactionHash":{"oneOf":[{"type":"string","description":"Hash of the transaction that delivered the result of the order. Use this field to show or link the payout — it works the same on standard and private orders.\n\n- Finished order: the payout to `receiverAddress`.\n- Refunded order: the transaction that returned your funds.\n- Otherwise: empty until the payout is sent.","uniqueKey":"orders.items.[INDEX].oneOf.0.transactionHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Hash of the transaction that delivered the result of the order. Use this field to show or link the payout — it works the same on standard and private orders.\n\n- Finished order: the payout to `receiverAddress`.\n- Refunded order: the transaction that returned your funds.\n- Otherwise: empty until the payout is sent.","uniqueKey":"orders.items.[INDEX].oneOf.0.transactionHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.transactionHash","typeLabel":"string | null"},"hashUrl":{"type":"string","description":"Block explorer link for `transactionHash`. Empty until `transactionHash` is set, or when the chain has no explorer.","uniqueKey":"orders.items.[INDEX].oneOf.0.hashUrl","typeLabel":"string"},"inHash":{"oneOf":[{"type":"string","description":"Hash of your deposit transaction. Empty until the deposit is seen.","uniqueKey":"orders.items.[INDEX].oneOf.0.inHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Hash of your deposit transaction. Empty until the deposit is seen.","uniqueKey":"orders.items.[INDEX].oneOf.0.inHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inHash","typeLabel":"string | null"},"inTransactionInHash":{"oneOf":[{"type":"string","description":"Deprecated. Use `inHash`.\n\nHash of your deposit transaction. Empty until the deposit is seen.","deprecated":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inTransactionInHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Deprecated. Use `inHash`.\n\nHash of your deposit transaction. Empty until the deposit is seen.","deprecated":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.inTransactionInHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.inTransactionInHash","typeLabel":"string | null"},"outTransactionOutHash":{"oneOf":[{"type":"string","description":"Deprecated. Use `transactionHash`.\n\nPayout hash of the second leg of a private order. Empty on standard orders, and on private orders until that leg has paid out.","deprecated":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outTransactionOutHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Deprecated. Use `transactionHash`.\n\nPayout hash of the second leg of a private order. Empty on standard orders, and on private orders until that leg has paid out.","deprecated":true,"uniqueKey":"orders.items.[INDEX].oneOf.0.outTransactionOutHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"orders.items.[INDEX].oneOf.0.outTransactionOutHash","typeLabel":"string | null"},"orderFinishedReceived":{"type":"string","format":"date-time","description":"When the order reached a final state. Stamped only when an order finishes — orders that expire, fail or refund never receive one.","uniqueKey":"orders.items.[INDEX].oneOf.0.orderFinishedReceived","typeLabel":"string\u003cdate-time>"},"depositAddress":{"type":"string","description":"The deposit address where the user must send funds. Omitted on multiswap orders whose per-order setup did not complete.","uniqueKey":"orders.items.[INDEX].oneOf.0.depositAddress","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"orders.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Minimal order tombstone returned for stale or deleted multi-exchange orders","required":["houdiniId","status"],"properties":{"houdiniId":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.1.houdiniId","typeLabel":"string"},"status":{"enum":[8],"type":"number","isRequired":true,"uniqueKey":"orders.items.[INDEX].oneOf.1.status","typeLabel":"enum\u003cnumber>"}},"additionalProperties":false,"uniqueKey":"orders.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"orders.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"orders","typeLabel":"object[]"},"txHash":{"type":"string","description":"On-chain transaction hash once the EVM bundle is confirmed; null until then","uniqueKey":"txHash","typeLabel":"string"},"bundleStatus":{"type":"string","description":"Status of the most recent bundle record: pending | submitted | confirmed | failed | withdrawn. Absent when no bundle has been built yet (or for non-EVM multiswaps).","uniqueKey":"bundleStatus","typeLabel":"string"},"failureReason":{"type":"string","description":"Why the bundle failed; only set when bundleStatus is \"failed\"","uniqueKey":"failureReason","typeLabel":"string"}},"required":["multiId","orders"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example 1":{"title":"Example 1","value":{"multiId":"8ppABEC1HZGrSr1PGbUnCN","orders":[{"created":"2026-09-24T09:45:16.943Z","modified":"2026-09-24T09:46:09.972Z","houdiniId":"q2R66TDXHeHKb5kxEcAo9C","receiverAddress":"0x9f1f9a5c0f1d9a5c0f1d9a5c0f1d9a5c0f1d9a5c","status":0,"anonymous":false,"expires":"2026-09-24T12:45:15.466Z","in":"hu","inAmount":0.35,"inSymbol":"SOL","inStatus":1,"inCreated":"2026-09-24T09:45:16.943Z","outAmount":0.01481099,"outSymbol":"ETH","multiId":"8ppABEC1HZGrSr1PGbUnCN","eta":1,"inAmountUsd":39.605999999999995,"isDex":false,"swapName":"Verified Partner","depositAddress":"So1anaExampleDepositAddress11111111111111111","id":"6ab4f12684e2f105f5a2fbc7","hashUrl":"","statusLabel":"WAITING","inStatusLabel":"WAITING","displayStatus":"WAITING_FOR_DEPOSIT"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"0f9626b6-c650-43b9-a2db-a7682bc19269":{"description":"Credentials missing, malformed, or rejected — all return `INVALID_API_CREDENTIALS`. Sending only `partner-id` returns `PARTNER_ID_NOT_SUPPORTED`.","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason for the failure. Branch on this, not on `message` — messages are free to change.\n\nThe value depends on the HTTP status. The common ones:\n\n- `400` — `BAD_REQUEST`\n- `401` — `INVALID_API_CREDENTIALS`, `PARTNER_ID_NOT_SUPPORTED`\n- `403` — `ACCESS_DENIED`, `FIXED_RATE_NOT_ALLOWED`\n- `404` — `NOT_FOUND`, `TOKEN_NOT_FOUND`, `TOKEN_DISABLED`\n- `409` — `ALREADY_SUBMITTED`, `STATIC_DEPOSIT_IN_USE`\n- `422` — `VALIDATION_ERROR`, `AMOUNT_TOO_LOW`, `INVALID_SWAP`, `FIXED_RATE_QUOTE_EXPIRED`, and most other request problems\n- `429` — `RATE_LIMIT_EXCEEDED`\n- `5xx` — `INTERNAL_SERVER_ERROR`, `PROVIDER_EXCHANGE_FAILED`, `SERVICE_UNAVAILABLE`\n\nNew codes are added over time, so treat this as an open set: match the ones you handle and fall back to the HTTP status for the rest.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"requestId":{"type":"string","description":"Unique id for this request. Quote it when contacting support — it is how we find the failure in our logs.","uniqueKey":"requestId","typeLabel":"string"}},"required":["message","code"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","code":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6dfb48ab-eb9a-4e61-be67-a1b1f1bec8cd":{"description":"Payment required — x402 protocol. The body is empty; what to pay is in the `payment-required` header. Not returned when you send an `Authorization` header.","content":{"application/json":{"schema":{"description":"Body of a `402 Payment required`. Empty — `{}` — for API clients; a request that looks like a browser gets an HTML paywall page instead.\n\nThis is the x402 payment protocol, not the normal error format, so there is no `code` or `message` to branch on. What to pay is always in the `payment-required` response header, in both cases: base64-encoded JSON whose `accepts[]` entries each carry the `network`, the `asset` to pay in, the `amount`, and the `payTo` address, alongside `maxTimeoutSeconds` and the x402 `scheme`.\n\nSending `Authorization` skips the payment flow, so a 402 only reaches callers paying per request. An `apiKey` query param also skips it but is not a credential — those requests fail with `401 INVALID_API_CREDENTIALS`.","properties":{},"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"headers":{"payment-required":{"schema":{"type":"string"},"required":true}},"exampleType":"generated"},"8b167d70-d8b0-41f0-8213-c7196cc32bf1":{"description":"Access Denied","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason for the failure. Branch on this, not on `message` — messages are free to change.\n\nThe value depends on the HTTP status. The common ones:\n\n- `400` — `BAD_REQUEST`\n- `401` — `INVALID_API_CREDENTIALS`, `PARTNER_ID_NOT_SUPPORTED`\n- `403` — `ACCESS_DENIED`, `FIXED_RATE_NOT_ALLOWED`\n- `404` — `NOT_FOUND`, `TOKEN_NOT_FOUND`, `TOKEN_DISABLED`\n- `409` — `ALREADY_SUBMITTED`, `STATIC_DEPOSIT_IN_USE`\n- `422` — `VALIDATION_ERROR`, `AMOUNT_TOO_LOW`, `INVALID_SWAP`, `FIXED_RATE_QUOTE_EXPIRED`, and most other request problems\n- `429` — `RATE_LIMIT_EXCEEDED`\n- `5xx` — `INTERNAL_SERVER_ERROR`, `PROVIDER_EXCHANGE_FAILED`, `SERVICE_UNAVAILABLE`\n\nNew codes are added over time, so treat this as an open set: match the ones you handle and fall back to the HTTP status for the rest.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"requestId":{"type":"string","description":"Unique id for this request. Quote it when contacting support — it is how we find the failure in our logs.","uniqueKey":"requestId","typeLabel":"string"}},"required":["message","code"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","code":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"228f2231-829d-4610-ab32-9f6f82713f29":{"description":"Not found","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason for the failure. Branch on this, not on `message` — messages are free to change.\n\nThe value depends on the HTTP status. The common ones:\n\n- `400` — `BAD_REQUEST`\n- `401` — `INVALID_API_CREDENTIALS`, `PARTNER_ID_NOT_SUPPORTED`\n- `403` — `ACCESS_DENIED`, `FIXED_RATE_NOT_ALLOWED`\n- `404` — `NOT_FOUND`, `TOKEN_NOT_FOUND`, `TOKEN_DISABLED`\n- `409` — `ALREADY_SUBMITTED`, `STATIC_DEPOSIT_IN_USE`\n- `422` — `VALIDATION_ERROR`, `AMOUNT_TOO_LOW`, `INVALID_SWAP`, `FIXED_RATE_QUOTE_EXPIRED`, and most other request problems\n- `429` — `RATE_LIMIT_EXCEEDED`\n- `5xx` — `INTERNAL_SERVER_ERROR`, `PROVIDER_EXCHANGE_FAILED`, `SERVICE_UNAVAILABLE`\n\nNew codes are added over time, so treat this as an open set: match the ones you handle and fall back to the HTTP status for the rest.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"requestId":{"type":"string","description":"Unique id for this request. Quote it when contacting support — it is how we find the failure in our logs.","uniqueKey":"requestId","typeLabel":"string"}},"required":["message","code"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","code":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d0f5d306-1973-4c7b-b612-87df5a16ba61":{"description":"Validation Failed","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason for the failure. Branch on this, not on `message` — messages are free to change.\n\nThe value depends on the HTTP status. The common ones:\n\n- `400` — `BAD_REQUEST`\n- `401` — `INVALID_API_CREDENTIALS`, `PARTNER_ID_NOT_SUPPORTED`\n- `403` — `ACCESS_DENIED`, `FIXED_RATE_NOT_ALLOWED`\n- `404` — `NOT_FOUND`, `TOKEN_NOT_FOUND`, `TOKEN_DISABLED`\n- `409` — `ALREADY_SUBMITTED`, `STATIC_DEPOSIT_IN_USE`\n- `422` — `VALIDATION_ERROR`, `AMOUNT_TOO_LOW`, `INVALID_SWAP`, `FIXED_RATE_QUOTE_EXPIRED`, and most other request problems\n- `429` — `RATE_LIMIT_EXCEEDED`\n- `5xx` — `INTERNAL_SERVER_ERROR`, `PROVIDER_EXCHANGE_FAILED`, `SERVICE_UNAVAILABLE`\n\nNew codes are added over time, so treat this as an open set: match the ones you handle and fall back to the HTTP status for the rest.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"fields":{"properties":{},"type":"object","additionalProperties":{"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"fields.additionalProperties.message","typeLabel":"string"},"value":{"oneOf":[{}],"uniqueKey":"fields.additionalProperties.value","typeLabel":"any"}},"required":["message"],"type":"object","uniqueKey":"fields.additionalProperties","typeLabel":"object"},"description":"The inputs that failed, keyed by field name — or by path for a nested field, e.g. `filters.rotatePayoutWallets`. Each entry has a `message` and, when you sent one, the `value`.\n\nNot every `422` names its input, so `fields` can be `{}`: branch on `code`, and use `fields` to highlight the input when one is named.","isRequired":true,"uniqueKey":"fields","typeLabel":"object"},"requestId":{"type":"string","description":"Unique id for this request. Quote it when contacting support — it is how we find the failure in our logs.","uniqueKey":"requestId","typeLabel":"string"}},"required":["message","code","fields"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","code":"\u003cstring>","fields":{},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6ad65d0c-2256-4ac2-9404-bdfa12fd36ae":{"description":"Rate limit exceeded — back off and retry","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason for the failure. Branch on this, not on `message` — messages are free to change.\n\nThe value depends on the HTTP status. The common ones:\n\n- `400` — `BAD_REQUEST`\n- `401` — `INVALID_API_CREDENTIALS`, `PARTNER_ID_NOT_SUPPORTED`\n- `403` — `ACCESS_DENIED`, `FIXED_RATE_NOT_ALLOWED`\n- `404` — `NOT_FOUND`, `TOKEN_NOT_FOUND`, `TOKEN_DISABLED`\n- `409` — `ALREADY_SUBMITTED`, `STATIC_DEPOSIT_IN_USE`\n- `422` — `VALIDATION_ERROR`, `AMOUNT_TOO_LOW`, `INVALID_SWAP`, `FIXED_RATE_QUOTE_EXPIRED`, and most other request problems\n- `429` — `RATE_LIMIT_EXCEEDED`\n- `5xx` — `INTERNAL_SERVER_ERROR`, `PROVIDER_EXCHANGE_FAILED`, `SERVICE_UNAVAILABLE`\n\nNew codes are added over time, so treat this as an open set: match the ones you handle and fall back to the HTTP status for the rest.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"requestId":{"type":"string","description":"Unique id for this request. Quote it when contacting support — it is how we find the failure in our logs.","uniqueKey":"requestId","typeLabel":"string"}},"required":["message","code"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","code":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"b4459f9d-adb9-46b8-a8be-8e330bf20305":{"description":"Internal Server Error","content":{"application/json":{"schema":{"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason for the failure. Branch on this, not on `message` — messages are free to change.\n\nThe value depends on the HTTP status. The common ones:\n\n- `400` — `BAD_REQUEST`\n- `401` — `INVALID_API_CREDENTIALS`, `PARTNER_ID_NOT_SUPPORTED`\n- `403` — `ACCESS_DENIED`, `FIXED_RATE_NOT_ALLOWED`\n- `404` — `NOT_FOUND`, `TOKEN_NOT_FOUND`, `TOKEN_DISABLED`\n- `409` — `ALREADY_SUBMITTED`, `STATIC_DEPOSIT_IN_USE`\n- `422` — `VALIDATION_ERROR`, `AMOUNT_TOO_LOW`, `INVALID_SWAP`, `FIXED_RATE_QUOTE_EXPIRED`, and most other request problems\n- `429` — `RATE_LIMIT_EXCEEDED`\n- `5xx` — `INTERNAL_SERVER_ERROR`, `PROVIDER_EXCHANGE_FAILED`, `SERVICE_UNAVAILABLE`\n\nNew codes are added over time, so treat this as an open set: match the ones you handle and fall back to the HTTP status for the rest.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"requestId":{"type":"string","description":"Unique id for this request. Quote it when contacting support — it is how we find the failure in our logs.","uniqueKey":"requestId","typeLabel":"string"}},"required":["message","code"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","code":"\u003cstring>","requestId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"cf84274e-e25c-4070-8ef1-e2bb5351c4e7":{"apiKey":{"type":"apiKey","name":"Authorization","in":"header","description":"Send `Authorization: \u003cApiKey>:\u003cApiSecret>` — joined by a colon, raw. No `Bearer` prefix, no base64.\n\n[Get your credentials](https://docs.houdini.com/developer-hub/getting-started/authentication)","scopes":[],"schemeName":"apiKey"}}},"servers":{"8ebb4976-baf3-411c-8a1c-cd4d2c55015e":{"url":"http://localhost:3003/v2"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","name":"Authorization","in":"header","description":"Send `Authorization: \u003cApiKey>:\u003cApiSecret>` — joined by a colon, raw. No `Bearer` prefix, no base64.\n\n[Get your credentials](https://docs.houdini.com/developer-hub/getting-started/authentication)","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Authorization","type":"string","description":"Send `Authorization: \u003cApiKey>:\u003cApiSecret>` — joined by a colon, raw. No `Bearer` prefix, no base64.\n\n[Get your credentials](https://docs.houdini.com/developer-hub/getting-started/authentication)","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"https://api-partner.houdiniswap.com/v2/openapi.json"},"subdomain":"houdini","siteName":"Houdini documentation","title":"Get batch status - Houdini documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T13:26:57.978Z","originalFileLocation":"api-reference/multi-exchange/get-batch-status.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 the status of all orders belonging to a multi exchange group.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Houdini documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/houdini/yzTfSRPGdvC9032C/_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/houdini/yzTfSRPGdvC9032C/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/houdini/yzTfSRPGdvC9032C/_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/houdini/yzTfSRPGdvC9032C/_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/houdini/yzTfSRPGdvC9032C/_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/houdini/yzTfSRPGdvC9032C/_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/houdini/yzTfSRPGdvC9032C/_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/houdini/yzTfSRPGdvC9032C/_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/houdini/yzTfSRPGdvC9032C/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get batch status - Houdini documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns the status of all orders belonging to a multi exchange group.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Houdini documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://houdini.mintlify.app/_mintlify/api/og/v2?division=Multi-Exchange\u0026amp;title=Get+batch+status\u0026amp;description=Returns+the+status+of+all+orders+belonging+to+a+multi+exchange+group.\u0026amp;theme=9ee3d943f07b0e7ca37035be\u0026amp;signature=4cdded7b0fc6e4195bfb029c1af3afc510cccb1c278de545dca0047bf582db57\">\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=\"Get batch status - Houdini documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns the status of all orders belonging to a multi exchange group.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://houdini.mintlify.app/_mintlify/api/og/v2?division=Multi-Exchange\u0026amp;title=Get+batch+status\u0026amp;description=Returns+the+status+of+all+orders+belonging+to+a+multi+exchange+group.\u0026amp;theme=9ee3d943f07b0e7ca37035be\u0026amp;signature=4cdded7b0fc6e4195bfb029c1af3afc510cccb1c278de545dca0047bf582db57\">\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/houdini/yzTfSRPGdvC9032C/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Houdini documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#A955F7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/multi-exchange/get-batch-status.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.houdiniswap.com/#organization\",\"name\":\"Houdini documentation\",\"url\":\"https://docs.houdiniswap.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/houdini/1qxWMAnpbp51-Yh3/logo/wordmark-black.svg?fit=max\u0026auto=format\u0026n=1qxWMAnpbp51-Yh3\u0026q=85\u0026s=835e11b4170923b979bdf1ba4cb302b8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.houdiniswap.com#website\",\"name\":\"Houdini documentation\",\"url\":\"https://docs.houdiniswap.com\",\"publisher\":{\"@id\":\"https://docs.houdiniswap.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status#webpage\",\"url\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status\",\"name\":\"Get batch status\",\"description\":\"Returns the status of all orders belonging to a multi exchange group.\",\"dateModified\":\"2026-10-26T13:26:57.978Z\",\"isPartOf\":{\"@id\":\"https://docs.houdiniswap.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Multi-Exchange\",\"item\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-tokens\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get batch status\",\"item\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status#apireference\",\"headline\":\"Get batch status\",\"name\":\"Get batch status\",\"description\":\"Returns the status of all orders belonging to a multi exchange group.\",\"url\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status\",\"mainEntityOfPage\":{\"@id\":\"https://docs.houdiniswap.com/api-reference/multi-exchange/get-batch-status#webpage\"},\"dateModified\":\"2026-10-26T13:26:57.978Z\",\"publisher\":{\"@id\":\"https://docs.houdiniswap.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.houdiniswap.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Houdini documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Houdini documentation","nav":{"global":null,"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/overview/getting-started/what-is-houdini"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/how-to/private-swap"}]},{"tab":"Developer Hub","pages":[{"title":"Developer Hub","href":"/developer-hub/overview/what-you-can-build"}]},{"tab":"API V2 Reference ","icon":"folder-gear","groups":[{"group":"Private and Standard Swaps","pages":[{"title":"Get tokens","openapi":"GET /tokens","href":"/api-reference/private-and-standard-swaps/get-tokens"},{"title":"Get quotes","openapi":"GET /quotes","href":"/api-reference/private-and-standard-swaps/get-quotes"},{"title":"Get quotes by token address","openapi":"GET /quotes/byChainAddress","href":"/api-reference/private-and-standard-swaps/get-quotes-by-token-address"},{"title":"Create exchange","openapi":"POST /exchanges","href":"/api-reference/private-and-standard-swaps/create-exchange"},{"title":"Get order details","openapi":"GET /orders/{houdiniId}","href":"/api-reference/private-and-standard-swaps/get-order-details"}]},{"group":"Private Send","pages":[{"title":"Get tokens","openapi":"GET /tokens","href":"/api-reference/private-send/get-tokens"},{"title":"Get private send quote","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /quotes/private-send","href":"/api-reference/private-send/get-private-send-quote"},{"title":"Create private send order","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /exchanges/private-send","href":"/api-reference/private-send/create-private-send-order"},{"title":"Get order details","openapi":"GET /orders/{houdiniId}","href":"/api-reference/private-send/get-order-details"}]},{"group":"Multi-Exchange","pages":[{"title":"Get tokens","openapi":"GET /tokens","href":"/api-reference/multi-exchange/get-tokens"},{"title":"Get multi quotes","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /quotes/multi","href":"/api-reference/multi-exchange/get-multi-quotes"},{"title":"Create multi exchange","description":"Creates a group of swaps that share one `multiId`. Post the orders straight here — there is no quote step and no `quoteId`.\n\n- routes are chosen for you, per order\n- [Get multi quotes](/api-reference/multi-exchange/get-multi-quotes) is optional, for showing rates first\n- each swap starts at status NEW and is prepared in the background\n- poll [Get batch status](/api-reference/multi-exchange/get-batch-status) for deposit addresses\n\nSee the [multi-swap flow](https://docs.houdini.com/developer-hub/swap-flows/multi-swap) for the full sequence.","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /exchanges/multi","href":"/api-reference/multi-exchange/create-multi-exchange"},{"title":"Get batch status","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /exchanges/multi/{multiId}","href":"/api-reference/multi-exchange/get-batch-status"},{"group":"Bundler SOL","pages":[{"title":"Get batch transaction","description":"Returns one Solana transaction that pays every deposit address in the group.","openapi":"GET /exchanges/multi/{multiId}/tx","href":"/api-reference/bundler-sol/get-batch-transaction"}]},{"group":"Bundler EVM","pages":[{"title":"Build batch transaction","openapi":"POST /exchanges/multi/{multiId}/tx/build","href":"/api-reference/bundler-evm/build-batch-transaction"},{"title":"Submit signed transaction","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /exchanges/multi/{multiId}/tx","href":"/api-reference/bundler-evm/submit-signed-transaction"},{"title":"Retry failed orders","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /exchanges/multi/{multiId}/retry","href":"/api-reference/bundler-evm/retry-failed-orders"},{"title":"Recover stuck assets","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /exchanges/multi/recovery","href":"/api-reference/bundler-evm/recover-stuck-assets"}]}]},{"group":"On-chain DEX or Bridge","pages":[{"title":"Get tokens","openapi":"GET /tokens","href":"/api-reference/on-chain-dex-or-bridge/get-tokens"},{"title":"Get quotes","openapi":"GET /quotes","href":"/api-reference/on-chain-dex-or-bridge/get-quotes"},{"title":"Get quotes by token address","openapi":"GET /quotes/byChainAddress","href":"/api-reference/on-chain-dex-or-bridge/get-quotes-by-token-address"},{"title":"Create exchange","openapi":"POST /exchanges","href":"/api-reference/on-chain-dex-or-bridge/create-exchange"},{"title":"Get token approval data","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /dex/approve","href":"/api-reference/on-chain-dex-or-bridge/get-token-approval-data"},{"title":"Check token allowance","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /dex/allowance","href":"/api-reference/on-chain-dex-or-bridge/check-token-allowance"},{"title":"Get next chain signature","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /dex/chainSignatures","href":"/api-reference/on-chain-dex-or-bridge/get-next-chain-signature"},{"title":"Confirm DEX transaction","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json post /dex/confirmTx","href":"/api-reference/on-chain-dex-or-bridge/confirm-dex-transaction"},{"title":"Get order details","openapi":"GET /orders/{houdiniId}","href":"/api-reference/on-chain-dex-or-bridge/get-order-details"}]},{"group":"Reference Data","pages":[{"title":"Get token by ID","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /tokens/{id}","href":"/api-reference/reference-data/get-token-by-id"},{"title":"Get chains","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /chains","href":"/api-reference/reference-data/get-chains"},{"title":"Get swap providers","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /swaps","href":"/api-reference/reference-data/get-swap-providers"},{"title":"Get min and max amounts","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /minMax","href":"/api-reference/reference-data/get-min-and-max-amounts"}]},{"group":"Partner Account","pages":[{"title":"Get orders","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /orders","href":"/api-reference/partner-account/get-orders"},{"title":"Get partner profile","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /me","href":"/api-reference/partner-account/get-partner-profile"},{"title":"Get rate limits","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /rateLimits","href":"/api-reference/partner-account/get-rate-limits"},{"title":"Get commissions","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /commissions","href":"/api-reference/partner-account/get-commissions"},{"title":"Get commission summary","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /commissions/summary","href":"/api-reference/partner-account/get-commission-summary"},{"title":"Get withdrawals","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /withdrawals","href":"/api-reference/partner-account/get-withdrawals"},{"title":"Get volume stats","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /stats/volume","href":"/api-reference/partner-account/get-volume-stats"},{"title":"Get weekly volume","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /stats/weeklyVolume","href":"/api-reference/partner-account/get-weekly-volume"},{"title":"Get chart stats","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /stats/chart","href":"/api-reference/partner-account/get-chart-stats"}]},{"group":"System","pages":[{"title":"Get system health","deprecated":null,"version":null,"openapi":"https://api-partner.houdiniswap.com/v2/openapi.json get /status","href":"/api-reference/system/get-system-health"}]}]},{"tab":"API v1","hidden":true,"pages":[{"title":"API v1","href":"/migration/v1-to-v2"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/release-notes"}]},{"tab":"Support \u0026 FAQs","pages":[{"title":"Support \u0026 FAQs","href":"/support-and-faqs/faqs"}]}]},"title":"Get batch status - Houdini documentation","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}