Poll this with the houdiniId from Create exchange to follow the deposit and payout.Past the 48-hour window the order drops out of the API and returns 404, the same as an id that never existed, so store whatever you need to keep before then.
The intermediateRefundAddress sent at Create exchange: where the intermediate hop's funds are returned if that hop cannot complete. Separate from refundAddress, which covers the deposit leg.
Present only on orders whose route settles through an on-chain hop — those quoted with requiresIntermediateRefundAddress: true.
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.
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.
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.
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.
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.
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.
Finished order: the payout to receiverAddress.
Refunded order: the transaction that returned your funds.
The deposit address where the user must send funds. Omitted on multiswap orders whose per-order setup did not complete.
{"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.3966","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},"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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/private-and-standard-swaps/get-order-details","slug":"/api-reference/private-and-standard-swaps/get-order-details","pageMetadata":{"title":"Get order details","description":"Returns a private or standard swap order created in the last 48 hours.","openapi":"GET /orders/{houdiniId}","href":"/api-reference/private-and-standard-swaps/get-order-details"},"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 a private or standard swap order created in the last 48 hours.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Poll this with the `,_jsx(_components.code,{children:`houdiniId`}),` from `,_jsx(_components.a,{href:`/api-reference/private-and-standard-swaps/create-exchange`,children:`Create exchange`}),` to follow the deposit and payout.`]}),`\n`,_jsx(_components.p,{children:`Past the 48-hour window the order drops out of the API and returns 404, the same as an id that never existed, so store whatever you need to keep before then.`})]})}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 order details","description":"Returns a private or standard swap order created in the last 48 hours.","openapi":"GET /orders/{houdiniId}","href":"/api-reference/private-and-standard-swaps/get-order-details"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"GetOrder","responses":{"200":"afa1dd45-0334-43ec-a628-b9a583338025","401":"8168275d-11d3-4eab-a7ad-abc579d67e87","402":"4278191f-d78a-4225-818f-4a8cb451902d","404":"6bcf3351-ce50-4b11-a953-346c65eea886","422":"5667b26c-22c2-4e28-8680-15d60a77e574","429":"2148ea96-ef2f-457f-8173-497eea49c08f","500":"77dfedac-78c2-4096-8304-a49272f95ec8"},"description":"Returns a private or standard swap order created in the last 48 hours.","summary":"Get order details","tags":["Private and Standard Swaps","Private Send","On-chain DEX or Bridge"],"security":["4ff4d199-6bc2-4e50-821f-c737858fca4c"],"parameters":["d6b890e5-c331-4ddb-98e7-7d654eb94ee6"],"method":"get","type":"path","servers":["8ebb4976-baf3-411c-8a1c-cd4d2c55015e"],"path":"/orders/{houdiniId}","baseUrlOptions":["http://localhost:3003/v2"],"title":"Get order details","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"d6b890e5-c331-4ddb-98e7-7d654eb94ee6":{"in":"path","name":"houdiniId","required":true,"schema":{"type":"string","maxLength":64,"isRequired":true,"uniqueKey":"","typeLabel":"string"},"example":"hxK7mQp2"}},"responses":{"afa1dd45-0334-43ec-a628-b9a583338025":{"description":"Success","content":{"application/json":{"schema":{"properties":{"houdiniId":{"type":"string","description":"Public order id. Use it with Get order details.","isRequired":true,"uniqueKey":"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":"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":"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":"status","typeLabel":"enum\u003cnumber>"},"eta":{"type":"number","format":"double","description":"ETA time, depending on swap","isRequired":true,"uniqueKey":"eta","typeLabel":"number\u003cdouble>"},"inAmount":{"type":"number","format":"double","description":"Amount to deposit, in the input token.","isRequired":true,"uniqueKey":"inAmount","typeLabel":"number\u003cdouble>"},"inSymbol":{"type":"string","description":"Symbol of the input token, e.g. `BTC`.","isRequired":true,"uniqueKey":"inSymbol","typeLabel":"string"},"outAmount":{"type":"number","format":"double","description":"Amount you receive, in the output token.","isRequired":true,"uniqueKey":"outAmount","typeLabel":"number\u003cdouble>"},"outSymbol":{"type":"string","description":"Symbol of the output token, e.g. `ETH`.","isRequired":true,"uniqueKey":"outSymbol","typeLabel":"string"},"inAmountUsd":{"type":"number","format":"double","description":"USD value of the input amount at order creation time.","isRequired":true,"uniqueKey":"inAmountUsd","typeLabel":"number\u003cdouble>"},"outAmountUsd":{"type":"number","format":"double","description":"`outAmount` valued in USD.","isRequired":true,"uniqueKey":"outAmountUsd","typeLabel":"number\u003cdouble>"},"inToken":{"properties":{"icon":{"type":"string","description":"Token icon URL.","isRequired":true,"uniqueKey":"inToken.icon","typeLabel":"string"},"id":{"type":"string","description":"The token id. Pass this as `from` / `to` when quoting.","isRequired":true,"uniqueKey":"inToken.id","typeLabel":"string"},"chain":{"type":"string","description":"Chain short name, e.g. `ethereum`. Matches `shortName` on `chainData`.","isRequired":true,"uniqueKey":"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":"inToken.decimals","typeLabel":"integer\u003cint32>"},"symbol":{"type":"string","isRequired":true,"uniqueKey":"inToken.symbol","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"inToken.name","typeLabel":"string"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"inToken.created","typeLabel":"string\u003cdate-time>"},"chainData":{"properties":{"icon":{"type":"string","description":"Chain icon URL.","isRequired":true,"uniqueKey":"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":"inToken.chainData.addressValidation","typeLabel":"string"},"tokenAddressValidation":{"type":"string","description":"Regex a token contract address on this chain must match.","isRequired":true,"uniqueKey":"inToken.chainData.tokenAddressValidation","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"inToken.chainData.id","typeLabel":"string"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"inToken.chainData.created","typeLabel":"string\u003cdate-time>"},"name":{"type":"string","description":"Readable chain name, e.g. `Bitcoin`.","isRequired":true,"uniqueKey":"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":"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":"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":"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":"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":"inToken.chainData.kind","typeLabel":"string"},"enabled":{"type":"boolean","description":"False when the chain is temporarily not routing swaps.","isRequired":true,"uniqueKey":"inToken.chainData.enabled","typeLabel":"boolean"},"shortNameV1":{"type":"string","description":"The chain's name in the v1 API. Use `shortName` instead.","isRequired":true,"uniqueKey":"inToken.chainData.shortNameV1","typeLabel":"string"},"modified":{"type":"string","format":"date-time","uniqueKey":"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":"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":"inToken.chainData.memoNeeded.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.chainData.memoNeeded","typeLabel":"boolean | null"},"hashUrl":{"type":"string","description":"Explorer link for a transaction hash, when it differs from `explorerUrl`.","uniqueKey":"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":"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":"inToken.chainData.chainId.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"inToken.chainData","typeLabel":"object"},"enabled":{"type":"boolean","description":"False when the token is temporarily not swappable.","isRequired":true,"uniqueKey":"inToken.enabled","typeLabel":"boolean"},"address":{"oneOf":[{"type":"string","description":"Contract address. Null for a chain's native coin — see `mainnet`.","uniqueKey":"inToken.address.oneOf.0","typeLabel":"string"},{"type":"null","description":"Contract address. Null for a chain's native coin — see `mainnet`.","uniqueKey":"inToken.address.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.address","typeLabel":"string | null"},"modified":{"type":"string","format":"date-time","uniqueKey":"inToken.modified","typeLabel":"string\u003cdate-time>"},"description":{"oneOf":[{"type":"string","description":"Token description from CoinGecko.","uniqueKey":"inToken.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Token description from CoinGecko.","uniqueKey":"inToken.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"inToken.mainnet","typeLabel":"boolean"},"unverified":{"type":"boolean","description":"True when we have not reviewed this token yet — check `securityScan` before using it.","uniqueKey":"inToken.unverified","typeLabel":"boolean"},"hasDex":{"type":"boolean","description":"True when the token can be swapped on DEX routes.","uniqueKey":"inToken.hasDex","typeLabel":"boolean"},"hasCex":{"type":"boolean","description":"True when the token can be swapped on private and standard routes.","uniqueKey":"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":"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":"inToken.hasSelfPrivate","typeLabel":"boolean"},"cexTokenId":{"type":"string","description":"The token's identifier on centralized exchanges.","default":"","uniqueKey":"inToken.cexTokenId","typeLabel":"string"},"rank":{"oneOf":[{"type":"number","format":"double","description":"CoinGecko market-cap rank. Null when unranked.","uniqueKey":"inToken.rank.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"CoinGecko market-cap rank. Null when unranked.","uniqueKey":"inToken.rank.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.rank","typeLabel":"number\u003cdouble> | null"},"cgId":{"oneOf":[{"type":"string","description":"CoinGecko id for this token.","uniqueKey":"inToken.cgId.oneOf.0","typeLabel":"string"},{"type":"null","description":"CoinGecko id for this token.","uniqueKey":"inToken.cgId.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.cgId","typeLabel":"string | null"},"marketCapChange24h":{"type":"number","format":"double","description":"24h market cap change percentage from CoinGecko.","uniqueKey":"inToken.marketCapChange24h","typeLabel":"number\u003cdouble>"},"circulatingSupply":{"type":"number","format":"double","description":"Token circulating supply from CoinGecko.","uniqueKey":"inToken.circulatingSupply","typeLabel":"number\u003cdouble>"},"price":{"oneOf":[{"type":"number","format":"double","description":"Current price in USD, from CoinGecko.","uniqueKey":"inToken.price.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Current price in USD, from CoinGecko.","uniqueKey":"inToken.price.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.price","typeLabel":"number\u003cdouble> | null"},"marketCap":{"oneOf":[{"type":"number","format":"double","description":"Market cap in USD, from CoinGecko.","uniqueKey":"inToken.marketCap.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Market cap in USD, from CoinGecko.","uniqueKey":"inToken.marketCap.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.marketCap","typeLabel":"number\u003cdouble> | null"},"volume":{"oneOf":[{"type":"number","format":"double","description":"24h trading volume in USD, from CoinGecko.","uniqueKey":"inToken.volume.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"24h trading volume in USD, from CoinGecko.","uniqueKey":"inToken.volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.volume","typeLabel":"number\u003cdouble> | null"},"fdv":{"oneOf":[{"type":"number","format":"double","description":"Fully diluted valuation in USD, from CoinGecko.","uniqueKey":"inToken.fdv.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Fully diluted valuation in USD, from CoinGecko.","uniqueKey":"inToken.fdv.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.fdv","typeLabel":"number\u003cdouble> | null"},"change":{"oneOf":[{"type":"number","format":"double","description":"24h price change, as a percentage.","uniqueKey":"inToken.change.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"24h price change, as a percentage.","uniqueKey":"inToken.change.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.change","typeLabel":"number\u003cdouble> | null"},"priority":{"oneOf":[{"type":"number","format":"double","description":"Display order — lower sorts first. Unrelated to `rank`.","uniqueKey":"inToken.priority.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Display order — lower sorts first. Unrelated to `rank`.","uniqueKey":"inToken.priority.oneOf.1","typeLabel":"null"}],"uniqueKey":"inToken.priority","typeLabel":"number\u003cdouble> | null"},"warningMessage":{"type":"string","description":"Warning to show the user before swapping this token.","uniqueKey":"inToken.warningMessage","typeLabel":"string"},"securityScan":{"properties":{"scannedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"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":"inToken.securityScan.expiresAt","typeLabel":"string\u003cdate-time>"},"provider":{"type":"string","description":"Screening provider that produced this verdict.","uniqueKey":"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":"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":"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":"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":"inToken.securityScan.features.items.[INDEX].featureId","typeLabel":"string"},"type":{"type":"string","description":"Provider severity for this feature: Malicious | Warning | Benign | Info.","uniqueKey":"inToken.securityScan.features.items.[INDEX].type","typeLabel":"string"},"description":{"type":"string","uniqueKey":"inToken.securityScan.features.items.[INDEX].description","typeLabel":"string"}},"type":"object","additionalProperties":false,"uniqueKey":"inToken.securityScan.features.items.[INDEX]","typeLabel":"object"},"type":"array","default":[],"uniqueKey":"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":"inToken.securityScan.unscannedReason","typeLabel":"enum\u003cstring>"},"unscannedDetail":{"type":"string","description":"Free-text detail behind `unscannedReason` (provider message, status…).","uniqueKey":"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":"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":"inToken","typeLabel":"object"},"outToken":{"properties":{"icon":{"type":"string","description":"Token icon URL.","isRequired":true,"uniqueKey":"outToken.icon","typeLabel":"string"},"id":{"type":"string","description":"The token id. Pass this as `from` / `to` when quoting.","isRequired":true,"uniqueKey":"outToken.id","typeLabel":"string"},"chain":{"type":"string","description":"Chain short name, e.g. `ethereum`. Matches `shortName` on `chainData`.","isRequired":true,"uniqueKey":"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":"outToken.decimals","typeLabel":"integer\u003cint32>"},"symbol":{"type":"string","isRequired":true,"uniqueKey":"outToken.symbol","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"outToken.name","typeLabel":"string"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"outToken.created","typeLabel":"string\u003cdate-time>"},"chainData":{"properties":{"icon":{"type":"string","description":"Chain icon URL.","isRequired":true,"uniqueKey":"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":"outToken.chainData.addressValidation","typeLabel":"string"},"tokenAddressValidation":{"type":"string","description":"Regex a token contract address on this chain must match.","isRequired":true,"uniqueKey":"outToken.chainData.tokenAddressValidation","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"outToken.chainData.id","typeLabel":"string"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"outToken.chainData.created","typeLabel":"string\u003cdate-time>"},"name":{"type":"string","description":"Readable chain name, e.g. `Bitcoin`.","isRequired":true,"uniqueKey":"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":"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":"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":"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":"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":"outToken.chainData.kind","typeLabel":"string"},"enabled":{"type":"boolean","description":"False when the chain is temporarily not routing swaps.","isRequired":true,"uniqueKey":"outToken.chainData.enabled","typeLabel":"boolean"},"shortNameV1":{"type":"string","description":"The chain's name in the v1 API. Use `shortName` instead.","isRequired":true,"uniqueKey":"outToken.chainData.shortNameV1","typeLabel":"string"},"modified":{"type":"string","format":"date-time","uniqueKey":"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":"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":"outToken.chainData.memoNeeded.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.chainData.memoNeeded","typeLabel":"boolean | null"},"hashUrl":{"type":"string","description":"Explorer link for a transaction hash, when it differs from `explorerUrl`.","uniqueKey":"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":"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":"outToken.chainData.chainId.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"outToken.chainData","typeLabel":"object"},"enabled":{"type":"boolean","description":"False when the token is temporarily not swappable.","isRequired":true,"uniqueKey":"outToken.enabled","typeLabel":"boolean"},"address":{"oneOf":[{"type":"string","description":"Contract address. Null for a chain's native coin — see `mainnet`.","uniqueKey":"outToken.address.oneOf.0","typeLabel":"string"},{"type":"null","description":"Contract address. Null for a chain's native coin — see `mainnet`.","uniqueKey":"outToken.address.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.address","typeLabel":"string | null"},"modified":{"type":"string","format":"date-time","uniqueKey":"outToken.modified","typeLabel":"string\u003cdate-time>"},"description":{"oneOf":[{"type":"string","description":"Token description from CoinGecko.","uniqueKey":"outToken.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Token description from CoinGecko.","uniqueKey":"outToken.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"outToken.mainnet","typeLabel":"boolean"},"unverified":{"type":"boolean","description":"True when we have not reviewed this token yet — check `securityScan` before using it.","uniqueKey":"outToken.unverified","typeLabel":"boolean"},"hasDex":{"type":"boolean","description":"True when the token can be swapped on DEX routes.","uniqueKey":"outToken.hasDex","typeLabel":"boolean"},"hasCex":{"type":"boolean","description":"True when the token can be swapped on private and standard routes.","uniqueKey":"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":"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":"outToken.hasSelfPrivate","typeLabel":"boolean"},"cexTokenId":{"type":"string","description":"The token's identifier on centralized exchanges.","default":"","uniqueKey":"outToken.cexTokenId","typeLabel":"string"},"rank":{"oneOf":[{"type":"number","format":"double","description":"CoinGecko market-cap rank. Null when unranked.","uniqueKey":"outToken.rank.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"CoinGecko market-cap rank. Null when unranked.","uniqueKey":"outToken.rank.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.rank","typeLabel":"number\u003cdouble> | null"},"cgId":{"oneOf":[{"type":"string","description":"CoinGecko id for this token.","uniqueKey":"outToken.cgId.oneOf.0","typeLabel":"string"},{"type":"null","description":"CoinGecko id for this token.","uniqueKey":"outToken.cgId.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.cgId","typeLabel":"string | null"},"marketCapChange24h":{"type":"number","format":"double","description":"24h market cap change percentage from CoinGecko.","uniqueKey":"outToken.marketCapChange24h","typeLabel":"number\u003cdouble>"},"circulatingSupply":{"type":"number","format":"double","description":"Token circulating supply from CoinGecko.","uniqueKey":"outToken.circulatingSupply","typeLabel":"number\u003cdouble>"},"price":{"oneOf":[{"type":"number","format":"double","description":"Current price in USD, from CoinGecko.","uniqueKey":"outToken.price.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Current price in USD, from CoinGecko.","uniqueKey":"outToken.price.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.price","typeLabel":"number\u003cdouble> | null"},"marketCap":{"oneOf":[{"type":"number","format":"double","description":"Market cap in USD, from CoinGecko.","uniqueKey":"outToken.marketCap.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Market cap in USD, from CoinGecko.","uniqueKey":"outToken.marketCap.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.marketCap","typeLabel":"number\u003cdouble> | null"},"volume":{"oneOf":[{"type":"number","format":"double","description":"24h trading volume in USD, from CoinGecko.","uniqueKey":"outToken.volume.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"24h trading volume in USD, from CoinGecko.","uniqueKey":"outToken.volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.volume","typeLabel":"number\u003cdouble> | null"},"fdv":{"oneOf":[{"type":"number","format":"double","description":"Fully diluted valuation in USD, from CoinGecko.","uniqueKey":"outToken.fdv.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Fully diluted valuation in USD, from CoinGecko.","uniqueKey":"outToken.fdv.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.fdv","typeLabel":"number\u003cdouble> | null"},"change":{"oneOf":[{"type":"number","format":"double","description":"24h price change, as a percentage.","uniqueKey":"outToken.change.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"24h price change, as a percentage.","uniqueKey":"outToken.change.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.change","typeLabel":"number\u003cdouble> | null"},"priority":{"oneOf":[{"type":"number","format":"double","description":"Display order — lower sorts first. Unrelated to `rank`.","uniqueKey":"outToken.priority.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"Display order — lower sorts first. Unrelated to `rank`.","uniqueKey":"outToken.priority.oneOf.1","typeLabel":"null"}],"uniqueKey":"outToken.priority","typeLabel":"number\u003cdouble> | null"},"warningMessage":{"type":"string","description":"Warning to show the user before swapping this token.","uniqueKey":"outToken.warningMessage","typeLabel":"string"},"securityScan":{"properties":{"scannedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"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":"outToken.securityScan.expiresAt","typeLabel":"string\u003cdate-time>"},"provider":{"type":"string","description":"Screening provider that produced this verdict.","uniqueKey":"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":"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":"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":"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":"outToken.securityScan.features.items.[INDEX].featureId","typeLabel":"string"},"type":{"type":"string","description":"Provider severity for this feature: Malicious | Warning | Benign | Info.","uniqueKey":"outToken.securityScan.features.items.[INDEX].type","typeLabel":"string"},"description":{"type":"string","uniqueKey":"outToken.securityScan.features.items.[INDEX].description","typeLabel":"string"}},"type":"object","additionalProperties":false,"uniqueKey":"outToken.securityScan.features.items.[INDEX]","typeLabel":"object"},"type":"array","default":[],"uniqueKey":"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":"outToken.securityScan.unscannedReason","typeLabel":"enum\u003cstring>"},"unscannedDetail":{"type":"string","description":"Free-text detail behind `unscannedReason` (provider message, status…).","uniqueKey":"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":"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":"outToken","typeLabel":"object"},"receiverAddress":{"type":"string","description":"Wallet the payout is sent to.","isRequired":true,"uniqueKey":"receiverAddress","typeLabel":"string"},"anonymous":{"type":"boolean","description":"True when this order took the private two-leg route.","isRequired":true,"uniqueKey":"anonymous","typeLabel":"boolean"},"isDex":{"type":"boolean","description":"True when the order executed on a DEX route.","isRequired":true,"uniqueKey":"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":"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":"inStatus","typeLabel":"enum\u003cnumber>"},"created":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"created","typeLabel":"string\u003cdate-time>"},"inCreated":{"type":"string","format":"date-time","description":"When the incoming leg was created.","isRequired":true,"uniqueKey":"inCreated","typeLabel":"string\u003cdate-time>"},"notified":{"type":"boolean","isRequired":true,"uniqueKey":"notified","typeLabel":"boolean"},"id":{"type":"string","isRequired":true,"uniqueKey":"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":"depositTag","typeLabel":"string"},"refundAddress":{"type":"string","description":"Refund address recorded for this order.","uniqueKey":"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":"intermediateRefundAddress","typeLabel":"string"},"fixed":{"type":"boolean","description":"True when the order settled at a locked rate.","uniqueKey":"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":"express","typeLabel":"boolean"},"nonRefundable":{"type":"boolean","description":"True when the deposit can no longer be refunded.","uniqueKey":"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":"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":"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":"quotedOutAmount","typeLabel":"number\u003cdouble>"},"refundHash":{"type":"string","description":"Hash of the transaction that returned your funds. Absent unless the order refunded.","uniqueKey":"refundHash","typeLabel":"string"},"refundChain":{"type":"string","description":"Chain the refund was returned on, e.g. \"bsc\". Refunds are returned on the input chain.","uniqueKey":"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":"refundAmount","typeLabel":"number\u003cdouble>"},"modified":{"type":"string","format":"date-time","uniqueKey":"modified","typeLabel":"string\u003cdate-time>"},"metadata":{"description":"Extra data from the provider. The shape depends on the route.","uniqueKey":"metadata","typeLabel":"any"},"receiverTag":{"oneOf":[{"type":"string","description":"Memo/tag required when receiving funds for assets that use one","uniqueKey":"receiverTag.oneOf.0","typeLabel":"string"},{"type":"null","description":"Memo/tag required when receiving funds for assets that use one","uniqueKey":"receiverTag.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"swapName","typeLabel":"string"},"multiId":{"type":"string","description":"Multi ID. Present only on orders created as part of a batch.","uniqueKey":"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":"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":"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":"transactionHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"hashUrl","typeLabel":"string"},"inHash":{"oneOf":[{"type":"string","description":"Hash of your deposit transaction. Empty until the deposit is seen.","uniqueKey":"inHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Hash of your deposit transaction. Empty until the deposit is seen.","uniqueKey":"inHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"inTransactionInHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"outTransactionOutHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"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":"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":"depositAddress","typeLabel":"string"}},"required":["houdiniId","expires","displayStatus","status","eta","inAmount","inSymbol","outAmount","outSymbol","inAmountUsd","outAmountUsd","inToken","outToken","receiverAddress","anonymous","isDex","actionRequired","inStatus","created","inCreated","notified","id"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example 1":{"title":"Example 1","value":{"created":"2026-09-28T02:44:44.178Z","houdiniId":"ao5tBEaAxkjJJdZnZeuXo6","receiverAddress":"8jZnXYnZB1MJQG6zBXyouzcycsaPTrZtPXPHDNifjYaC","status":0,"anonymous":false,"expires":"2026-09-28T03:14:44.178Z","in":"se","inAmount":0.05,"inSymbol":"ETH","inStatus":0,"inCreated":"2026-09-28T02:44:44.178Z","outAmount":1.09202632,"outSymbol":"SOL","eta":8,"inAmountUsd":132.6355,"isDex":false,"swapName":"StealthEx","depositAddress":"0x0000000000000000000000000000000000000000","id":"6ab9d49ca4f8db2c6ce6dfb2","hashUrl":"","statusLabel":"WAITING","inStatusLabel":"NEW","displayStatus":"WAITING_FOR_DEPOSIT"}}},"exampleType":"examples"}},"exampleType":"examples"},"8168275d-11d3-4eab-a7ad-abc579d67e87":{"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"},"4278191f-d78a-4225-818f-4a8cb451902d":{"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"},"6bcf3351-ce50-4b11-a953-346c65eea886":{"description":"Order 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"},"5667b26c-22c2-4e28-8680-15d60a77e574":{"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"},"2148ea96-ef2f-457f-8173-497eea49c08f":{"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"},"77dfedac-78c2-4096-8304-a49272f95ec8":{"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":{"4ff4d199-6bc2-4e50-821f-c737858fca4c":{"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 order details - Houdini documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-07T01:27:46.519Z","originalFileLocation":"api-reference/private-and-standard-swaps/get-order-details.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 a private or standard swap order created in the last 48 hours.\">\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 order details - Houdini documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns a private or standard swap order created in the last 48 hours.\">\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/private-and-standard-swaps/get-order-details\">\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=Private+and+Standard+Swaps\u0026amp;title=Get+order+details\u0026amp;description=Returns+a+private+or+standard+swap+order+created+in+the+last+48+hours.\u0026amp;theme=9ee3d943f07b0e7ca37035be\u0026amp;signature=5611ec81c2aa5aad77a1b8d9fd49140e7e7a3f006767bac783d401c4bb040bab\">\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 order details - Houdini documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns a private or standard swap order created in the last 48 hours.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://houdini.mintlify.app/_mintlify/api/og/v2?division=Private+and+Standard+Swaps\u0026amp;title=Get+order+details\u0026amp;description=Returns+a+private+or+standard+swap+order+created+in+the+last+48+hours.\u0026amp;theme=9ee3d943f07b0e7ca37035be\u0026amp;signature=5611ec81c2aa5aad77a1b8d9fd49140e7e7a3f006767bac783d401c4bb040bab\">\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/private-and-standard-swaps/get-order-details\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/private-and-standard-swaps/get-order-details.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/private-and-standard-swaps/get-order-details#webpage\",\"url\":\"https://docs.houdiniswap.com/api-reference/private-and-standard-swaps/get-order-details\",\"name\":\"Get order details\",\"description\":\"Returns a private or standard swap order created in the last 48 hours.\",\"dateModified\":\"2026-10-07T01:27:46.519Z\",\"isPartOf\":{\"@id\":\"https://docs.houdiniswap.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.houdiniswap.com/api-reference/private-and-standard-swaps/get-order-details#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.houdiniswap.com/api-reference/private-and-standard-swaps/get-order-details#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Private and Standard Swaps\",\"item\":\"https://docs.houdiniswap.com/api-reference/private-and-standard-swaps/get-tokens\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get order details\",\"item\":\"https://docs.houdiniswap.com/api-reference/private-and-standard-swaps/get-order-details\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.houdiniswap.com/api-reference/private-and-standard-swaps/get-order-details#apireference\",\"headline\":\"Get order details\",\"name\":\"Get order details\",\"description\":\"Returns a private or standard swap order created in the last 48 hours.\",\"url\":\"https://docs.houdiniswap.com/api-reference/private-and-standard-swaps/get-order-details\",\"mainEntityOfPage\":{\"@id\":\"https://docs.houdiniswap.com/api-reference/private-and-standard-swaps/get-order-details#webpage\"},\"dateModified\":\"2026-10-07T01:27:46.519Z\",\"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","description":"Creates a private or standard swap order from a quoteId.","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","description":"Returns the tokens you can send privately to another wallet. Use the returned id as the token of a private send quote.","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","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","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 order details - Houdini documentation","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}