Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like /propose. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Chance","description":"An AI harness for your money. Set up a Desk, connect your apps and wallets, and use crypto privately on Starknet.","colors":{"primary":"#0A01BD","light":"#0A01BD","dark":"#171717"},"logo":{"light":"https://mintcdn.com/chance/HYb9hteNOAOTB9WR/logo/light.png?fit=max\u0026auto=format\u0026n=HYb9hteNOAOTB9WR\u0026q=85\u0026s=4fd2723a7219bca29fde003c3c8ffb8c","dark":"https://mintcdn.com/chance/HYb9hteNOAOTB9WR/logo/dark.png?fit=max\u0026auto=format\u0026n=HYb9hteNOAOTB9WR\u0026q=85\u0026s=fc2255c6e35c4307126736f6b3667ab2","href":"https://docs.chance.cc"},"favicon":"https://mintcdn.com/chance/pGTENfLnNqMF6Oyr/favicon.png?fit=max\u0026auto=format\u0026n=pGTENfLnNqMF6Oyr\u0026q=85\u0026s=a57496ae2539ec1db9487d424374eeae","appearance":{"default":"light","strict":true},"background":{"color":{"light":"#F5F5F5","dark":"#171717"}},"footer":{"socials":{"website":"https://chance.cc"}},"fonts":{"family":"Geist"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"chance","hasAudioNarration":false,"actualSubdomain":"chance","customDomains":["docs.chance.cc"],"gitSource":{"type":"github","owner":"kryptopaul","repo":"chance-harness","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae9f35e05f836676fde9832","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"Chance Verification","count":48},{"language":"default","tag":"Payload adapters","count":18},{"language":"default","tag":"Use Chance","count":17},{"language":"default","tag":"HTTP endpoints","count":17},{"language":"default","tag":"Trading","count":9},{"language":"default","tag":"Wallets and payments","count":8},{"language":"default","tag":"Integrate","count":7},{"language":"default","tag":"Your Desk","count":7},{"language":"default","tag":"Chance verification","count":6},{"language":"default","tag":"Escrow wallets","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--chance-ink: #171717;--chance-muted: #696969;--chance-page: #f5f5f5;--chance-white: #fff;--chance-blue: #0a01bd}body{font-feature-settings:\"cv03\", \"cv04\", \"cv09\", \"cv11\"}#page-title{color:var(--chance-ink);font-weight:600;letter-spacing:-0.035em;line-height:1.12}#content-area{--tw-prose-body: #3f3f3f;--tw-prose-headings: var(--chance-ink);--tw-prose-links: var(--chance-ink)}#content-area h2,#content-area h3{letter-spacing:-0.025em}#content-area a:not(.card):not(.chance-button){text-decoration-color:#a3a3a3;text-underline-offset:3px}#content-area .card{background:var(--chance-white);border:0;border-radius:26px;box-shadow:none;transition:background-color 140ms ease}#content-area .card:hover{background:#ededed}#content-area .card h2,#content-area .card h3{color:var(--chance-ink)}#content-area blockquote{background:var(--chance-white);border:0;border-radius:20px;padding:16px 22px;font-style:normal;color:var(--chance-ink)}#content-area blockquote p{margin:0}.chance-intro{display:flex;align-items:center;gap:28px;margin:24px 0 32px;padding:28px;background:var(--chance-white);border-radius:26px}.chance-intro>div{flex:1;min-width:0}.chance-intro p{margin:0 0 22px;font-size:18px;line-height:1.6}.chance-intro img{flex:0 0 176px;width:176px;height:176px;object-fit:contain;margin:0}.chance-intro-compact img{flex-basis:128px;width:128px;height:128px}.chance-intro-compact p{margin:0}#content-area .chance-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 22px;border-radius:999px;background:var(--chance-ink);color:var(--chance-white);font-size:16px;font-weight:550;text-decoration:none;white-space:nowrap;transition:background-color 140ms ease}#content-area .chance-button:hover{background:#303030}a:focus-visible,button:focus-visible{outline:2px solid var(--chance-ink);outline-offset:4px}.chance-requests{display:grid;gap:8px;margin:20px 0}.chance-requests p{margin:0;padding:14px 20px;border-radius:20px;background:var(--chance-white)}@media (max-width: 640px){.chance-intro{gap:16px;padding:22px;flex-direction:column-reverse;align-items:flex-start}.chance-intro img{flex:0 0 auto;width:112px;height:112px;align-self:center}.chance-intro p{font-size:17px}.chance-intro-compact{flex-direction:row}.chance-intro-compact img{width:80px;height:80px}.chance-intro-compact p{font-size:16px}}@media (prefers-reduced-motion: reduce){#content-area .card,#content-area .chance-button{transition:none}}#sidebar a[aria-current=\"page\"]{color:var(--chance-ink);background:var(--chance-white);border-radius:999px}"}],"page":{"pagePath":"api-reference/escrow-wallets/propose-a-swap","slug":"/api-reference/escrow-wallets/propose-a-swap","pageMetadata":{"title":"Propose a swap","description":"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like `/propose`. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/wallets/{id}/swap","href":"/api-reference/escrow-wallets/propose-a-swap","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like \", _jsx(_components.code, {\n children: \"/propose\"\n }), \". For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.\"]\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":"Propose a swap","description":"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like `/propose`. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/wallets/{id}/swap","href":"/api-reference/escrow-wallets/propose-a-swap","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Escrow wallets"],"summary":"Propose a swap","operationId":"proposeSwap","description":"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like `/propose`. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.","parameters":["ab5ffad0-ad99-4ee3-80af-2673e7fca45b"],"requestBody":"b97f730e-cc2e-448f-9181-2b81174ef5fc","responses":{"200":"25bd13a4-3a57-4d30-b6a7-dff10d6c741c","400":"322aada3-88f8-44f8-9d30-41ec0aa5a066","401":"a0d6f8fd-0036-42af-9762-f48b28d0a9ae","402":"c14561b8-4c2b-4ff5-b4fd-7f8ac0d022b8","404":"281acae6-c0d2-427e-80a9-da1f0c86ed43","409":"8e8b1985-a010-4a9a-921b-557e4cf2a888","500":"45e3751d-e833-4d94-b545-e64ac010633a","502":"6a22d950-3473-4c40-a4b1-16dc7ee4098d","503":"c35e4cdc-b43c-4a35-9c35-b23645d5241f"},"method":"post","type":"path","servers":["bfc22b5f-4ee3-4412-99b3-fdfde594f00f"],"security":["a4f688e3-d96d-45f1-bc7a-66801e7ff5c4","2902b8e5-cca2-4322-8bd2-bd6c6f3ad015"],"path":"/api/v1/wallets/{id}/swap","baseUrlOptions":["https://harness.chance.cc"],"title":"Propose a swap","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ab5ffad0-ad99-4ee3-80af-2673e7fca45b":{"name":"id","in":"path","required":true,"description":"The wallet's id (UUID) or its name.","schema":{"type":"string","isRequired":true,"description":"The wallet's id (UUID) or its name.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["sell","buy","amount","chain"],"properties":{"sell":{"type":"string","description":"0x token address, `ETH`, `WETH`, `USDC`, or a symbol the wallet holds on this chain.","isRequired":true,"uniqueKey":"sell","typeLabel":"string"},"buy":{"type":"string","description":"0x token address, `ETH`, `WETH` or `USDC`.","isRequired":true,"uniqueKey":"buy","typeLabel":"string"},"amount":{"type":"string","description":"Amount to sell, in the sell token's units.","isRequired":true,"uniqueKey":"amount","typeLabel":"string"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","robinhood"],"description":"Supported EVM target network. The wallet must be an EVM wallet and a swap route must be available.","isRequired":true,"uniqueKey":"chain","typeLabel":"enum\u003cstring>"},"slippageBps":{"type":"integer","minimum":1,"maximum":1000,"default":50,"uniqueKey":"slippageBps","typeLabel":"integer"},"note":{"type":"string","description":"Context for the judge, treated as untrusted narration.","uniqueKey":"note","typeLabel":"string"}},"example":{"sell":"USDC","buy":"WETH","amount":"25","chain":"base","slippageBps":50},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"sell":"USDC","buy":"WETH","amount":"25","chain":"base","slippageBps":50}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"25bd13a4-3a57-4d30-b6a7-dff10d6c741c":{"description":"The proposal outcome and the quote.","content":{"application/json":{"schema":{"type":"object","properties":{"txId":{"type":"string","description":"Escrow transaction id. Poll it at `/api/v1/escrow-transactions/{id}`.","uniqueKey":"txId","typeLabel":"string"},"status":{"type":"string","enum":["blocked","awaiting_user","executing","executed","failed"],"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"verdict":{"oneOf":[{"type":"string","description":"ALLOW, BLOCK or ESCALATE. `BLOCK` without a `scanId` means the wallet's limits refused it before the judge ran.","uniqueKey":"verdict.oneOf.0","typeLabel":"string"},{"type":"null","description":"ALLOW, BLOCK or ESCALATE. `BLOCK` without a `scanId` means the wallet's limits refused it before the judge ran.","uniqueKey":"verdict.oneOf.1","typeLabel":"null"}],"uniqueKey":"verdict","typeLabel":"string | null"},"reasoning":{"oneOf":[{"type":"string","uniqueKey":"reasoning.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"reasoning.oneOf.1","typeLabel":"null"}],"uniqueKey":"reasoning","typeLabel":"string | null"},"requestHash":{"type":"string","description":"Hash of the canonical payload the wallet will sign. Execution recomputes it and refuses on a mismatch.","uniqueKey":"requestHash","typeLabel":"string"},"simulation":{"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","uniqueKey":"simulation.oneOf.0.ok","typeLabel":"boolean"},"status":{"type":"string","enum":["clean","reverted","unavailable"],"description":"Only `clean` can execute without the owner.","uniqueKey":"simulation.oneOf.0.status","typeLabel":"enum\u003cstring>"},"declared":{"type":"boolean","description":"True when the effects come from a named transfer rather than a trace.","uniqueKey":"simulation.oneOf.0.declared","typeLabel":"boolean"},"wouldRevert":{"oneOf":[{"type":"boolean","uniqueKey":"simulation.oneOf.0.wouldRevert.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"simulation.oneOf.0.wouldRevert.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.wouldRevert","typeLabel":"boolean | null"},"error":{"oneOf":[{"type":"string","uniqueKey":"simulation.oneOf.0.error.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"simulation.oneOf.0.error.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.error","typeLabel":"string | null"},"caip2":{"type":"string","uniqueKey":"simulation.oneOf.0.caip2","typeLabel":"string"},"changes":{"type":"array","items":{"type":"object","properties":{"direction":{"type":"string","enum":["in","out"],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].direction","typeLabel":"enum\u003cstring>"},"assetType":{"type":"string","enum":["native","erc20","erc721","erc1155","spl"],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].assetType","typeLabel":"enum\u003cstring>"},"changeType":{"oneOf":[{"type":"string","enum":["transfer","approve",null],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].changeType.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["transfer","approve",null],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].changeType.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].changeType","typeLabel":"enum\u003cstring> | null"},"symbol":{"oneOf":[{"type":"string","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].symbol.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].symbol.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].symbol","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].name","typeLabel":"string | null"},"contractAddress":{"oneOf":[{"type":"string","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].contractAddress.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].contractAddress.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].contractAddress","typeLabel":"string | null"},"rawAmount":{"type":"string","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].rawAmount","typeLabel":"string"},"decimals":{"oneOf":[{"type":"integer","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].decimals.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].decimals.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].decimals","typeLabel":"integer | null"},"amount":{"oneOf":[{"type":"string","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].amount.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].amount.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].amount","typeLabel":"string | null"},"usdValue":{"oneOf":[{"type":"number","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].usdValue.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].usdValue.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].usdValue","typeLabel":"number | null"},"counterparty":{"oneOf":[{"type":"string","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].counterparty.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].counterparty.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].counterparty","typeLabel":"string | null"},"logoUrl":{"oneOf":[{"type":"string","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].logoUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].logoUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX].logoUrl","typeLabel":"string | null"}},"uniqueKey":"simulation.oneOf.0.changes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"simulation.oneOf.0.changes","typeLabel":"object[]"},"totalUsdOut":{"oneOf":[{"type":"number","uniqueKey":"simulation.oneOf.0.totalUsdOut.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"simulation.oneOf.0.totalUsdOut.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.totalUsdOut","typeLabel":"number | null"},"totalUsdIn":{"oneOf":[{"type":"number","uniqueKey":"simulation.oneOf.0.totalUsdIn.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"simulation.oneOf.0.totalUsdIn.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.totalUsdIn","typeLabel":"number | null"},"gasUsed":{"oneOf":[{"type":"string","uniqueKey":"simulation.oneOf.0.gasUsed.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"simulation.oneOf.0.gasUsed.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.gasUsed","typeLabel":"string | null"},"logsExcerpt":{"type":"array","items":{"type":"string","uniqueKey":"simulation.oneOf.0.logsExcerpt.items.[INDEX]","typeLabel":"string"},"uniqueKey":"simulation.oneOf.0.logsExcerpt","typeLabel":"string[]"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"simulation.oneOf.0.warnings.items.[INDEX]","typeLabel":"string"},"uniqueKey":"simulation.oneOf.0.warnings","typeLabel":"string[]"},"simulatedAt":{"type":"string","format":"date-time","uniqueKey":"simulation.oneOf.0.simulatedAt","typeLabel":"string\u003cdate-time>"},"provider":{"oneOf":[{"type":"string","enum":["tatum","alchemy","starknet-rpc",null],"uniqueKey":"simulation.oneOf.0.provider.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["tatum","alchemy","starknet-rpc",null],"uniqueKey":"simulation.oneOf.0.provider.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.provider","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"simulation.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"simulation.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation","typeLabel":"object | null"},"approvalUrl":{"oneOf":[{"type":"string","description":"Set when the proposal waits for the owner. Send it to them; an API key cannot confirm.","uniqueKey":"approvalUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Set when the proposal waits for the owner. Send it to them; an API key cannot confirm.","uniqueKey":"approvalUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"approvalUrl","typeLabel":"string | null"},"txHash":{"oneOf":[{"type":"string","description":"Set when the proposal executed.","uniqueKey":"txHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"Set when the proposal executed.","uniqueKey":"txHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"txHash","typeLabel":"string | null"},"scanId":{"oneOf":[{"type":"string","description":"Verification id. Null when no judge ran.","uniqueKey":"scanId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Verification id. Null when no judge ran.","uniqueKey":"scanId.oneOf.1","typeLabel":"null"}],"uniqueKey":"scanId","typeLabel":"string | null"},"creditsRemaining":{"oneOf":[{"type":"integer","description":"Null when no credit was charged.","uniqueKey":"creditsRemaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Null when no credit was charged.","uniqueKey":"creditsRemaining.oneOf.1","typeLabel":"null"}],"uniqueKey":"creditsRemaining","typeLabel":"integer | null"},"proof":{"oneOf":[{"type":"object","description":"Null when no judge ran.","properties":{"transcriptRoot":{"oneOf":[{"type":"string","description":"Head of the transcript hash chain.","uniqueKey":"proof.oneOf.0.transcriptRoot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Head of the transcript hash chain.","uniqueKey":"proof.oneOf.0.transcriptRoot.oneOf.1","typeLabel":"null"}],"uniqueKey":"proof.oneOf.0.transcriptRoot","typeLabel":"string | null"},"outputHash":{"oneOf":[{"type":"string","description":"keccak256 of the judge's full output text.","uniqueKey":"proof.oneOf.0.outputHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"keccak256 of the judge's full output text.","uniqueKey":"proof.oneOf.0.outputHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"proof.oneOf.0.outputHash","typeLabel":"string | null"},"signature":{"oneOf":[{"type":"string","description":"EIP-191 signature by the judge key over the run digest.","uniqueKey":"proof.oneOf.0.signature.oneOf.0","typeLabel":"string"},{"type":"null","description":"EIP-191 signature by the judge key over the run digest.","uniqueKey":"proof.oneOf.0.signature.oneOf.1","typeLabel":"null"}],"uniqueKey":"proof.oneOf.0.signature","typeLabel":"string | null"},"judge":{"oneOf":[{"type":"string","description":"Address of the judge key.","uniqueKey":"proof.oneOf.0.judge.oneOf.0","typeLabel":"string"},{"type":"null","description":"Address of the judge key.","uniqueKey":"proof.oneOf.0.judge.oneOf.1","typeLabel":"null"}],"uniqueKey":"proof.oneOf.0.judge","typeLabel":"string | null"},"attested":{"type":"boolean","description":"True when the signing key's attestation mode is Azure SEV-SNP.","uniqueKey":"proof.oneOf.0.attested","typeLabel":"boolean"},"anchorTx":{"oneOf":[{"type":"string","description":"Anchor transaction hash. Null when anchoring was skipped or failed.","uniqueKey":"proof.oneOf.0.anchorTx.oneOf.0","typeLabel":"string"},{"type":"null","description":"Anchor transaction hash. Null when anchoring was skipped or failed.","uniqueKey":"proof.oneOf.0.anchorTx.oneOf.1","typeLabel":"null"}],"uniqueKey":"proof.oneOf.0.anchorTx","typeLabel":"string | null"},"anchorVerified":{"type":"boolean","description":"True when the registry confirmed the record after the anchor transaction.","uniqueKey":"proof.oneOf.0.anchorVerified","typeLabel":"boolean"},"transcriptUri":{"type":"string","description":"`/api/runs/{runId}/transcript`. Owner-only: send the owning account's API key, or open `/verify/{runId}` signed in.","uniqueKey":"proof.oneOf.0.transcriptUri","typeLabel":"string"},"explorerTx":{"oneOf":[{"type":"string","description":"Explorer link for the anchor: basescan.org for Base, voyager.online for Starknet.","uniqueKey":"proof.oneOf.0.explorerTx.oneOf.0","typeLabel":"string"},{"type":"null","description":"Explorer link for the anchor: basescan.org for Base, voyager.online for Starknet.","uniqueKey":"proof.oneOf.0.explorerTx.oneOf.1","typeLabel":"null"}],"uniqueKey":"proof.oneOf.0.explorerTx","typeLabel":"string | null"}},"uniqueKey":"proof.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"proof.oneOf.1","typeLabel":"null"}],"uniqueKey":"proof","typeLabel":"object | null"},"swap":{"type":"object","properties":{"routing":{"type":"string","uniqueKey":"swap.routing","typeLabel":"string"},"sell":{"type":"object","properties":{"address":{"type":"string","uniqueKey":"swap.sell.address","typeLabel":"string"},"decimals":{"type":"integer","uniqueKey":"swap.sell.decimals","typeLabel":"integer"},"symbol":{"type":"string","uniqueKey":"swap.sell.symbol","typeLabel":"string"}},"uniqueKey":"swap.sell","typeLabel":"object"},"buy":{"type":"object","properties":{"address":{"type":"string","uniqueKey":"swap.buy.address","typeLabel":"string"},"decimals":{"type":"integer","uniqueKey":"swap.buy.decimals","typeLabel":"integer"},"symbol":{"type":"string","uniqueKey":"swap.buy.symbol","typeLabel":"string"}},"uniqueKey":"swap.buy","typeLabel":"object"},"amountIn":{"oneOf":[{"type":"string","description":"Base units.","uniqueKey":"swap.amountIn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Base units.","uniqueKey":"swap.amountIn.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.amountIn","typeLabel":"string | null"},"amountOut":{"oneOf":[{"type":"string","uniqueKey":"swap.amountOut.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"swap.amountOut.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.amountOut","typeLabel":"string | null"},"minimumOut":{"oneOf":[{"type":"string","uniqueKey":"swap.minimumOut.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"swap.minimumOut.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.minimumOut","typeLabel":"string | null"},"amountInHuman":{"oneOf":[{"type":"string","uniqueKey":"swap.amountInHuman.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"swap.amountInHuman.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.amountInHuman","typeLabel":"string | null"},"amountOutHuman":{"oneOf":[{"type":"string","uniqueKey":"swap.amountOutHuman.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"swap.amountOutHuman.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.amountOutHuman","typeLabel":"string | null"},"minimumOutHuman":{"oneOf":[{"type":"string","description":"The floor written into the signed swap.","uniqueKey":"swap.minimumOutHuman.oneOf.0","typeLabel":"string"},{"type":"null","description":"The floor written into the signed swap.","uniqueKey":"swap.minimumOutHuman.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.minimumOutHuman","typeLabel":"string | null"},"priceImpactPct":{"oneOf":[{"type":"number","uniqueKey":"swap.priceImpactPct.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"swap.priceImpactPct.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.priceImpactPct","typeLabel":"number | null"},"slippagePct":{"oneOf":[{"type":"number","uniqueKey":"swap.slippagePct.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"swap.slippagePct.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.slippagePct","typeLabel":"number | null"},"gasFeeUSD":{"oneOf":[{"type":"string","uniqueKey":"swap.gasFeeUSD.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"swap.gasFeeUSD.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.gasFeeUSD","typeLabel":"string | null"},"routeString":{"oneOf":[{"type":"string","uniqueKey":"swap.routeString.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"swap.routeString.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.routeString","typeLabel":"string | null"},"approvalNeeded":{"type":"boolean","description":"True when the batch includes an approval for exactly the sell amount.","uniqueKey":"swap.approvalNeeded","typeLabel":"boolean"},"approvalSpender":{"oneOf":[{"type":"string","uniqueKey":"swap.approvalSpender.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"swap.approvalSpender.oneOf.1","typeLabel":"null"}],"uniqueKey":"swap.approvalSpender","typeLabel":"string | null"}},"uniqueKey":"swap","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"txId":"\u003cstring>","status":"blocked","verdict":"\u003cstring>","reasoning":"\u003cstring>","requestHash":"\u003cstring>","simulation":{"ok":true,"status":"clean","declared":true,"wouldRevert":true,"error":"\u003cstring>","caip2":"\u003cstring>","changes":[{"direction":"in","assetType":"native","changeType":"transfer","symbol":"\u003cstring>","name":"\u003cstring>","contractAddress":"\u003cstring>","rawAmount":"\u003cstring>","decimals":123,"amount":"\u003cstring>","usdValue":123,"counterparty":"\u003cstring>","logoUrl":"\u003cstring>"}],"totalUsdOut":123,"totalUsdIn":123,"gasUsed":"\u003cstring>","logsExcerpt":["\u003cstring>"],"warnings":["\u003cstring>"],"simulatedAt":"2023-11-07T05:31:56Z","provider":"tatum"},"approvalUrl":"\u003cstring>","txHash":"\u003cstring>","scanId":"\u003cstring>","creditsRemaining":123,"proof":{"transcriptRoot":"\u003cstring>","outputHash":"\u003cstring>","signature":"\u003cstring>","judge":"\u003cstring>","attested":true,"anchorTx":"\u003cstring>","anchorVerified":true,"transcriptUri":"\u003cstring>","explorerTx":"\u003cstring>"},"swap":{"routing":"\u003cstring>","sell":{"address":"\u003cstring>","decimals":123,"symbol":"\u003cstring>"},"buy":{"address":"\u003cstring>","decimals":123,"symbol":"\u003cstring>"},"amountIn":"\u003cstring>","amountOut":"\u003cstring>","minimumOut":"\u003cstring>","amountInHuman":"\u003cstring>","amountOutHuman":"\u003cstring>","minimumOutHuman":"\u003cstring>","priceImpactPct":123,"slippagePct":123,"gasFeeUSD":"\u003cstring>","routeString":"\u003cstring>","approvalNeeded":true,"approvalSpender":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"322aada3-88f8-44f8-9d30-41ec0aa5a066":{"description":"Invalid body, token, amount or slippage, or the wallet is on another chain.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"An error code (for example `out_of_credits`) or a short sentence (for example `intent is required`).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detail, when present.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"e0":{"title":"e0","value":{"error":"invalid JSON body"}},"e1":{"title":"e1","value":{"error":"sell, buy and amount are required"}},"e2":{"title":"e2","value":{"error":"chain must be \"ethereum\" or \"base\""}},"e3":{"title":"e3","value":{"error":"swap_failed","message":"unknown token \"ABC\" …"}}},"exampleType":"examples"}},"exampleType":"examples"},"a0d6f8fd-0036-42af-9762-f48b28d0a9ae":{"description":"No API key, or the key is unknown or revoked.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"An error code (for example `out_of_credits`) or a short sentence (for example `intent is required`).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detail, when present.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"e0":{"title":"e0","value":{"error":"missing API key (send x-api-key)"}},"e1":{"title":"e1","value":{"error":"invalid or revoked API key"}}},"exampleType":"examples"}},"exampleType":"examples"},"c14561b8-4c2b-4ff5-b4fd-7f8ac0d022b8":{"description":"Out of credits. The proposal is recorded as blocked.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"An error code (for example `out_of_credits`) or a short sentence (for example `intent is required`).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detail, when present.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"propose_failed","message":"No credits remaining. …"},"examples":{"Example":{"title":"Example","value":{"error":"propose_failed","message":"No credits remaining. …"}}},"exampleType":"examples"}},"exampleType":"examples"},"281acae6-c0d2-427e-80a9-da1f0c86ed43":{"description":"No such wallet on this account.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"An error code (for example `out_of_credits`) or a short sentence (for example `intent is required`).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detail, when present.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"not_found"},"examples":{"Example":{"title":"Example","value":{"error":"not_found"}}},"exampleType":"examples"}},"exampleType":"examples"},"8e8b1985-a010-4a9a-921b-557e4cf2a888":{"description":"The wallet cannot transact: archived, or a safe wallet from before self-custodial safe mode.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"An error code (for example `out_of_credits`) or a short sentence (for example `intent is required`).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detail, when present.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"propose_failed","message":"wallet is not active"},"examples":{"Example":{"title":"Example","value":{"error":"propose_failed","message":"wallet is not active"}}},"exampleType":"examples"}},"exampleType":"examples"},"45e3751d-e833-4d94-b545-e64ac010633a":{"description":"Unexpected failure.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"An error code (for example `out_of_credits`) or a short sentence (for example `intent is required`).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detail, when present.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"swap_failed","message":"…"},"examples":{"Example":{"title":"Example","value":{"error":"swap_failed","message":"…"}}},"exampleType":"examples"}},"exampleType":"examples"},"6a22d950-3473-4c40-a4b1-16dc7ee4098d":{"description":"The quote service or the judge failed.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"An error code (for example `out_of_credits`) or a short sentence (for example `intent is required`).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detail, when present.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"e0":{"title":"e0","value":{"error":"swap_failed","message":"Uniswap quote failed: …"}},"e1":{"title":"e1","value":{"error":"propose_failed","message":"…"}}},"exampleType":"examples"}},"exampleType":"examples"},"c35e4cdc-b43c-4a35-9c35-b23645d5241f":{"description":"Swaps are not configured on this deployment.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"An error code (for example `out_of_credits`) or a short sentence (for example `intent is required`).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detail, when present.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"swap_failed","message":"Uniswap swaps are not configured on this deployment (UNISWAP_API_KEY is not set)"},"examples":{"Example":{"title":"Example","value":{"error":"swap_failed","message":"Uniswap swaps are not configured on this deployment (UNISWAP_API_KEY is not set)"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"a4f688e3-d96d-45f1-bc7a-66801e7ff5c4":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"An API key (`chance_sk_live_…`) from https://harness.chance.cc/keys.","scopes":[],"schemeName":"ApiKeyAuth"}},"2902b8e5-cca2-4322-8bd2-bd6c6f3ad015":{"BearerAuth":{"type":"http","scheme":"bearer","description":"The same API key sent as `Authorization: Bearer \u003ckey>`. If both headers are sent, `x-api-key` is used.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"bfc22b5f-4ee3-4412-99b3-fdfde594f00f":{"url":"https://harness.chance.cc","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"An API key (`chance_sk_live_…`) from https://harness.chance.cc/keys.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"An API key (`chance_sk_live_…`) from https://harness.chance.cc/keys.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"The same API key sent as `Authorization: Bearer \u003ckey>`. If both headers are sent, `x-api-key` is used.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"The same API key sent as `Authorization: Bearer \u003ckey>`. If both headers are sent, `x-api-key` is used.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"chance","siteName":"Chance","title":"Propose a swap - Chance","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-12T00:41:01.363Z","originalFileLocation":"api-reference/escrow-wallets/propose-a-swap.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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=\"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like /propose. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Chance\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/chance/xc4kUFXxmiygn3ck/_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/chance/xc4kUFXxmiygn3ck/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/chance/xc4kUFXxmiygn3ck/_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/chance/xc4kUFXxmiygn3ck/_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/chance/xc4kUFXxmiygn3ck/_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/chance/xc4kUFXxmiygn3ck/_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/chance/xc4kUFXxmiygn3ck/_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/chance/xc4kUFXxmiygn3ck/_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/chance/xc4kUFXxmiygn3ck/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Propose a swap - Chance\">\u003cmeta data-mint-head property=\"og:description\" content=\"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like /propose. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Chance\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://chance.mintlify.site/_mintlify/api/og/v2?division=Escrow+wallets\u0026amp;title=Propose+a+swap\u0026amp;description=Quotes+the+swap+on+the+Uniswap+Trading+API%2C+builds+the+batch+%28an+approval+for+exactly+the+sell+amount+when+needed%2C+then+the+swap%29+and+proposes+it+like+%60%2Fpropose\u0026amp;theme=0072fa2952a8a9cb5de618d8\u0026amp;signature=bad7551a84e4c21ea4f5c78b6003c169ab6f4f7b2889f1456d842a450b4529d3\">\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=\"Propose a swap - Chance\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like /propose. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://chance.mintlify.site/_mintlify/api/og/v2?division=Escrow+wallets\u0026amp;title=Propose+a+swap\u0026amp;description=Quotes+the+swap+on+the+Uniswap+Trading+API%2C+builds+the+batch+%28an+approval+for+exactly+the+sell+amount+when+needed%2C+then+the+swap%29+and+proposes+it+like+%60%2Fpropose\u0026amp;theme=0072fa2952a8a9cb5de618d8\u0026amp;signature=bad7551a84e4c21ea4f5c78b6003c169ab6f4f7b2889f1456d842a450b4529d3\">\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/chance/xc4kUFXxmiygn3ck/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Chance\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A01BD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/escrow-wallets/propose-a-swap.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.chance.cc/#organization\",\"name\":\"Chance\",\"url\":\"https://docs.chance.cc\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/chance/HYb9hteNOAOTB9WR/logo/light.png?fit=max\u0026auto=format\u0026n=HYb9hteNOAOTB9WR\u0026q=85\u0026s=4fd2723a7219bca29fde003c3c8ffb8c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.chance.cc#website\",\"name\":\"Chance\",\"url\":\"https://docs.chance.cc\",\"publisher\":{\"@id\":\"https://docs.chance.cc/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap#webpage\",\"url\":\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap\",\"name\":\"Propose a swap\",\"description\":\"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like /propose. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.\",\"dateModified\":\"2026-10-12T00:41:01.363Z\",\"isPartOf\":{\"@id\":\"https://docs.chance.cc#website\"},\"breadcrumb\":{\"@id\":\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HTTP endpoints\",\"item\":\"https://docs.chance.cc/api-reference/verification/verify-an-action\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Escrow wallets\",\"item\":\"https://docs.chance.cc/api-reference/escrow-wallets/list-wallets\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Propose a swap\",\"item\":\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap#apireference\",\"headline\":\"Propose a swap\",\"name\":\"Propose a swap\",\"description\":\"Quotes the swap on the Uniswap Trading API, builds the batch (an approval for exactly the sell amount when needed, then the swap) and proposes it like /propose. For supported EVM routes. Jupiter and LI.FI use separate MCP tools. One credit when the judge runs.\",\"url\":\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap\",\"mainEntityOfPage\":{\"@id\":\"https://docs.chance.cc/api-reference/escrow-wallets/propose-a-swap#webpage\"},\"dateModified\":\"2026-10-12T00:41:01.363Z\",\"publisher\":{\"@id\":\"https://docs.chance.cc/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.chance.cc#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Chance\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Chance\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/escrow-wallets/propose-a-swap.md","siteName":"Chance","nav":{"global":null,"tabs":[{"tab":"Use Chance","pages":[{"title":"Use Chance","href":""}]},{"tab":"Privacy","pages":[{"title":"Privacy","href":"/privacy/overview"}]},{"tab":"Chance Verification","groups":[{"group":"Integrate","pages":[{"title":"API overview","sidebarTitle":"Overview","href":"/api-reference/introduction"},{"title":"Verify an action","href":"/api-reference/quickstart"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Connectors","href":"/connectors"},{"title":"Local MCP server","href":"/mcp-local"},{"title":"MCP tools","href":"/api-reference/mcp-tools"},{"title":"Wallet API","href":"/api-reference/escrow-wallets"}]},{"group":"Chance verification","pages":[{"title":"Verification","href":"/concepts/verification"},{"title":"Verification request","href":"/api-reference/verification-request"},{"title":"Receipts","href":"/concepts/proofs"},{"title":"Private records","href":"/concepts/private-records"},{"title":"Balance and top-ups","sidebarTitle":"API billing","href":"/concepts/credits"},{"title":"x402 payments","href":"/x402/verifier"}]},{"group":"Payload adapters","pages":[{"title":"Venue adapters","href":"/venues/overview"},{"group":"Trading","pages":[{"title":"Hyperliquid","href":"/venues/hyperliquid"},{"title":"Polymarket","href":"/venues/polymarket"},{"title":"Limitless","href":"/venues/limitless"},{"title":"Dimes","href":"/venues/dimes"},{"title":"Myriad Markets","href":"/venues/myriad"},{"title":"Orderly Network","href":"/venues/orderly"},{"title":"Derive","href":"/venues/derive"},{"title":"Liquid","href":"/venues/liquid"},{"title":"Robinhood","href":"/venues/robinhood"}]},{"group":"Wallets and payments","pages":[{"title":"LI.FI","href":"/venues/lifi"},{"title":"Uniswap","href":"/venues/uniswap"},{"title":"Alchemy","href":"/venues/alchemy"},{"title":"Solana","href":"/venues/solana"},{"title":"Starknet","href":"/venues/starknet"},{"title":"Meow","href":"/venues/meow"},{"title":"AgentCard","href":"/venues/agentcards"},{"title":"x402","href":"/venues/x402"}]}]},{"group":"HTTP endpoints","pages":[{"group":"Verification","pages":[{"title":"Verify an action","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/intent","href":"/api-reference/verification/verify-an-action"},{"title":"Get a verification","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/intent/{id}","href":"/api-reference/verification/get-a-verification"}]},{"group":"Credits","pages":[{"title":"Get balance and top-up terms","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/credits","href":"/api-reference/credits/get-balance-and-top-up-terms"},{"title":"Add account balance with x402","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/credits/topup","href":"/api-reference/credits/add-account-balance-with-x402"},{"title":"Get the top-up guide","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/credits/topup/guide","href":"/api-reference/credits/get-the-top-up-guide"}]},{"group":"Escrow wallets","pages":[{"title":"List wallets","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/wallets","href":"/api-reference/escrow-wallets/list-wallets"},{"title":"Create a wallet","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/wallets","href":"/api-reference/escrow-wallets/create-a-wallet"},{"title":"Get wallet balances","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/wallets/{id}/balances","href":"/api-reference/escrow-wallets/get-wallet-balances"},{"title":"Propose a transaction","description":"Simulates the input, checks the wallet's limits, then runs the judge against the wallet's mandate. An autonomous wallet executes an ALLOW with a clean, verifiable simulation. Everything else that is not blocked waits for the owner at `approvalUrl`. One credit when the judge runs; a proposal the limits block first is free.","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/wallets/{id}/propose","href":"/api-reference/escrow-wallets/propose-a-transaction"},{"title":"Propose a swap","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/wallets/{id}/swap","href":"/api-reference/escrow-wallets/propose-a-swap"},{"title":"Get a proposal's status","description":"Current status of one proposal. An approval past its window reads `expired`. Free.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/escrow-transactions/{id}","href":"/api-reference/escrow-wallets/get-a-proposals-status"}]},{"group":"Trader","pages":[{"title":"Report trader status","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/trader/heartbeat","href":"/api-reference/trader/report-trader-status"},{"title":"List trader instances","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/trader/instances","href":"/api-reference/trader/list-trader-instances"}]},{"group":"Gas sponsorship","pages":[{"title":"Prepare a sponsored transaction","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/gas/prepare","href":"/api-reference/gas-sponsorship/prepare-a-sponsored-transaction"},{"title":"Submit a sponsored transaction","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/gas/submit","href":"/api-reference/gas-sponsorship/submit-a-sponsored-transaction"},{"title":"Get sponsored transaction status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/gas/status","href":"/api-reference/gas-sponsorship/get-sponsored-transaction-status"}]},{"group":"Status","pages":[{"title":"Get deployment status","deprecated":null,"version":null,"openapi":"/openapi.json get /api/status","href":"/api-reference/status/get-deployment-status"}]}]}]}]},"basePath":"","title":"Propose a swap - Chance","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js","Markdown-uxhlayGT.js","clsx-B35qUV0p.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BvrGG8gU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CAf0yVYe.js"]}