Create a Swapped Connect flow for funding from a centralized exchange balance.
Start an exchange order for a registered account, then show Swapped’s hosted Connect flow in your app. Headless means you do not use the Rhinestone widget; users still complete the provider flow in Swapped’s UI.
provider, kind, and account are required. There’s no amount or payment-method prefill; the user chooses those inside the exchange flow. The optional fields:
Field
Type
Description
connection
string
Preselects the exchange or wallet (e.g. "binance")
connections
string[]
Your allowlist. Requires connection, which must be one of them; an unknown slug returns 400
baseCountry
string
User’s country (ISO 3166-1 alpha-2)
baseCurrencyCode
string
Fiat currency code
locale
string
Flow language
merchantName
string
Name shown on Swapped’s confirm screen
merchantLogoUrl
string
HTTPS logo shown beside merchantName
connections is not forwarded to Swapped, whose picker is configured per partner. Only connection narrows what a session shows, which is why declaring an allowlist without one is refused.The response matches the onramp checkout response: 202 with orderId, nextAction, and expiresAt. Full schema: POST /onramp/orders.
By default this lists the centralized exchanges. Pass connectionKind=wallet or connectionKind=all for Web3 wallets, or connections=binance,coinbase to resolve your own allowlist. Inside an embedded browser, offer no kind: "wallet" entry: that rail hands off to a wallet app over a URL scheme the container can’t open. Full schema: GET /onramp/options.
In a mobile app, open the URL in an in-app browser (SFSafariViewController on iOS, Chrome Custom Tabs on Android) rather than a plain WebView. Camera access and provider authentication can be restricted in bare WebViews.The URL has no redirect or callback parameter. Detect completion through the ramp-order webhook or by polling the order, then dismiss the provider UI from your own interface.
A user who abandons the connection flow produces no terminal event. Apply your own timeout when waiting on an order.
POST /onramp/swapped/connect-url and GET /onramp/swapped/connect-exchanges have been removed and return 404. Move to POST /onramp/orders with kind: "exchange" (smartAccount becomes account) and GET /onramp/options?provider=swapped&kind=exchange (the old kind filter becomes connectionKind, and the list is connections instead of exchanges). The mapping of the response is the same as for checkouts.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rhinestone","colors":{"primary":"#4f41ef","light":"#8479ff","dark":"#3428d1"},"logo":{"light":"https://mintcdn.com/rhinestone/IVpDy9zUkncYAe5u/logo/light.svg?fit=max\u0026auto=format\u0026n=IVpDy9zUkncYAe5u\u0026q=85\u0026s=6868a5854576ff60d371d5fdc0ae55c9","dark":"https://mintcdn.com/rhinestone/IVpDy9zUkncYAe5u/logo/dark.svg?fit=max\u0026auto=format\u0026n=IVpDy9zUkncYAe5u\u0026q=85\u0026s=2f9bff4fef6da993b8782b8e5d7357c5"},"favicon":"https://mintcdn.com/rhinestone/BVnq0VV8MigHINpS/favicon.svg?fit=max\u0026auto=format\u0026n=BVnq0VV8MigHINpS\u0026q=85\u0026s=25439e41b789b8369c52fa15ceae2644","appearance":{"default":"dark","strict":true},"background":{"color":{"dark":"#0C0C0C"}},"navbar":{"links":[{"href":"https://dashboard.rhinestone.dev","label":"Dashboard"},{"href":"https://github.com/rhinestonewtf","label":"GitHub"}]},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","claude","chatgpt"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Create API Key","icon":"key","href":"https://tally.so/r/wg22x4"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rhinestone","hasAudioNarration":false,"actualSubdomain":"rhinestone","customDomains":["docs.rhinestone.dev"],"gitSource":{"type":"github","owner":"rhinestonewtf","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb4295a60f76c94453464a","collectionId":"7618524b-8144-4f55-a620-58d79fbeddf2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb4295a60f76c94453464a"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb4295a60f76c94453464a","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Wallets","count":153},{"language":"default","tag":"Custom signer","count":107},{"language":"default","tag":"Deposits","count":88},{"language":"default","tag":"SDK reference","count":74},{"language":"default","tag":"API Reference","count":67},{"language":"default","tag":"Transactions","count":30},{"language":"default","tag":"Account","count":28},{"language":"default","tag":"Overview","count":25},{"language":"default","tag":"Actions","count":25},{"language":"default","tag":"Session keys","count":21}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--background: #0C0C0C}.vm-code-group{--vm-menu-bg: #fff;--vm-menu-border: rgb(0 0 0 / 10%);--vm-hover: rgb(0 0 0 / 5%);margin:1.5rem 0;border:1px solid #404045;border-radius:12px}.dark .vm-code-group{--vm-menu-bg: #171717;--vm-menu-border: rgb(255 255 255 / 10%);--vm-hover: rgb(255 255 255 / 7%)}.vm-code-group-header{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.375rem 0.75rem;border-bottom:1px solid #404045;font-size:0.8125rem}.vm-code-caption{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0.65}.vm-code-selector{position:relative;flex:none}.vm-code-trigger,.vm-code-option{display:flex;align-items:center;gap:0.5rem;min-height:32px;padding:0.375rem 0.5rem;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;line-height:1.25;cursor:pointer}.vm-code-trigger:hover,.vm-code-trigger[aria-expanded=\"true\"],.vm-code-option:hover,.vm-code-option:focus{background:var(--vm-hover)}.vm-code-trigger:focus-visible,.vm-code-option:focus-visible{outline:2px solid #8b7bf7;outline-offset:2px}.vm-code-group .vm-code-icon{display:block;flex:none;width:16px;height:16px;margin:0;border-radius:0}.vm-code-chevron{margin-left:0.125rem;opacity:0.55;transition:transform 150ms ease}.vm-code-trigger[aria-expanded=\"true\"] .vm-code-chevron{transform:rotate(180deg)}.vm-code-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:156px;padding:4px;border:1px solid var(--vm-menu-border);border-radius:10px;background:var(--vm-menu-bg);box-shadow:0 8px 24px rgb(0 0 0 / 18%)}.vm-code-option{width:100%;text-align:left}.vm-code-check{margin-left:auto;opacity:0.65}@media (pointer: coarse){.vm-code-trigger,.vm-code-option{min-height:44px}}@media (prefers-reduced-motion: reduce){.vm-code-chevron{transition:none}}.vm-code-group-panel>*{margin:0!important;border:0!important;border-radius:0 0 12px 12px;box-shadow:none!important}.vm-code-group-panel[hidden]{display:none}.prose table{display:table}table{border-collapse:separate;border-spacing:0;border:1px solid #404045;border-radius:8px;width:fit-content!important}table th,table td{border-right:1px solid #404045;border-bottom:1px solid #404045;padding:12px 16px!important}table th:last-child,table td:last-child{border-right:none}table tr:last-child td{border-bottom:none}table th{background-color:#201E2C}table th:first-child{border-radius:8px 0 0 0}table th:last-child{border-radius:0 8px 0 0}[data-component-name=\"mermaid-controls-wrapper\"]{display:none!important}.mermaid svg .actor{fill:#17132E!important;stroke:#373352!important}.mermaid svg rect.actor{rx:6;ry:6}.mermaid svg text.actor>tspan{fill:#D3CFF7!important}.mermaid svg .actor-line{stroke:#464359!important;stroke-width:1!important}.mermaid svg .messageLine0,.mermaid svg .messageLine1{stroke:#464359!important;stroke-width:1.5!important}.mermaid svg #arrowhead path,.mermaid svg [id$=\"-arrowhead\"] path{fill:#464359!important;stroke:#464359!important}.mermaid svg #crosshead path,.mermaid svg [id$=\"-crosshead\"] path{stroke:#464359!important}.mermaid svg .messageText{fill:#C7C6CC!important}.mermaid svg .activation0,.mermaid svg .activation1,.mermaid svg .activation2{fill:#17132E!important;stroke:#373352!important}.mermaid svg .note{fill:#17132E!important;stroke:#373352!important}.mermaid svg .noteText,.mermaid svg .noteText>tspan{fill:#C7C6CC!important}.mermaid svg .loopText,.mermaid svg .loopText>tspan{fill:#C7C6CC!important}.mermaid svg .loopLine{stroke:#373352!important}.mermaid svg .labelBox{fill:#17132E!important;stroke:#373352!important}.mermaid svg .labelText,.mermaid svg .labelText>tspan{fill:#C7C6CC!important}.mermaid svg .sequenceNumber{fill:#D3CFF7!important}.mermaid svg .node rect,.mermaid svg .node circle,.mermaid svg .node ellipse,.mermaid svg .node polygon,.mermaid svg .node path{fill:#17132E!important;stroke:#373352!important}.mermaid svg .nodeLabel,.mermaid svg .node .label{color:#D3CFF7!important;fill:#D3CFF7!important}.mermaid svg .flowchart-link{stroke:#464359!important}.mermaid svg .edgeLabel,.mermaid svg .edge-label{color:#C7C6CC!important;fill:#C7C6CC!important}.mermaid .labelBkg,.mermaid .labelBkg *{background:transparent!important}.mermaid svg .marker{fill:#464359!important;stroke:#464359!important}.dark #sidebar [data-active=\"true\"]{background-color:#141414!important;border-radius:6px}.deposit-demo{container-type:inline-size}.deposit-demo-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0}.deposit-demo-stage:has(iframe[data-ready=\"true\"]) .deposit-demo-loading{visibility:hidden}@container (max-width: 411px){.deposit-demo-stage{--deposit-demo-height: 629px}}"}],"page":{"pagePath":"deposits/headless/funding/create-an-exchange-connection","slug":"/deposits/headless/funding/create-an-exchange-connection","pageMetadata":{"title":"Create an exchange connection","description":"Create a Swapped Connect flow for funding from a centralized exchange balance.","href":"/deposits/headless/funding/create-an-exchange-connection"},"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: \"Create a Swapped Connect flow for funding from a centralized exchange balance.\"\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`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Start an exchange order for a registered account, then show Swapped’s hosted Connect flow in your app. Headless means you do not use the Rhinestone widget; users still complete the provider flow in Swapped’s UI.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How it works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Your backend starts an order with `,_jsx(_components.code,{children:`POST /onramp/orders`}),` and `,_jsx(_components.code,{children:`kind: \"exchange\"`}),`.`]}),`\n`,_jsx(_components.li,{children:`Your app shows the hosted flow in an iframe or in-app browser.`}),`\n`,_jsx(_components.li,{children:`The user chooses an exchange and completes the transfer in Swapped’s hosted flow.`}),`\n`,_jsxs(_components.li,{children:[`The order advances through its `,_jsx(_components.a,{href:`/deposits/headless/processing-and-tracking/track-onramp-and-exchange-orders#order-stages`,children:`stages`}),`, pushed as `,_jsx(_components.a,{href:`/deposits/headless/processing-and-tracking/webhooks#ramp-order`,children:_jsx(_components.code,{children:`ramp-order`})}),` webhooks.`]}),`\n`,_jsx(_components.li,{children:`The funded crypto lands on the account and enters the standard deposit pipeline.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The account is `,_jsx(_components.a,{href:`/deposits/headless/setup/account-registration`,children:`registered`}),`. Starting an order for an account that is not registered to your project returns `,_jsx(_components.code,{children:`403 Unauthorized`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.a,{href:`/deposits/headless/processing-and-tracking/webhooks#configure-webhooks`,children:`webhook URL`}),` is configured if you want order updates pushed rather than polled.`]}),`\n`,_jsx(_components.li,{children:`Calls are made from your backend. The endpoints require your API key, which never ships in client-side code.`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` DEPOSIT_SERVICE_URL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://v1.orchestrator.rhinestone.dev/deposit-processor\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` API_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"YOUR_RHINESTONE_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`start-an-order`,children:`Start an order`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"`\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`DEPOSIT_SERVICE_URL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"/onramp/orders`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` method:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"POST\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` headers:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` API_KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` body:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` JSON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`stringify`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` provider:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"swapped\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` kind:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"exchange\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` account:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"0xUSER_ACCOUNT_ADDRESS\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` connection:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"binance\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`orderId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`nextAction`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`expiresAt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`provider`}),`, `,_jsx(_components.code,{children:`kind`}),`, and `,_jsx(_components.code,{children:`account`}),` are required. There’s no amount or payment-method prefill; the user chooses those inside the exchange flow. The optional fields:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`connection`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsxs(_components.td,{children:[`Preselects the exchange or wallet (e.g. `,_jsx(_components.code,{children:`\"binance\"`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`connections`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string[]`})}),_jsxs(_components.td,{children:[`Your allowlist. Requires `,_jsx(_components.code,{children:`connection`}),`, which must be one of them; an unknown slug returns `,_jsx(_components.code,{children:`400`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`baseCountry`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`User’s country (ISO 3166-1 alpha-2)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`baseCurrencyCode`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Fiat currency code`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`locale`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Flow language`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`merchantName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Name shown on Swapped’s confirm screen`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`merchantLogoUrl`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsxs(_components.td,{children:[`HTTPS logo shown beside `,_jsx(_components.code,{children:`merchantName`})]})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`connections`}),` is not forwarded to Swapped, whose picker is configured per partner. Only `,_jsx(_components.code,{children:`connection`}),` narrows what a session shows, which is why declaring an allowlist without one is refused.`]}),`\n`,_jsxs(_components.p,{children:[`The response matches the `,_jsx(_components.a,{href:`/deposits/headless/funding/create-an-onramp-checkout#start-an-order`,children:`onramp checkout response`}),`: `,_jsx(_components.code,{children:`202`}),` with `,_jsx(_components.code,{children:`orderId`}),`, `,_jsx(_components.code,{children:`nextAction`}),`, and `,_jsx(_components.code,{children:`expiresAt`}),`. Full schema: `,_jsx(_components.a,{href:`/api-reference/deposit-service/onramp/start-an-onramp-order`,children:_jsx(_components.code,{children:`POST /onramp/orders`})}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`list-exchanges`,children:`List exchanges`}),`\n`,_jsx(_components.p,{children:`List the connections to offer:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `\"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`DEPOSIT_SERVICE_URL`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\"/onramp/options?provider=swapped\u0026kind=exchange`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`headers:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` API_KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } },`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`connections`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// [{ connection: \"binance\", name: \"Binance\", logoUrl: null, kind: \"exchange\", appHandoff: \"none\" }, …]`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`By default this lists the centralized exchanges. Pass `,_jsx(_components.code,{children:`connectionKind=wallet`}),` or `,_jsx(_components.code,{children:`connectionKind=all`}),` for Web3 wallets, or `,_jsx(_components.code,{children:`connections=binance,coinbase`}),` to resolve your own allowlist. Inside an embedded browser, offer no `,_jsx(_components.code,{children:`kind: \"wallet\"`}),` entry: that rail hands off to a wallet app over a URL scheme the container can’t open. Full schema: `,_jsx(_components.a,{href:`/api-reference/deposit-service/onramp/list-onramp-options`,children:_jsx(_components.code,{children:`GET /onramp/options`})}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`show-the-hosted-connection-flow`,children:`Show the hosted connection flow`}),`\n`,_jsxs(_components.p,{children:[`Embed `,_jsx(_components.code,{children:`nextAction.url`}),` in an iframe with the permissions needed by the provider:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`html`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`iframe`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` src`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`{nextAction.url}`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` allow`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"payment; camera; microphone; clipboard-write\"`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` /`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`In a mobile app, open the URL in an in-app browser (`,_jsx(_components.code,{children:`SFSafariViewController`}),` on iOS, Chrome Custom Tabs on Android) rather than a plain WebView. Camera access and provider authentication can be restricted in bare WebViews.`]}),`\n`,_jsxs(_components.p,{children:[`The URL has no redirect or callback parameter. Detect completion through the `,_jsx(_components.a,{href:`/deposits/headless/processing-and-tracking/webhooks#ramp-order`,children:_jsx(_components.code,{children:`ramp-order`})}),` webhook or by `,_jsx(_components.a,{href:`/deposits/headless/processing-and-tracking/track-onramp-and-exchange-orders#get-an-order`,children:`polling the order`}),`, then dismiss the provider UI from your own interface.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`A user who abandons the connection flow produces no terminal event. Apply your own timeout when waiting on an order.`})}),`\n`,_jsx(Heading,{level:`2`,id:`migrate-from-the-legacy-routes`,children:`Migrate from the legacy routes`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`POST /onramp/swapped/connect-url`}),` and `,_jsx(_components.code,{children:`GET /onramp/swapped/connect-exchanges`}),` have been removed and return `,_jsx(_components.code,{children:`404`}),`. Move to `,_jsx(_components.code,{children:`POST /onramp/orders`}),` with `,_jsx(_components.code,{children:`kind: \"exchange\"`}),` (`,_jsx(_components.code,{children:`smartAccount`}),` becomes `,_jsx(_components.code,{children:`account`}),`) and `,_jsx(_components.code,{children:`GET /onramp/options?provider=swapped\u0026kind=exchange`}),` (the old `,_jsx(_components.code,{children:`kind`}),` filter becomes `,_jsx(_components.code,{children:`connectionKind`}),`, and the list is `,_jsx(_components.code,{children:`connections`}),` instead of `,_jsx(_components.code,{children:`exchanges`}),`). The mapping of the response is the same as for `,_jsx(_components.a,{href:`/deposits/headless/funding/create-an-onramp-checkout#migrate-from-the-legacy-route`,children:`checkouts`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create an exchange connection","description":"Create a Swapped Connect flow for funding from a centralized exchange balance.","href":"/deposits/headless/funding/create-an-exchange-connection"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How it works","slug":"how-it-works","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Start an order","slug":"start-an-order","depth":2,"children":[]},{"title":"List exchanges","slug":"list-exchanges","depth":2,"children":[]},{"title":"Show the hosted connection flow","slug":"show-the-hosted-connection-flow","depth":2,"children":[]},{"title":"Migrate from the legacy routes","slug":"migrate-from-the-legacy-routes","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"rhinestone","siteName":"Rhinestone","title":"Create an exchange connection - Rhinestone","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-16T14:47:24.302Z","originalFileLocation":"deposits/headless/funding/create-an-exchange-connection.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";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=\"Create a Swapped Connect flow for funding from a centralized exchange balance.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rhinestone\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_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/rhinestone/3aadr-awyf35tysK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_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/rhinestone/3aadr-awyf35tysK/_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/rhinestone/3aadr-awyf35tysK/_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/rhinestone/3aadr-awyf35tysK/_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/rhinestone/3aadr-awyf35tysK/_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/rhinestone/3aadr-awyf35tysK/_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/rhinestone/3aadr-awyf35tysK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create an exchange connection - Rhinestone\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a Swapped Connect flow for funding from a centralized exchange balance.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rhinestone\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rhinestone.mintlify.site/_mintlify/api/og/v2?division=Funding\u0026amp;title=Create+an+exchange+connection\u0026amp;description=Create+a+Swapped+Connect+flow+for+funding+from+a+centralized+exchange+balance.\u0026amp;theme=480304d2cd15a3be6f477401\u0026amp;signature=8e673fe6dc5149e27b54265d7f3673442c2b6c467719dd60f2bc2d98a39df9c6\">\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=\"Create an exchange connection - Rhinestone\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a Swapped Connect flow for funding from a centralized exchange balance.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rhinestone.mintlify.site/_mintlify/api/og/v2?division=Funding\u0026amp;title=Create+an+exchange+connection\u0026amp;description=Create+a+Swapped+Connect+flow+for+funding+from+a+centralized+exchange+balance.\u0026amp;theme=480304d2cd15a3be6f477401\u0026amp;signature=8e673fe6dc5149e27b54265d7f3673442c2b6c467719dd60f2bc2d98a39df9c6\">\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/rhinestone/3aadr-awyf35tysK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rhinestone\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4f41ef\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/deposits/headless/funding/create-an-exchange-connection.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.rhinestone.dev/#organization\",\"name\":\"Rhinestone\",\"url\":\"https://docs.rhinestone.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rhinestone/IVpDy9zUkncYAe5u/logo/light.svg?fit=max\u0026auto=format\u0026n=IVpDy9zUkncYAe5u\u0026q=85\u0026s=6868a5854576ff60d371d5fdc0ae55c9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.rhinestone.dev#website\",\"name\":\"Rhinestone\",\"url\":\"https://docs.rhinestone.dev\",\"publisher\":{\"@id\":\"https://docs.rhinestone.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection#webpage\",\"url\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection\",\"name\":\"Create an exchange connection\",\"description\":\"Create a Swapped Connect flow for funding from a centralized exchange balance.\",\"dateModified\":\"2026-10-16T14:47:24.302Z\",\"isPartOf\":{\"@id\":\"https://docs.rhinestone.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Funding\",\"item\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-onramp-checkout\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create an exchange connection\",\"item\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection#article\",\"headline\":\"Create an exchange connection\",\"name\":\"Create an exchange connection\",\"description\":\"Create a Swapped Connect flow for funding from a centralized exchange balance.\",\"url\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rhinestone.dev/deposits/headless/funding/create-an-exchange-connection#webpage\"},\"dateModified\":\"2026-10-16T14:47:24.302Z\",\"publisher\":{\"@id\":\"https://docs.rhinestone.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.rhinestone.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rhinestone\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Rhinestone","nav":{"global":{"anchors":[{"anchor":"Create API Key","icon":"key","href":"https://tally.so/r/wg22x4"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home/introduction"}]},{"tab":"Wallets","menu":[{"item":"Overview","pages":[{"title":"Overview","href":"/wallets/overview"}]},{"item":"Embedded wallets","pages":[{"title":"Embedded wallets","href":"/wallets/embedded-wallets/overview"}]},{"item":"Session keys","pages":[{"title":"Session keys","href":"/wallets/session-keys/overview"}]},{"item":"Recovery","pages":[{"title":"Recovery","href":"/wallets/recovery/overview"}]},{"item":"Custom signer","pages":[{"title":"Custom signer","href":"/wallets/custom-signer/overview"}]}],"pages":[{"title":"Wallets","href":"/wallets/overview"}]},{"tab":"Transactions","menu":[{"item":"Overview","pages":[{"title":"Overview","href":"/transactions/overview"}]},{"item":"Relaying","pages":[{"title":"Relaying","href":"/transactions/relaying/overview"}]},{"item":"Multichain","pages":[{"title":"Multichain","href":"/transactions/multichain/overview"}]},{"item":"Trading","pages":[{"title":"Trading","href":"/transactions/trading/overview"}]},{"item":"Sponsorship \u0026 monetization","pages":[{"title":"Sponsorship \u0026 monetization","href":"/transactions/sponsorship/overview"}]}],"pages":[{"title":"Transactions","href":"/transactions/overview"}]},{"tab":"Deposits","menu":[{"item":"Overview","pages":[{"title":"Overview","href":"/deposits/overview/overview"}]},{"item":"Onramps","pages":[{"title":"Onramps","href":"/deposits/onramps/overview"}]},{"item":"Crypto","pages":[{"title":"Crypto","href":"/deposits/crypto/overview"}]},{"item":"Exchanges","pages":[{"title":"Exchanges","href":"/deposits/exchanges/overview"}]},{"item":"Headless","pages":[{"title":"Overview","href":"/deposits/headless/overview"},{"title":"Quickstart","href":"/deposits/headless/quickstart"},{"group":"Setup","public":true,"pages":[{"title":"Project configuration","href":"/deposits/headless/setup/project-configuration"},{"title":"Account registration","href":"/deposits/headless/setup/account-registration"},{"title":"Token routing","href":"/deposits/headless/setup/token-routing"}]},{"group":"Funding","public":true,"pages":[{"title":"Create an onramp checkout","description":"Create a Swapped checkout for card, Apple Pay, bank transfer, and other fiat payment methods.","href":"/deposits/headless/funding/create-an-onramp-checkout"},{"title":"Create an exchange connection","href":"/deposits/headless/funding/create-an-exchange-connection"}]},{"group":"Processing and tracking","public":true,"pages":[{"title":"Deposit processing","description":"How deposits are detected, bridged, and settled, including status tracking, retries, and error handling.","href":"/deposits/headless/processing-and-tracking/deposit-processing"},{"title":"Track deposits","href":"/deposits/headless/processing-and-tracking/track-deposits"},{"title":"Track onramp and exchange orders","href":"/deposits/headless/processing-and-tracking/track-onramp-and-exchange-orders"},{"title":"Webhooks","href":"/deposits/headless/processing-and-tracking/webhooks"}]},{"group":"Fees","public":true,"pages":[{"title":"Fee breakdown","href":"/deposits/headless/fees/fee-breakdown"},{"title":"Sponsorship","href":"/deposits/headless/fees/sponsorship"}]}]}]},{"tab":"Fiat integrations","pages":[{"title":"Fiat integrations","href":"/fiat/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Create an exchange connection - Rhinestone","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":[],"chunks":[]}