How to test offramp flows in the sandbox environment
Prerequisite: You need a KYC-approved wallet with tokens and an active bank account on your organization.
See KYC Overview for what verification requires, and KYC WebSDK for the hosted flow.
Redemptions are independent of how much was onramped. A customer can sell (redeem) any amount of a stablebond up to their current balance — it does not need to match the amount they originally bought. There’s no paired buy/sell or lot tracking; partial redemptions and redeeming tokens acquired elsewhere both work.
Either of these endpoints will give you the asset identifiers needed for quotes:
GET /ramp/assets — Requires auth. Returns all rampable stablecoins and stablebonds for the specified blockchain. The currency parameter controls sort priority (matching assets appear first). Best for building integrations where you already know the customer’s wallet.
GET /lookup/stablebonds — Public, no auth. Returns all stablebonds across all chains with pricing and supply data. Best for exploring what’s available before onboarding a customer.
Use the identifier from either response as the asset value in your quote.
Asset identifier format differs by chain:
Solana — Base58 mint address (e.g. AvvetPGuuB5FD5m86fpw3LtDKyQoUFT1mG9WarNQLW4q)
Stellar — CODE:ISSUER format (e.g. CETES:GC3CW7...)
EVM (Base, Polygon, Monad, Avalanche): Raw contract address only (e.g. 0xcC77c598d42f2f78Beb42C91d12B9d4041a5cE29 on Base sandbox)
Using SYMBOL:0x... on EVM chains will return UnsupportedBlockchain.
2
Create a Quote — POST /ramp/quote
Show Details
All orders require a quote. Quotes expire after 2 minutes. For offramps, set type: "offramp" with the token identifier as sourceAsset and the fiat currency as targetAsset. See POST /ramp/quote for the full schema.
Partner fees: If your organization has a partner fee configured, it is applied automatically. To override per-quote, add "partnerFeeBps": 100 (0–500) to the request body. See Partner Fees for details.
3
Create an Order — POST /ramp/order
Show Details
The quoteId carries the direction, blockchain, and amounts from your quote — no need to repeat them. The response includes orderId and a burnTransaction — a pre-built, unsigned transaction that burns the customer’s tokens. See POST /ramp/order for the full schema.
Do not build your own transaction unless using anchor mode. Always use the burnTransaction provided by Etherfuse — it contains the correct parameters, amounts, and contract calls.
EVM offramps on Base, Polygon, Monad, and Avalanche require the customer to sign a bridge transaction and hold the chain’s native currency for gas and the bridge fee. Sponsored EVM offramps, where enabled, use the approval flow instead. Stellar offramps require the wallet to already hold XLM and the asset’s trustline, or no burnTransaction is produced; see Stellar.
curl -X POST https://api.sand.etherfuse.com/ramp/order \ -H "Authorization: <api_key>" \ -H "Content-Type: application/json" \ -d '{ "orderId": "<uuid>", # You generate this UUID "bankAccountId": "<bank_account_uuid>", # From onboarding "cryptoWalletId": "<wallet_uuid>", # From onboarding "quoteId": "<quote_id_from_step_1>" # From Step 2 }'
curl -X POST https://api.etherfuse.com/ramp/order \ -H "Authorization: <api_key>" \ -H "Content-Type: application/json" \ -d '{ "orderId": "<uuid>", # You generate this UUID "bankAccountId": "<bank_account_uuid>", # From onboarding "cryptoWalletId": "<wallet_uuid>", # From onboarding "quoteId": "<quote_id_from_step_1>" # From Step 2 }'
The response includes a statusPage URL — e.g. https://sandbox.etherfuse.com/ramp/order/<order_uuid>. Open it in a browser to sign the burn transaction and track progress without building wallet integration into your test harness.
Optional order fields:memo attaches your own reference string to the order. feePayer applies only to Stellar contract-wallet (C-address) offramps — a contract wallet can’t be the transaction source, so you provide a funded Stellar G-account public key to pay the network fee.
4
Sign the Burn Transaction
Show Details
Embedded wallets skip this step. If the order’s wallet is an embedded wallet, there is no burnTransaction to sign. Wait for approval on the order (via webhook, WebSocket, or polling) and submit the owner’s signature to POST /ramp/order/{orderId}/approvals instead.
Unlike onramps, offramps require an on-chain action: the customer must sign and submit the burn transaction to release their tokens. You can handle this two ways:
In your app — Deserialize the burnTransaction from the order response or order_updated webhook, sign it with the customer’s wallet, and broadcast it to the network.
Via the status page — Use the statusPage URL from the order response (e.g. https://sandbox.etherfuse.com/ramp/order/<order_uuid>) to review and sign the transaction in the Etherfuse UI.
Stellar transactions expire in ~1–2 minutes. If the customer takes too long, submitting the burn tx returns tx_too_late. Don’t reuse the stale one — call POST /ramp/order/{order_id}/regenerate_tx (a fresh burnTransaction arrives over the order_updated webhook). Polling it ~once a minute keeps a signable tx in front of the user. See Stellar.
5
Verify Completion — GET /ramp/order/{order_uuid}
Show Details
Once the burn is confirmed on-chain, the system detects it and initiates the fiat payout automatically. Status progression: created → funded (burn confirmed) → completed (fiat sent) → finalized (reversal window passed). See GET /ramp/order for the full response schema.
No fiat simulation needed. Unlike onramps, there is no fiat_received step for offramps. The sandbox processes the fiat payout automatically once the burn transaction is confirmed on-chain.
For Stellar offramps, you can use anchor mode instead of the default burn transaction flow. In anchor mode, you build and submit the payment transaction yourself — Etherfuse provides the destination address and memo.This is useful when you want full control over transaction construction, or when integrating with wallets that support SEP-24-style withdrawal flows.
1
Create Order with useAnchor
Show Details
Add "useAnchor": true to your order request. The quote must be for a Stellar offramp.
Sign and submit the transaction to the Stellar network.
3
Track Order Status
Show Details
The rest of the flow is identical to standard offramps. Once the payment is detected on-chain, the order progresses through created → funded → completed → finalized.
Payments sent without a memo or with an unrecognized memo will be automatically refunded to the sender address.
Show Chain-specific quote examples
Solana — Use the Base58 mint address as sourceAsset:
EVM (Base, Polygon, Monad, Avalanche): Use the raw contract address. This example uses Base; obtain the identifier for your chain and environment from GET /ramp/assets:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Etherfuse API","colors":{"primary":"#141414","light":"#E4FF3F","dark":"#141414"},"logo":{"light":"https://mintcdn.com/etherfuse/XRSchVFGUgreQatD/img/logo-black.svg?fit=max\u0026auto=format\u0026n=XRSchVFGUgreQatD\u0026q=85\u0026s=92cf84eca27df4a19f7b032da398d110","dark":"https://mintcdn.com/etherfuse/XRSchVFGUgreQatD/img/logo-white.svg?fit=max\u0026auto=format\u0026n=XRSchVFGUgreQatD\u0026q=85\u0026s=7c87780c9a248347ffe6357ccf6762ed","href":"https://etherfuse.com"},"favicon":"https://mintcdn.com/etherfuse/pF4txuzXWQE790kS/img/favicon.png?fit=max\u0026auto=format\u0026n=pF4txuzXWQE790kS\u0026q=85\u0026s=ac74be5f7f4605e75bc961be0c6e5ff9","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python"],"autogenerate":true}},"navbar":{"links":[{"href":"https://cal.com/team/etherfuse/api-overview?overlayCalendar=true","label":"Book a demo"},{"href":"https://app.etherfuse.com","label":"App"}],"primary":{"type":"button","label":"Get sandbox keys","href":"https://sandbox.etherfuse.com/sign-in?returnTo=%2Faccount%2Fmanage"}},"footer":{"links":[{"items":[{"label":"Website","href":"https://etherfuse.com"},{"label":"App","href":"https://app.etherfuse.com"},{"label":"Book a demo","href":"https://cal.com/team/etherfuse/api-overview?overlayCalendar=true"}]}]},"fonts":{"family":"Figtree"},"integrations":{"posthog":{"apiKey":"phc_vJEpZk4aZr9PxdPqapjg8ZKWFybTTmDvAxZNg88LTuPu","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"etherfuse","hasAudioNarration":false,"actualSubdomain":"etherfuse","customDomains":["docs.etherfuse.com"],"gitSource":{"type":"github","owner":"etherfuse","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae27b76ad583d9a02b5c23e","collectionId":"5b359922-86a5-4b56-bb5e-cd64e3275e25","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae27b76ad583d9a02b5c23e"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae284870372e60413736691","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API Reference","count":151},{"language":"default","tag":"Ramp API","count":72},{"language":"default","tag":"Guides","count":65},{"language":"default","tag":"KYC","count":20},{"language":"default","tag":"Lookup API","count":18},{"language":"default","tag":"Orders","count":17},{"language":"default","tag":"Organizations","count":16},{"language":"default","tag":"User Authentication","count":12},{"language":"default","tag":"Blockchains","count":12},{"language":"default","tag":"Integration Guides","count":12}]},"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":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"global.css","content":"body{scrollbar-gutter:stable}.sandbox-playground-cta{display:block;margin:1rem 0 1.25rem;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid #141414;background-color:#e4ff3f;color:#141414!important;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease}.sandbox-playground-cta:hover{background-color:#d8f32f;box-shadow:0 2px 8px rgba(20,20,20,.12);color:#141414!important}.sandbox-playground-cta__body,.sandbox-playground-cta__detail,.sandbox-playground-cta__title{color:inherit!important}.dark .sandbox-playground-cta{border-color:#e4ff3f;background-color:#e4ff3f;color:#141414!important}.dark .sandbox-playground-cta:hover{background-color:#d8f32f;color:#141414!important}.sandbox-playground-cta__title{display:block;font-size:1rem;font-weight:600;margin-bottom:.35rem}.sandbox-playground-cta__body{display:block;font-size:.95rem;line-height:1.45;font-weight:500}.sandbox-playground-cta__detail{display:block;margin-top:.35rem;font-size:.85rem;line-height:1.45;opacity:.85}"}],"page":{"pagePath":"guides/testing-offramps","slug":"/guides/testing-offramps","pageMetadata":{"title":"Offramps","description":"How to test offramp flows in the sandbox environment","href":"/guides/testing-offramps"},"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: \"How to test offramp flows in the sandbox environment\"\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`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Expandable,Heading,Info,Note,Step,Steps,Table,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Prerequisite:`}),` You need a KYC-approved wallet with tokens and an active bank account on your organization.\nSee `,_jsx(_components.a,{href:`/guides/onboarding`,children:`KYC Overview`}),` for what verification requires, and `,_jsx(_components.a,{href:`/guides/kyc-websdk`,children:`KYC WebSDK`}),` for the hosted flow.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Redemptions are independent of how much was onramped.`}),` A customer can sell (redeem) any amount of a stablebond up to their current balance — it does not need to match the amount they originally bought. There’s no paired buy/sell or lot tracking; partial redemptions and redeeming tokens acquired elsewhere both work.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`offramp-flow`,children:`Offramp Flow`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Discover Assets`,children:_jsxs(Expandable,{title:`Details`,children:[_jsx(_components.p,{children:`Either of these endpoints will give you the asset identifiers needed for quotes:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/api-reference/assets/list-assets`,children:`GET /ramp/assets`}),` — Requires auth. Returns all rampable stablecoins and stablebonds for the specified blockchain. The `,_jsx(_components.code,{children:`currency`}),` parameter controls sort priority (matching assets appear first). Best for building integrations where you already know the customer’s wallet.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/api-reference/lookup/list-stablebonds`,children:`GET /lookup/stablebonds`}),` — Public, no auth. Returns all stablebonds across all chains with pricing and supply data. Best for exploring what’s available before onboarding a customer.`]}),`\n`]}),`\n`]}),_jsxs(_components.p,{children:[`Use the `,_jsx(_components.code,{children:`identifier`}),` from either response as the asset value in your quote.`]}),_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Asset identifier format differs by chain:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Solana`}),` — Base58 mint address (e.g. `,_jsx(_components.code,{children:`AvvetPGuuB5FD5m86fpw3LtDKyQoUFT1mG9WarNQLW4q`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Stellar`}),` — `,_jsx(_components.code,{children:`CODE:ISSUER`}),` format (e.g. `,_jsx(_components.code,{children:`CETES:GC3CW7...`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`EVM (Base, Polygon, Monad, Avalanche)`}),`: Raw contract address only (e.g. `,_jsx(_components.code,{children:`0xcC77c598d42f2f78Beb42C91d12B9d4041a5cE29`}),` on Base sandbox)`]}),`\n`]}),_jsxs(_components.p,{children:[`Using `,_jsx(_components.code,{children:`SYMBOL:0x...`}),` on EVM chains will return `,_jsx(_components.code,{children:`UnsupportedBlockchain`}),`.`]})]})]})}),_jsx(Step,{title:`Create a Quote — POST /ramp/quote`,children:_jsxs(Expandable,{title:`Details`,children:[_jsxs(_components.p,{children:[`All orders require a quote. Quotes expire after `,_jsx(_components.strong,{children:`2 minutes`}),`. For offramps, set `,_jsx(_components.code,{children:`type: \"offramp\"`}),` with the token identifier as `,_jsx(_components.code,{children:`sourceAsset`}),` and the fiat currency as `,_jsx(_components.code,{children:`targetAsset`}),`. See `,_jsx(_components.a,{href:`/api-reference/quotes/get-quote`,children:`POST /ramp/quote`}),` for the full schema.`]}),_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Sandbox`,numberOfLines:`14`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.sand.etherfuse.com/ramp/quote`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: \u003capi_key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quoteId\": \"\u003cuuid>\", # You generate this UUID`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"customerId\": \"\u003corg_uuid>\", # From onboarding`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"blockchain\": \"base\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quoteAssets\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"offramp\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sourceAsset\": \"0xcC77c598d42f2f78Beb42C91d12B9d4041a5cE29\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"targetAsset\": \"MXN\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sourceAmount\": \"50\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Production`,numberOfLines:`14`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.etherfuse.com/ramp/quote`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: \u003capi_key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quoteId\": \"\u003cuuid>\", # You generate this UUID`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"customerId\": \"\u003corg_uuid>\", # From onboarding`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"blockchain\": \"base\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quoteAssets\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"offramp\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sourceAsset\": \"0x834df4C1d8f51Be24322E39e4766697BE015512F\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"targetAsset\": \"MXN\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sourceAmount\": \"50\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Partner fees:`}),` If your organization has a partner fee configured, it is applied automatically. To override per-quote, add `,_jsx(_components.code,{children:`\"partnerFeeBps\": 100`}),` (0–500) to the request body. See `,_jsx(_components.a,{href:`/fees#partner-fees`,children:`Partner Fees`}),` for details.`]})})]})}),_jsx(Step,{title:`Create an Order — POST /ramp/order`,children:_jsxs(Expandable,{title:`Details`,children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`quoteId`}),` carries the direction, blockchain, and amounts from your quote — no need to repeat them. The response includes `,_jsx(_components.code,{children:`orderId`}),` and a `,_jsx(_components.code,{children:`burnTransaction`}),` — a pre-built, unsigned transaction that burns the customer’s tokens. See `,_jsx(_components.a,{href:`/api-reference/orders/create-order`,children:`POST /ramp/order`}),` for the full schema.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Do not build your own transaction`}),` unless using `,_jsx(_components.a,{href:`#anchor-mode-stellar-only`,children:`anchor mode`}),`. Always use the `,_jsx(_components.code,{children:`burnTransaction`}),` provided by Etherfuse — it contains the correct parameters, amounts, and contract calls.`]})}),_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`EVM offramps`}),` on Base, Polygon, Monad, and Avalanche require the customer to sign a bridge transaction and hold the chain’s native currency for gas and the bridge fee. `,_jsx(_components.strong,{children:`Sponsored EVM offramps`}),`, where enabled, use the `,_jsx(_components.a,{href:`/guides/chains/base#offramps-approve-the-token-first`,children:`approval flow`}),` instead. `,_jsx(_components.strong,{children:`Stellar offramps`}),` require the wallet to already hold XLM and the asset’s trustline, or no `,_jsx(_components.code,{children:`burnTransaction`}),` is produced; see `,_jsx(_components.a,{href:`/guides/chains/stellar#offramps-and-swaps-fund-the-wallet-first`,children:`Stellar`}),`.`]})}),_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Sandbox`,numberOfLines:`9`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.sand.etherfuse.com/ramp/order`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: \u003capi_key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"orderId\": \"\u003cuuid>\", # You generate this UUID`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"bankAccountId\": \"\u003cbank_account_uuid>\", # From onboarding`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"cryptoWalletId\": \"\u003cwallet_uuid>\", # From onboarding`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quoteId\": \"\u003cquote_id_from_step_1>\" # From Step 2`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Production`,numberOfLines:`9`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.etherfuse.com/ramp/order`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: \u003capi_key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"orderId\": \"\u003cuuid>\", # You generate this UUID`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"bankAccountId\": \"\u003cbank_account_uuid>\", # From onboarding`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"cryptoWalletId\": \"\u003cwallet_uuid>\", # From onboarding`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quoteId\": \"\u003cquote_id_from_step_1>\" # From Step 2`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`The response includes a `,_jsx(_components.code,{children:`statusPage`}),` URL — e.g. `,_jsx(_components.code,{children:`https://sandbox.etherfuse.com/ramp/order/\u003corder_uuid>`}),`. Open it in a browser to sign the burn transaction and track progress without building wallet integration into your test harness.`]})}),_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Optional order fields:`}),` `,_jsx(_components.code,{children:`memo`}),` attaches your own reference string to the order. `,_jsx(_components.code,{children:`feePayer`}),` applies only to `,_jsx(_components.strong,{children:`Stellar contract-wallet (C-address) offramps`}),` — a contract wallet can’t be the transaction source, so you provide a funded Stellar G-account public key to pay the network fee.`]})})]})}),_jsx(Step,{title:`Sign the Burn Transaction`,children:_jsxs(Expandable,{title:`Details`,children:[_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Embedded wallets skip this step.`}),` If the order’s wallet is an `,_jsx(_components.a,{href:`/guides/embedded-wallets`,children:`embedded wallet`}),`, there is no `,_jsx(_components.code,{children:`burnTransaction`}),` to sign. Wait for `,_jsx(_components.code,{children:`approval`}),` on the order (via webhook, WebSocket, or polling) and submit the owner’s signature to `,_jsx(_components.a,{href:`/api-reference/orders/submit-order-approval`,children:_jsx(_components.code,{children:`POST /ramp/order/{orderId}/approvals`})}),` instead.`]})}),_jsxs(_components.p,{children:[`Unlike onramps, offramps require an `,_jsx(_components.strong,{children:`on-chain action`}),`: the customer must sign and submit the burn transaction to release their tokens. You can handle this two ways:`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In your app`}),` — Deserialize the `,_jsx(_components.code,{children:`burnTransaction`}),` from the order response or `,_jsx(_components.code,{children:`order_updated`}),` webhook, sign it with the customer’s wallet, and broadcast it to the network.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Via the status page`}),` — Use the `,_jsx(_components.code,{children:`statusPage`}),` URL from the order response (e.g. `,_jsx(_components.code,{children:`https://sandbox.etherfuse.com/ramp/order/\u003corder_uuid>`}),`) to review and sign the transaction in the Etherfuse UI.`]}),`\n`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Stellar transactions expire in ~1–2 minutes.`}),` If the customer takes too long, submitting the burn tx returns `,_jsx(_components.code,{children:`tx_too_late`}),`. Don’t reuse the stale one — call `,_jsx(_components.a,{href:`/api-reference/orders/regenerate-tx`,children:`POST /ramp/order/{order_id}/regenerate_tx`}),` (a fresh `,_jsx(_components.code,{children:`burnTransaction`}),` arrives over the `,_jsx(_components.code,{children:`order_updated`}),` webhook). Polling it ~once a minute keeps a signable tx in front of the user. See `,_jsx(_components.a,{href:`/guides/chains/stellar#transaction-expiry--regeneration`,children:`Stellar`}),`.`]})})]})}),_jsx(Step,{title:`Verify Completion — GET /ramp/order/{order_uuid}`,children:_jsxs(Expandable,{title:`Details`,children:[_jsxs(_components.p,{children:[`Once the burn is confirmed on-chain, the system detects it and initiates the fiat payout automatically. Status progression: `,_jsx(_components.code,{children:`created`}),` → `,_jsx(_components.code,{children:`funded`}),` (burn confirmed) → `,_jsx(_components.code,{children:`completed`}),` (fiat sent) → `,_jsx(_components.code,{children:`finalized`}),` (reversal window passed). See `,_jsx(_components.a,{href:`/api-reference/orders/get-order`,children:`GET /ramp/order`}),` for the full response schema.`]}),_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No fiat simulation needed.`}),` Unlike onramps, there is no `,_jsx(_components.code,{children:`fiat_received`}),` step for offramps. The sandbox processes the fiat payout automatically once the burn transaction is confirmed on-chain.`]})}),_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Sandbox`,numberOfLines:`2`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: \u003capi_key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.sand.etherfuse.com/ramp/order/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`order_uui`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Production`,numberOfLines:`2`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: \u003capi_key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.etherfuse.com/ramp/order/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`order_uui`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})})]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`anchor-mode-stellar-only`,children:`Anchor Mode (Stellar Only)`}),`\n`,_jsxs(_components.p,{children:[`For Stellar offramps, you can use `,_jsx(_components.strong,{children:`anchor mode`}),` instead of the default burn transaction flow. In anchor mode, you build and submit the payment transaction yourself — Etherfuse provides the destination address and memo.`]}),`\n`,_jsxs(_components.p,{children:[`This is useful when you want full control over transaction construction, or when integrating with wallets that support `,_jsx(_components.a,{href:`https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md`,children:`SEP-24`}),`-style withdrawal flows.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Create Order with useAnchor`,children:_jsxs(Expandable,{title:`Details`,children:[_jsxs(_components.p,{children:[`Add `,_jsx(_components.code,{children:`\"useAnchor\": true`}),` to your order request. The quote must be for a `,_jsx(_components.strong,{children:`Stellar offramp`}),`.`]}),_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Sandbox`,numberOfLines:`10`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.sand.etherfuse.com/ramp/order`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: \u003capi_key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"orderId\": \"\u003cuuid>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"bankAccountId\": \"\u003cbank_account_uuid>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"cryptoWalletId\": \"\u003cwallet_uuid>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quoteId\": \"\u003cquote_id>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"useAnchor\": true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Production`,numberOfLines:`10`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.etherfuse.com/ramp/order`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: \u003capi_key>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"orderId\": \"\u003cuuid>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"bankAccountId\": \"\u003cbank_account_uuid>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"cryptoWalletId\": \"\u003cwallet_uuid>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quoteId\": \"\u003cquote_id>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"useAnchor\": true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})]}),_jsxs(_components.p,{children:[`The response includes anchor-specific fields instead of a `,_jsx(_components.code,{children:`burnTransaction`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"offramp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"orderId\"`}),_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"withdrawAnchorAccount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"GABPM7AXX...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"withdrawMemo\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"RkFLRU1FTU8xMjM0NTY3ODkw...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"withdrawMemoType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hash\"`})]}),`\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(Step,{title:`Build and Submit Payment`,children:_jsxs(Expandable,{title:`Details`,children:[_jsxs(_components.p,{children:[`Build a Stellar payment transaction to the `,_jsx(_components.code,{children:`withdrawAnchorAccount`}),` with:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Asset \u0026 amount`}),` from your quote (e.g., USDC, XLM, or CETES)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Memo`}),` — decode `,_jsx(_components.code,{children:`withdrawMemo`}),` from base64, then attach as a `,_jsx(_components.code,{children:`Memo.hash`})]}),`\n`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`10`,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:` memoBytes`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Buffer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`withdrawMemo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"base64\"`}),_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:` tx`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` StellarSdk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`TransactionBuilder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`sourceAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`fee`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`networkPassphrase`}),_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:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`addOperation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`StellarSdk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Operation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`payment`}),_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:` destination:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` withdrawAnchorAccount`}),_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:` asset:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` sendAsset`}),_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:` amount:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` quoteAmount`}),_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`addMemo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`StellarSdk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Memo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`hash`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`memoBytes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`toString`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hex\"`}),_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:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`setTimeout`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`300`}),_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:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`build`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})}),_jsx(_components.p,{children:`Sign and submit the transaction to the Stellar network.`})]})}),_jsx(Step,{title:`Track Order Status`,children:_jsxs(Expandable,{title:`Details`,children:[_jsxs(_components.p,{children:[`The rest of the flow is identical to standard offramps. Once the payment is detected on-chain, the order progresses through `,_jsx(_components.code,{children:`created`}),` → `,_jsx(_components.code,{children:`funded`}),` → `,_jsx(_components.code,{children:`completed`}),` → `,_jsx(_components.code,{children:`finalized`}),`.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Payments sent `,_jsx(_components.strong,{children:`without a memo`}),` or with an `,_jsx(_components.strong,{children:`unrecognized memo`}),` will be automatically refunded to the sender address.`]})})]})})]}),`\n`,_jsxs(Expandable,{title:`Chain-specific quote examples`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solana`}),` — Use the Base58 mint address as `,_jsx(_components.code,{children:`sourceAsset`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"blockchain\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"solana\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"quoteAssets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"offramp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sourceAsset\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"AvvetPGuuB5FD5m86fpw3LtDKyQoUFT1mG9WarNQLW4q\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetAsset\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MXN\"`})]}),`\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`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Stellar`}),` — Use `,_jsx(_components.code,{children:`CODE:ISSUER`}),` format:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"blockchain\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"stellar\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"quoteAssets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"offramp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sourceAsset\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CETES:GC3CW7...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetAsset\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MXN\"`})]}),`\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`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`EVM (Base, Polygon, Monad, Avalanche)`}),`: Use the raw contract address. This example uses Base; obtain the identifier for your chain and environment from `,_jsx(_components.code,{children:`GET /ramp/assets`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"blockchain\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"base\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"quoteAssets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"offramp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sourceAsset\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0xcC77c598d42f2f78Beb42C91d12B9d4041a5cE29\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetAsset\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"MXN\"`})]}),`\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`]})})})]}),`\n`,_jsx(Expandable,{title:`Common errors`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Error`}),_jsx(_components.th,{children:`Cause`}),_jsx(_components.th,{children:`Fix`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`UnsupportedBlockchain`})}),_jsxs(_components.td,{children:[`Using `,_jsx(_components.code,{children:`SYMBOL:0x...`}),` format on an EVM chain`]}),_jsx(_components.td,{children:`Use the raw contract address only`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Terms and conditions have not been completed`})}),_jsx(_components.td,{children:`Wallet not KYC-approved`}),_jsxs(_components.td,{children:[`Complete the `,_jsx(_components.a,{href:`/guides/onboarding`,children:`onboarding flow`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Quote not found or expired`})}),_jsx(_components.td,{children:`Quote TTL is 2 minutes`}),_jsx(_components.td,{children:`Create a fresh quote`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Bank account not found`})}),_jsx(_components.td,{children:`Bank account not owned by the requesting org`}),_jsx(_components.td,{children:`Verify the bank account belongs to your organization`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`quote_id is required`})}),_jsx(_components.td,{children:`Missing quote — the quoteless path is deprecated`}),_jsxs(_components.td,{children:[`Create a quote via `,_jsx(_components.code,{children:`POST /ramp/quote`}),` first`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`No `,_jsx(_components.code,{children:`burnTransaction`}),` / no webhook (Stellar)`]}),_jsx(_components.td,{children:`Wallet isn’t funded with XLM or is missing the asset’s trustline, so the tx can’t be built`}),_jsxs(_components.td,{children:[`Fund the wallet (~1.5 XLM) and add the trustline first. See `,_jsx(_components.a,{href:`/guides/chains/stellar#offramps-and-swaps-fund-the-wallet-first`,children:`Stellar`})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`tx_too_late`}),` (Stellar)`]}),_jsx(_components.td,{children:`Burn transaction expired (~1–2 min) before submission`}),_jsxs(_components.td,{children:[`Regenerate via `,_jsx(_components.a,{href:`/api-reference/orders/regenerate-tx`,children:_jsx(_components.code,{children:`regenerate_tx`})}),` and resubmit promptly`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`OrderTooSmall`}),` (EVM)`]}),_jsx(_components.td,{children:`Offramp too small to cover the bundled gas fee (fee can’t exceed 50% of the order)`}),_jsxs(_components.td,{children:[`Offramp a larger amount (≳ 50 CETES). See `,_jsx(_components.a,{href:`/guides/chains/base#gasless-offramps`,children:`Base`})]})]})]})]})})]})}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":"Offramps","description":"How to test offramp flows in the sandbox environment","href":"/guides/testing-offramps"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Offramp Flow","slug":"offramp-flow","depth":2,"children":[]},{"title":"Anchor Mode (Stellar Only)","slug":"anchor-mode-stellar-only","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"etherfuse","siteName":"Etherfuse API","title":"Offramps - Etherfuse API","navMaps":{"firstHrefInVersion":{"v2 (beta)":{"href":"/v2/guides/testing-offramps","matchLevel":1},"v1 (legacy)":{"href":"/guides/testing-offramps","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-09-29T18:01:52.281Z","originalFileLocation":"guides/testing-offramps.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}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=\"How to test offramp flows in the sandbox environment\">\u003cmeta data-mint-head name=\"application-name\" content=\"Etherfuse API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Offramps - Etherfuse API\">\u003cmeta data-mint-head property=\"og:description\" content=\"How to test offramp flows in the sandbox environment\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Etherfuse API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.etherfuse.com/guides/testing-offramps\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://etherfuse.mintlify.app/_mintlify/api/og/v2?division=Integration+Guides\u0026amp;title=Offramps\u0026amp;description=How+to+test+offramp+flows+in+the+sandbox+environment\u0026amp;theme=a63046a1b6875a84019a21bc\u0026amp;signature=32889e06a975ec26aef539a01210df5e7f2e84303b498dd77469cdf051b3fe9e\">\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=\"Offramps - Etherfuse API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How to test offramp flows in the sandbox environment\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://etherfuse.mintlify.app/_mintlify/api/og/v2?division=Integration+Guides\u0026amp;title=Offramps\u0026amp;description=How+to+test+offramp+flows+in+the+sandbox+environment\u0026amp;theme=a63046a1b6875a84019a21bc\u0026amp;signature=32889e06a975ec26aef539a01210df5e7f2e84303b498dd77469cdf051b3fe9e\">\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/etherfuse/2PYR-_ECBzhTGa_z/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Etherfuse API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#141414\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.etherfuse.com/guides/testing-offramps\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/testing-offramps.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.etherfuse.com/#organization\",\"name\":\"Etherfuse API\",\"url\":\"https://docs.etherfuse.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/etherfuse/XRSchVFGUgreQatD/img/logo-black.svg?fit=max\u0026auto=format\u0026n=XRSchVFGUgreQatD\u0026q=85\u0026s=92cf84eca27df4a19f7b032da398d110\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.etherfuse.com#website\",\"name\":\"Etherfuse API\",\"url\":\"https://docs.etherfuse.com\",\"publisher\":{\"@id\":\"https://docs.etherfuse.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.etherfuse.com/guides/testing-offramps#webpage\",\"url\":\"https://docs.etherfuse.com/guides/testing-offramps\",\"name\":\"Offramps\",\"description\":\"How to test offramp flows in the sandbox environment\",\"dateModified\":\"2026-09-29T18:01:52.281Z\",\"isPartOf\":{\"@id\":\"https://docs.etherfuse.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.etherfuse.com/guides/testing-offramps#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.etherfuse.com/guides/testing-offramps#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integration Guides\",\"item\":\"https://docs.etherfuse.com/guides/embedded-wallets\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Offramps\",\"item\":\"https://docs.etherfuse.com/guides/testing-offramps\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.etherfuse.com/guides/testing-offramps#article\",\"headline\":\"Offramps\",\"name\":\"Offramps\",\"description\":\"How to test offramp flows in the sandbox environment\",\"url\":\"https://docs.etherfuse.com/guides/testing-offramps\",\"mainEntityOfPage\":{\"@id\":\"https://docs.etherfuse.com/guides/testing-offramps#webpage\"},\"dateModified\":\"2026-09-29T18:01:52.281Z\",\"publisher\":{\"@id\":\"https://docs.etherfuse.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.etherfuse.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Etherfuse API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Etherfuse API","nav":{"global":null,"versions":[{"version":"v2 (beta)","default":true,"pages":[{"title":"v2 (beta)","href":"/v2/guides/testing-offramps"}]},{"version":"v1 (legacy)","tabs":[{"tab":"Guides","groups":[{"group":"Get Started","icon":"rocket","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Quickstart","href":"/quickstart"},{"title":"Initial Setup","href":"/initial-setup"},{"title":"Sandbox Reference","href":"/test-environment"}]},{"group":"Concepts","icon":"lightbulb","pages":[{"title":"How it works","href":"/overview"},{"title":"Webhooks","href":"/webhooks"}]},{"group":"User Authentication","icon":"key","pages":[{"title":"JWT User Authentication","href":"/guides/jwt-authentication"},{"title":"User Launch Flows","href":"/guides/user-launch-flows"},{"title":"Authentication errors","href":"/guides/authentication-errors"}]},{"group":"Integration Guides","icon":"code","pages":[{"group":"Embedded Wallets","root":{"title":"Embedded Wallets","href":"/guides/embedded-wallets"},"directory":"card","pages":[{"title":"Embedded Wallets","href":"/guides/embedded-wallets"},{"title":"Embedded Wallets Sandbox Playground","sidebarTitle":"Sandbox playground","href":"/guides/embedded-wallets-walkthrough"}]},{"title":"Verifying Webhooks","href":"/guides/verifying-webhooks"},{"title":"Swaps","href":"/guides/testing-swaps"},{"title":"Onramps","description":"How to test onramp flows in the sandbox environment","href":"/guides/testing-onramps"},{"title":"Offramps","href":"/guides/testing-offramps"}]},{"group":"KYC","icon":"id-card","pages":[{"title":"KYC Overview","sidebarTitle":"Overview","description":"What Etherfuse collects to verify a customer, how to track where their verification stands, and the extra requirements that apply in specific countries.","href":"/guides/onboarding"},{"title":"KYC WebSDK","href":"/guides/kyc-websdk"},{"title":"KYC API","href":"/guides/kyc-api"},{"title":"KYC Sumsub Shared Token","href":"/guides/kyc-sumsub-shared-token"}]},{"group":"KYB","icon":"building","pages":[{"title":"KYB Overview","sidebarTitle":"Overview","href":"/guides/kyb"},{"title":"KYB WebSDK","href":"/guides/kyb-websdk"}]},{"group":"Blockchains","icon":"cubes","pages":[{"title":"Stellar","href":"/guides/chains/stellar"},{"title":"Solana","href":"/guides/chains/solana"},{"title":"Monad","href":"/guides/chains/monad"},{"title":"Base","href":"/guides/chains/base"},{"title":"Polygon","href":"/guides/chains/polygon"},{"title":"Avalanche","href":"/guides/chains/avalanche"}]},{"group":"Resources","icon":"book-open","pages":[{"title":"Ramp Fees","href":"/fees"},{"title":"Price Feeds","href":"/price-feeds"},{"title":"Glossary","href":"/glossary"},{"title":"SDKs","href":"/sdks"},{"title":"MCP Server","href":"/mcp-overview"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]}]},"title":"Offramps - Etherfuse API","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":[],"chunks":[]}