Use this endpoint to initiate a money movement for a verified customer. SpherePay supports two transfer directions: on-ramp (fiat → crypto) and off-ramp (crypto → fiat). You define the direction by the types you supply for source and destination — a bank_account source with a wallet destination creates an on-ramp, and the reverse creates an off-ramp. The response includes deposit instructions your customer needs to fund the transfer.
The customer must have an approved verification profile before you can create a transfer on their behalf.
ID of a pre-uploaded supporting document (from POST /v2/document with target transfer). Required for third-party transfers on certain routes. A transfer is considered third-party when the destination bank account owner is not the customer themselves (i.e. the bank account relationship is not self). The document should evidence the purpose of the transfer - for example, an invoice, contract, payment agreement, or proof of services rendered.
A free-text description of the payment purpose. Required for third-party off-ramp transfers (where the destination bank account owner relationship is not self). Max 500 characters.
The reason for the payment. Required for SWIFT transfers, BRL transfers, and for third-party off-ramp transfers (where the destination bank account owner relationship is not self).
The datetime by which the deposit must arrive into the deposit account. A later deposit is not applied to this transfer. Present only on bank-funded transfers that have a deadline. Distinct from quote.expiresAt, which is the expiry of the quoted rate.
The quote used for this transfer, if any. When present, the locked exchange rate from the quote was applied to the destination amount and exchange rate.
Crypto wallet address where funds are sent if the transfer fails or is refunded. Only present on off-ramp transfers created with a custom return address.
Example:
"0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97"
Last modified on June 18, 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SpherePay","colors":{"primary":"#2563EB","light":"#60A5FA","dark":"#1D4ED8"},"logo":{"light":"https://mintcdn.com/spherepayco/uywNRH6jm1-R-nPL/logo/sphere-light.svg?fit=max\u0026auto=format\u0026n=uywNRH6jm1-R-nPL\u0026q=85\u0026s=783c82452519d50b023b9866c8a1ba48","dark":"https://mintcdn.com/spherepayco/uywNRH6jm1-R-nPL/logo/sphere-dark.svg?fit=max\u0026auto=format\u0026n=uywNRH6jm1-R-nPL\u0026q=85\u0026s=841362b62b2d8a0da3d2b69d22c62d88"},"favicon":"https://mintcdn.com/spherepayco/a4WF4v5_QYD1dXam/favicon.png?fit=max\u0026auto=format\u0026n=a4WF4v5_QYD1dXam\u0026q=85\u0026s=b3c29639701db7176e6ac8f2b03f68a7","api":{"playground":{"display":"none"}},"navbar":{"primary":{"type":"button","label":"Sphere Dashboard ↗","href":"https://spherepay.co/dashboard"}},"icons":{"library":"lucide"},"styling":{"codeblocks":"dark","latex":true},"metadata":{"timestamp":true},"navigation":{"languages":[{"language":"en","default":true,"href":"introduction"},{"language":"es","href":"es/introduction"},{"language":"pt-BR","href":"pt-BR/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"spherepayco","hasAudioNarration":false,"actualSubdomain":"spherepayco","customDomains":["docs.spherepay.co"],"gitSource":{"type":"github","owner":"sphere-laboratories","repo":"mintlify-docs","deployBranch":"main","isPrivate":true,"contentDirectory":"","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4e40af8344a2328cd117d","collectionId":"1a93b227-1f28-4c2a-bb42-9163f0a8c012","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4e40af8344a2328cd117d"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4e40af8344a2328cd117d","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"en","tag":"API Reference","count":52},{"language":"es","tag":"Referencia de la API","count":52},{"language":"pt-BR","tag":"Referência da API","count":52},{"language":"en","tag":"Concepts","count":29},{"language":"es","tag":"Conceptos","count":29},{"language":"pt-BR","tag":"Conceitos","count":29},{"language":"en","tag":"Onboarding","count":27},{"language":"es","tag":"Incorporación","count":27},{"language":"pt-BR","tag":"Onboarding","count":27},{"language":"en","tag":"Money movement","count":24},{"language":"es","tag":"Movimiento de dinero","count":24},{"language":"pt-BR","tag":"Movimentação de dinheiro","count":24},{"language":"en","tag":"Webhooks","count":13},{"language":"es","tag":"Webhooks","count":13},{"language":"pt-BR","tag":"Webhooks","count":13},{"language":"en","tag":"Accounts","count":9},{"language":"en","tag":"Transfers","count":9},{"language":"en","tag":"Get Started","count":9},{"language":"es","tag":"Cuentas","count":9},{"language":"es","tag":"Transferencias","count":9},{"language":"es","tag":"Comenzar","count":9},{"language":"pt-BR","tag":"Contas","count":9},{"language":"pt-BR","tag":"Transferências","count":9},{"language":"pt-BR","tag":"Começar","count":9},{"language":"en","tag":"Virtual Accounts","count":7},{"language":"es","tag":"Cuentas Virtuales","count":7},{"language":"pt-BR","tag":"Contas Virtuais","count":7},{"language":"en","tag":"Documents \u0026 Verification","count":6},{"language":"es","tag":"Documentos y Verificación","count":6},{"language":"pt-BR","tag":"Documentos e Verificação","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@spherepay.co","showHelpButton":true}},"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":"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":"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":"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":"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}],"starterQuestions":[{"_id":"6a02974593b34b4b8541d063","deploymentId":"69f39b63abf2e25489b5290d","questionText":"What currencies are supported?","status":"active","generatedBy":"manual","createdAt":"2026-05-12T02:58:13.452Z","updatedAt":"2026-05-12T02:58:13.452Z","__v":0},{"_id":"6a02973893b34b4b8541d023","deploymentId":"69f39b63abf2e25489b5290d","questionText":"How do I create a transfer?","status":"active","generatedBy":"manual","createdAt":"2026-05-12T02:58:00.452Z","updatedAt":"2026-05-12T02:58:00.452Z","__v":0},{"_id":"6a02972c93b34b4b8541cfef","deploymentId":"69f39b63abf2e25489b5290d","questionText":"How do I onboard a business?","status":"active","generatedBy":"manual","createdAt":"2026-05-12T02:57:48.946Z","updatedAt":"2026-05-12T02:57:48.946Z","__v":0}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"[data-component-part=update-tag]{padding:2px 8px;border:1px solid var(--gray-200, #e5e7eb);background:0 0;color:var(--gray-600, #4b5563);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;line-height:1.4}.dark [data-component-part=update-tag]{border-color:var(--gray-700, #374151);color:var(--gray-300, #d1d5db)}[data-component-part=update-tag-list]{margin-top:.5rem;gap:.375rem}nav[class*=navbar] ul li a.link{border-radius:0!important;background:0 0!important;border-bottom:2px solid transparent;transition:border-color 120ms ease,color 120ms ease}nav[class*=navbar] ul li a.link:hover{background:0 0!important;color:#18181b!important;border-bottom-color:rgba(37,99,235,.4)}.dark nav[class*=navbar] ul li a.link:hover{color:#60a5fa!important;border-bottom-color:rgba(96,165,250,.4)}nav[class*=navbar] ul li a.link[aria-current=page]{background:0 0!important;border-bottom-color:var(--mintlify-primary, #2563EB);color:#18181b!important}.dark nav[class*=navbar] ul li a.link[aria-current=page]{color:#fafafa!important;border-bottom-color:#60a5fa}nav[class*=navbar][class*=justify-center]{justify-content:flex-start!important}button:has(>div>svg.lucide-search){width:auto!important;min-width:220px;padding-left:14px!important;padding-right:12px!important;justify-content:space-between!important}button:has(>div>svg.lucide-search) .truncate.min-w-0{display:block!important}a[href=\"https://spherepay.co/dashboard\"] span[class*=bg-primary-dark]{border-radius:6px!important;background-color:#2970ff!important;transition:background-color 120ms ease}a[href=\"https://spherepay.co/dashboard\"]:hover span[class*=bg-primary-dark]{background-color:#155eef!important;opacity:1!important}a[href=\"https://spherepay.co/dashboard\"] svg{display:none!important}[data-component-part=card-icon]{width:44px!important;height:44px!important;display:flex!important;align-items:center;justify-content:center;background:rgba(209,224,255,.5);border-radius:10px;margin-bottom:1rem}.dark [data-component-part=card-icon]{background:rgba(96,165,250,.15)}ul.space-y-px:has(>li>a[href*=\"/api-reference/\"]):not(:has(ul)){margin-left:24px;padding-left:4px;border-left:1.5px solid #e5e7eb}ul.space-y-px:has(>li>a[href*=\"/api-reference/\"]):not(:has(ul)) a[href*=\"/api-reference/\"]{padding-left:16px!important}.dark ul.space-y-px:has(>li>a[href*=\"/api-reference/\"]):not(:has(ul)){border-left-color:rgba(255,255,255,.12)}#sidebar button[aria-expanded]>div:has(>svg[viewBox=\"0 -9 3 24\"]){margin-left:auto}#sidebar:has(a[href*=\"/api-reference/\"]){border-right:1px solid #e5e7eb}.dark #sidebar:has(a[href*=\"/api-reference/\"]){border-right-color:rgba(255,255,255,.1)}.sidebar-group-icon{display:none!important}#navbar-transition{border-bottom-color:#e5e7eb!important}@media (min-width:1024px){#navbar-transition::after{content:\"\";position:absolute;left:0;right:0;top:64px;height:1px;background:#e5e7eb;pointer-events:none}}#navbar .flex-1{border-bottom-color:transparent!important}.dark #navbar-transition{border-bottom-color:rgba(255,255,255,.1)!important}.dark #navbar-transition::after{background:rgba(255,255,255,.1)}"}],"page":{"pagePath":"api-reference/transfer/post","slug":"/api-reference/transfer/post","pageMetadata":{"title":"Create an On-Ramp or Off-Ramp Transfer","sidebarTitle":"Create Transfer","openapi":"openapi/spherepay.yaml POST /v2/transfer","description":"Create a new transfer.","href":"/api-reference/transfer/post"},"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 new transfer.\"\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={code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Info}=_components;if(!Info)_missingMdxReference(`Info`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use this endpoint to initiate a money movement for a verified customer. SpherePay supports two transfer directions: `,_jsx(_components.strong,{children:`on-ramp`}),` (fiat → crypto) and `,_jsx(_components.strong,{children:`off-ramp`}),` (crypto → fiat). You define the direction by the types you supply for `,_jsx(_components.code,{children:`source`}),` and `,_jsx(_components.code,{children:`destination`}),` — a `,_jsx(_components.code,{children:`bank_account`}),` source with a `,_jsx(_components.code,{children:`wallet`}),` destination creates an on-ramp, and the reverse creates an off-ramp. The response includes deposit instructions your customer needs to fund the transfer.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`The customer must have an `,_jsx(_components.code,{children:`approved`}),` verification profile before you can create a transfer on their behalf.`]})})]})}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":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Create an On-Ramp or Off-Ramp Transfer","sidebarTitle":"Create Transfer","openapi":"openapi/spherepay.yaml POST /v2/transfer","description":"Create a new transfer.","href":"/api-reference/transfer/post"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/spherepayco/27b80abc67bf6551/snippets/demoAppUrl.js"],"openApiReferenceData":{"operation":{"description":"Create a new transfer.","operationId":"postV2Transfer","parameters":[],"requestBody":"d3b8fa35-091d-435b-8bef-7aab58dd8994","responses":{"201":"0de009bb-dff3-499e-a77d-666346b8ac21","400":"fc9bfad4-810e-4a3e-ab1b-7dcadd8a416c","404":"459b7558-461c-4626-87f0-261693d5092f","422":"e1273cfb-35ef-48e5-b467-4ff36516919f"},"summary":"Create a Transfer","method":"post","type":"path","servers":["b5036787-7020-43a8-8dee-cb8b0d270e6a"],"security":["d8f4bc21-1820-4e73-bc5e-ea3b587aeee8"],"path":"/v2/transfer","baseUrlOptions":["https://api.spherepay.co"],"title":"Create a Transfer","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"Transfer with Quote","required":["customer","quoteId","source","destination"],"properties":{"customer":{"description":"The customer's ID.","example":"customer_1234567890","pattern":"^customer_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.customer","typeLabel":"string"},"destination":{"properties":{"id":{"description":"The payment instrument ID (wallet or bank account).","example":"wallet_1234567890abcdef1234567890abcdef12345678","type":"string","isRequired":true,"uniqueKey":"oneOf.0.destination.id","typeLabel":"string"},"type":{"description":"The payment instrument type: wallet or bank_account.","enum":["bank_account","wallet"],"example":"wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.destination.type","typeLabel":"enum\u003cstring>"}},"required":["type","id"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.destination","typeLabel":"object"},"quoteId":{"description":"The quote ID from a previously created quote. The transfer uses the locked exchange rate, currency, and network from the quote.","example":"quote_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","type":"string","isRequired":true,"uniqueKey":"oneOf.0.quoteId","typeLabel":"string"},"source":{"properties":{"id":{"description":"The payment instrument ID (wallet or bank account).","example":"wallet_1234567890abcdef1234567890abcdef12345678","type":"string","isRequired":true,"uniqueKey":"oneOf.0.source.id","typeLabel":"string"},"type":{"description":"The payment instrument type: wallet or bank_account.","enum":["bank_account","wallet"],"example":"wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.source.type","typeLabel":"enum\u003cstring>"}},"required":["type","id"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.source","typeLabel":"object"},"documentId":{"description":"ID of a pre-uploaded supporting document (from POST /v2/document with target `transfer`). Required for third-party transfers on certain routes. A transfer is considered third-party when the destination bank account owner is not the customer themselves (i.e. the bank account relationship is not `self`). The document should evidence the purpose of the transfer - for example, an invoice, contract, payment agreement, or proof of services rendered.","example":"document_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","minLength":1,"pattern":"^document_[a-z0-9]+$","type":"string","uniqueKey":"oneOf.0.documentId","typeLabel":"string"},"externalId":{"description":"Integrator-defined external reference. The value is not stored as unique.","example":"merchant_ref_123","type":"string","uniqueKey":"oneOf.0.externalId","typeLabel":"string"},"paymentDescription":{"description":"A free-text description of the payment purpose. Required for third-party off-ramp transfers (where the destination bank account owner relationship is not `self`). Max 500 characters.","example":"INV-2026-004 - Q1 software services","maxLength":500,"minLength":1,"type":"string","uniqueKey":"oneOf.0.paymentDescription","typeLabel":"string"},"paymentReason":{"description":"The reason for the payment. Required for SWIFT transfers, BRL transfers, and for third-party off-ramp transfers (where the destination bank account owner relationship is not `self`).","enum":["personal","investment","real_estate","tax","loan","bills","reimbursement","professional_services","family_support","education","rent","donation","gift","insurance","medical","savings","travel","mortgage","fine","dividend","agriculture","import_export","art","other"],"example":"professional_services","type":"string","uniqueKey":"oneOf.0.paymentReason","typeLabel":"enum\u003cstring>"},"referenceSide":{"oneOf":[{}],"uniqueKey":"oneOf.0.referenceSide","typeLabel":"any"},"returnAddress":{"description":"Crypto address where funds are returned on failed transactions. Must be 1-255 characters and valid for the source network.","example":"0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97","type":"string","uniqueKey":"oneOf.0.returnAddress","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"Transfer with Quote · object"},{"type":"object","title":"Transfer","description":"Standard floating-rate transfer. For BRL (PIX) transfers: `referenceSide` may be omitted or set to `source`, but `destination` is not supported; only `polygon`, `ethereum`, `base`, and `tron` wallet networks are supported (not `sol`); `integratorFixedFee` is not allowed - use `integratorBpsFeeRate` instead. See [BRL/PIX transfer constraints](/concepts/transfers/overview#brlpix-transfer-constraints) for current transfer limits.","required":["amount","customer","source","destination"],"properties":{"amount":{"description":"The transfer amount, interpreted according to `referenceSide`: source amount to send when `referenceSide` is `source`, or destination amount to receive when `referenceSide` is `destination`. Defaults to source amount when `referenceSide` is omitted. Must have exactly 2 decimal places. Transfer limits are set dynamically based on due diligence and may change over time - see [BRL/PIX transfer constraints](/concepts/transfers/overview#brlpix-transfer-constraints) for current BRL limits.","example":"100.00","type":"string","isRequired":true,"uniqueKey":"oneOf.1.amount","typeLabel":"string"},"customer":{"description":"The customer's ID.","example":"customer_1234567890","pattern":"^customer_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.customer","typeLabel":"string"},"destination":{"oneOf":[{"type":"object","title":"Destination Wallet","description":"The destination of an `On-ramp` transfer. See [Wallets](/concepts/transfers/wallets) for registration.","required":["type","id","currency","network"],"properties":{"currency":{"description":"The destination currency for an `On-ramp` transfer. This should be the currency of the wallet. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usdc","usdt","eurc"],"example":"usdc","type":"string","isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"id":{"description":"The destination wallet ID.","example":"wallet_1234567890abcdef1234567890abcdef12345678","pattern":"^wallet_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.0.id","typeLabel":"string"},"network":{"description":"The destination network of the customer's wallet. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["sol","ethereum","arbitrum","polygon","base","avalanche","tron"],"example":"sol","type":"string","isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.0.network","typeLabel":"enum\u003cstring>"},"type":{"description":"The destination type: wallet.","enum":["wallet"],"example":"wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.0","typeLabel":"Destination Wallet · object"},{"type":"object","title":"Destination Bank Account","description":"The destination bank account for transfers.","required":["type","id","currency","network"],"properties":{"currency":{"description":"The destination currency: [usd, eur, brl, mxn]. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usd","eur","brl"],"example":"usd","type":"string","isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.1.currency","typeLabel":"enum\u003cstring>"},"id":{"description":"The destination bank account ID.","example":"bank_account_123abc...","type":"string","isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.1.id","typeLabel":"string"},"network":{"description":"The destination network: [wire, ach, achPush, achPull, achSameDay, swift, sepa, pix, spei]. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["ach","wire","sepa","pix","swift"],"example":"ach","type":"string","isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.1.network","typeLabel":"enum\u003cstring>"},"type":{"description":"The destination type: bank_account.","enum":["bank_account"],"example":"bank_account","type":"string","isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.1.type","typeLabel":"enum\u003cstring>"},"achReference":{"description":"Reference sent to the receiving institution with ACH transfers, 1-10 characters.","example":"REF123","maxLength":10,"minLength":1,"type":"string","uniqueKey":"oneOf.1.destination.oneOf.1.achReference","typeLabel":"string"},"sepaReference":{"description":"Reference sent to the receiving institution with SEPA transfers, 6-140 characters.","example":"INV-2024-001","maxLength":140,"minLength":6,"type":"string","uniqueKey":"oneOf.1.destination.oneOf.1.sepaReference","typeLabel":"string"},"wireMessage":{"description":"Message sent to the receiving institution with wire transfers, 1-105 characters.","example":"Invoice #1024","maxLength":105,"minLength":1,"type":"string","uniqueKey":"oneOf.1.destination.oneOf.1.wireMessage","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.destination.oneOf.1","typeLabel":"Destination Bank Account · object"}],"isRequired":true,"uniqueKey":"oneOf.1.destination","typeLabel":"Destination Wallet · object | Destination Bank Account · object"},"source":{"oneOf":[{"type":"object","title":"Source Wallet","description":"The source of an `Off-ramp` transfer. See [Wallets](/concepts/transfers/wallets) for registration.","required":["type","id","currency","network"],"properties":{"currency":{"description":"The source currency for an `Off-ramp` transfer. This should be the currency of the wallet. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usdc","usdt","eurc"],"example":"usdc","type":"string","isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"id":{"description":"The source wallet ID.","example":"wallet_1234567890abcdef1234567890abcdef12345678","pattern":"^wallet_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.0.id","typeLabel":"string"},"network":{"description":"The source network of the customer's wallet. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["sol","ethereum","arbitrum","polygon","base","avalanche","tron"],"example":"sol","type":"string","isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.0.network","typeLabel":"enum\u003cstring>"},"type":{"description":"The source type: wallet.","enum":["wallet"],"example":"wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.0","typeLabel":"Source Wallet · object"},{"type":"object","title":"Source Bank Account","description":"The source of an `On-ramp` transfer.","required":["type","id","currency","network"],"properties":{"currency":{"description":"The source currency for an `On-ramp` transfer. This should be the currency of the bank account. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usd","eur","brl","mxn"],"example":"usd","type":"string","isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.1.currency","typeLabel":"enum\u003cstring>"},"id":{"description":"The source bank account ID.","example":"bank_account_1234567890","pattern":"^bankAccount_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.1.id","typeLabel":"string"},"network":{"description":"The source network of the bank account. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["ach","wire","sepa","pix","swift","spei"],"example":"ach","type":"string","isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.1.network","typeLabel":"enum\u003cstring>"},"type":{"description":"The source type: bank_account.","enum":["bank_account"],"example":"bank_account","type":"string","isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.1.source.oneOf.1","typeLabel":"Source Bank Account · object"}],"isRequired":true,"uniqueKey":"oneOf.1.source","typeLabel":"Source Wallet · object | Source Bank Account · object"},"documentId":{"description":"ID of a pre-uploaded supporting document (from POST /v2/document with target `transfer`). Required for third-party transfers on certain routes. A transfer is considered third-party when the destination bank account owner is not the customer themselves (i.e. the bank account relationship is not `self`). The document should evidence the purpose of the transfer - for example, an invoice, contract, payment agreement, or proof of services rendered.","example":"document_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","minLength":1,"pattern":"^document_[a-z0-9]+$","type":"string","uniqueKey":"oneOf.1.documentId","typeLabel":"string"},"expectedProvider":{"description":"Provider returned by the receipt preview. Creation fails if route selection changed, so the caller can refresh the preview before retrying.","enum":["bridge","lumx","symmetry_arcadia","symmetry_titan"],"type":"string","uniqueKey":"oneOf.1.expectedProvider","typeLabel":"enum\u003cstring>"},"externalId":{"description":"Integrator-defined external reference. The value is not stored as unique.","example":"merchant_ref_123","type":"string","uniqueKey":"oneOf.1.externalId","typeLabel":"string"},"integratorBpsFeeRate":{"description":"The integrator BPS fee rate as an integer string (1 bps = 0.01%). This is the only fee mechanism supported for BRL transfers.","example":"20","pattern":"^\\d+$","type":"string","uniqueKey":"oneOf.1.integratorBpsFeeRate","typeLabel":"string"},"integratorFixedFee":{"description":"The integrator fixed fee amount in source currency. Must have exactly 2 decimal places. Not supported for BRL transfers - use integratorBpsFeeRate instead.","example":"2.00","type":"string","uniqueKey":"oneOf.1.integratorFixedFee","typeLabel":"string"},"paymentDescription":{"description":"A free-text description of the payment purpose. Required for third-party off-ramp transfers (where the destination bank account owner relationship is not `self`). Max 500 characters.","example":"INV-2026-004 - Q1 software services","maxLength":500,"minLength":1,"type":"string","uniqueKey":"oneOf.1.paymentDescription","typeLabel":"string"},"paymentReason":{"description":"The reason for the payment. Required for SWIFT transfers, BRL transfers, and for third-party off-ramp transfers (where the destination bank account owner relationship is not `self`).","enum":["personal","investment","real_estate","tax","loan","bills","reimbursement","professional_services","family_support","education","rent","donation","gift","insurance","medical","savings","travel","mortgage","fine","dividend","agriculture","import_export","art","other"],"example":"professional_services","type":"string","uniqueKey":"oneOf.1.paymentReason","typeLabel":"enum\u003cstring>"},"quoteId":{"oneOf":[{}],"uniqueKey":"oneOf.1.quoteId","typeLabel":"any"},"referenceSide":{"description":"Controls whether `amount` is interpreted as the source amount to send or the destination amount to receive. Defaults to `source` when omitted.","enum":["source","destination"],"example":"destination","type":"string","uniqueKey":"oneOf.1.referenceSide","typeLabel":"enum\u003cstring>"},"returnAddress":{"description":"Crypto address where funds are returned on failed transactions. Must be 1-255 characters and valid for the source network.","example":"0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97","type":"string","uniqueKey":"oneOf.1.returnAddress","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"Transfer · object"}],"uniqueKey":"","typeLabel":"Transfer with Quote · object | Transfer · object"},"examples":{"Example":{"title":"Example","value":{"customer":"customer_1234567890","destination":{"id":"wallet_1234567890abcdef1234567890abcdef12345678","type":"wallet"},"quoteId":"quote_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","source":{"id":"wallet_1234567890abcdef1234567890abcdef12345678","type":"wallet"},"documentId":"document_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","externalId":"merchant_ref_123","paymentDescription":"INV-2026-004 - Q1 software services","paymentReason":"professional_services","referenceSide":"\u003cunknown>","returnAddress":"0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"0de009bb-dff3-499e-a77d-666346b8ac21":{"content":{"application/json":{"schema":{"properties":{"created":{"description":"The datetime the transfer was created.","example":"2021-01-01T00:00:00.000Z","format":"date-time","type":"string","isRequired":true,"uniqueKey":"created","typeLabel":"string\u003cdate-time>"},"customer":{"description":"The customer ID.","example":"customer_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7","type":"string","isRequired":true,"uniqueKey":"customer","typeLabel":"string"},"depositAccount":{"oneOf":[{"type":"object","title":"Deposit Bank Account","description":"The deposit bank account for an on ramp transfer.","required":["type","bankDetails"],"properties":{"bankDetails":{"properties":{"accountHolderName":{"description":"The name of the bank account holder that the source funds will be transferred to.","example":"John Doe","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.accountHolderName","typeLabel":"string"},"accountNumber":{"description":"The account number of the bank account, used for wires, ACH transfers and other applicable networks.","example":"1234567890","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.accountNumber","typeLabel":"string"},"accountType":{"description":"The type of bank account: savings or checking.","enum":["savings","checking"],"example":"savings","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.accountType","typeLabel":"enum\u003cstring>"},"bankAddress":{"description":"The address of the deposit bank account.","example":"123 Main St, Anytown, USA","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.bankAddress","typeLabel":"string"},"bankName":{"description":"The name of the bank that the source funds will be transferred to.","example":"Bank of America","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.bankName","typeLabel":"string"},"beneficiaryAddress":{"description":"The address of the beneficiary that will receive the funds.","example":"123 Main St, Anytown, USA","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.beneficiaryAddress","typeLabel":"string"},"bic":{"description":"The BIC of the bank account, used for SEPA transfers and other applicable networks.","example":"1234567890","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.bic","typeLabel":"string"},"brCode":{"description":"The PIX BR code for on-ramp payments. Encode this as a QR code for the customer to scan and pay.","example":"00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.brCode","typeLabel":"string"},"clabe":{"description":"The CLABE of the deposit bank account, used for SPEI transfers in Mexico.","example":"012345678901234567","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.clabe","typeLabel":"string"},"iban":{"description":"The IBAN of the bank account, used for SEPA transfers and other applicable networks.","example":"1234567890","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.iban","typeLabel":"string"},"memo":{"description":"The memo of the transfer. This must be provided when initiating wire, ACH and SEPA transfers. This is the memo that will be used to identify the transfer to the deposit account.","example":"BBE6C7EB4A3F","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.memo","typeLabel":"string"},"pixKey":{"description":"The PIX key of the deposit bank account, used for PIX transfers.","example":"+5511999999999","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.pixKey","typeLabel":"string"},"routingNumber":{"description":"The routing number of the bank account, used for wires, ACH transfers and other applicable networks.","example":"1234567890","type":"string","uniqueKey":"depositAccount.oneOf.0.bankDetails.routingNumber","typeLabel":"string"}},"type":"object","isRequired":true,"uniqueKey":"depositAccount.oneOf.0.bankDetails","typeLabel":"object"},"type":{"description":"The type of the deposit account.","enum":["bank_account"],"example":"bank_account","type":"string","isRequired":true,"uniqueKey":"depositAccount.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"depositAccount.oneOf.0","typeLabel":"Deposit Bank Account · object"},{"type":"object","title":"Deposit Wallet","description":"The deposit wallet for an off ramp transfer.","required":["type","walletDetails"],"properties":{"type":{"description":"The type of the deposit account.","enum":["wallet"],"example":"wallet","type":"string","isRequired":true,"uniqueKey":"depositAccount.oneOf.1.type","typeLabel":"enum\u003cstring>"},"walletDetails":{"properties":{"address":{"description":"The address of the wallet that the source funds will be transferred to.","example":"0x1234567890abcdef1234567890abcdef12345678","type":"string","isRequired":true,"uniqueKey":"depositAccount.oneOf.1.walletDetails.address","typeLabel":"string"},"currency":{"description":"The currency that should be transferred to the wallet. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usdc","usdt","eurc"],"example":"usdc","type":"string","isRequired":true,"uniqueKey":"depositAccount.oneOf.1.walletDetails.currency","typeLabel":"enum\u003cstring>"},"network":{"description":"The network that the source funds will be transferred on. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["sol","fogo","ethereum","arbitrum","polygon","base","avalanche","sui","noble","sei","tron","starknet","aptos","hyperliquid"],"example":"ethereum","type":"string","isRequired":true,"uniqueKey":"depositAccount.oneOf.1.walletDetails.network","typeLabel":"enum\u003cstring>"}},"required":["address","currency","network"],"type":"object","isRequired":true,"uniqueKey":"depositAccount.oneOf.1.walletDetails","typeLabel":"object"}},"isRequired":true,"uniqueKey":"depositAccount.oneOf.1","typeLabel":"Deposit Wallet · object"}],"isRequired":true,"uniqueKey":"depositAccount","typeLabel":"Deposit Bank Account · object | Deposit Wallet · object"},"destination":{"oneOf":[{"type":"object","title":"Destination Wallet","description":"The destination of an `On-ramp` transfer. See [Wallets](/concepts/transfers/wallets) for registration.","required":["id","type","currency","network"],"properties":{"currency":{"description":"The destination wallet currency. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usdc","usdt","eurc"],"example":"usdc","type":"string","isRequired":true,"uniqueKey":"destination.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"id":{"description":"The destination wallet ID.","example":"wallet_e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2","pattern":"^wallet_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"destination.oneOf.0.id","typeLabel":"string"},"network":{"description":"The destination wallet network. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["sol","fogo","ethereum","arbitrum","polygon","base","avalanche","sui","noble","sei","tron","starknet","aptos","hyperliquid"],"example":"sol","type":"string","isRequired":true,"uniqueKey":"destination.oneOf.0.network","typeLabel":"enum\u003cstring>"},"type":{"description":"The destination wallet type.","enum":["wallet"],"example":"wallet","type":"string","isRequired":true,"uniqueKey":"destination.oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"string","uniqueKey":"destination.oneOf.0.amount","typeLabel":"string"},"exchangeRate":{"description":"The exchange rate applied to the destination amount when converting the source amount to the destination currency.","example":"5.455","type":"string","uniqueKey":"destination.oneOf.0.exchangeRate","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.0","typeLabel":"Destination Wallet · object"},{"type":"object","title":"Destination Bank Account","description":"The destination of an `Off-ramp` transfer.","required":["id","type","currency","network"],"properties":{"currency":{"description":"The destination bank account currency. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usd","eur","brl","mxn"],"example":"usd","type":"string","isRequired":true,"uniqueKey":"destination.oneOf.1.currency","typeLabel":"enum\u003cstring>"},"id":{"description":"The destination bank account ID.","example":"bankAccount_f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3","pattern":"^bankAccount_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"destination.oneOf.1.id","typeLabel":"string"},"network":{"description":"The destination bank account network. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["ach","wire","sepa","pix","swift","spei"],"example":"wire","type":"string","isRequired":true,"uniqueKey":"destination.oneOf.1.network","typeLabel":"enum\u003cstring>"},"type":{"description":"The destination account type.","enum":["bank_account"],"example":"bank_account","type":"string","isRequired":true,"uniqueKey":"destination.oneOf.1.type","typeLabel":"enum\u003cstring>"},"achReference":{"description":"The ACH reference string.","example":"ABC123456789","type":"string","uniqueKey":"destination.oneOf.1.achReference","typeLabel":"string"},"amount":{"description":"The destination amount being transferred to the bank account.","example":"98.90","type":"string","uniqueKey":"destination.oneOf.1.amount","typeLabel":"string"},"exchangeRate":{"description":"The exchange rate applied to the destination amount when converting the source amount to the destination currency.","example":"5.455","type":"string","uniqueKey":"destination.oneOf.1.exchangeRate","typeLabel":"string"},"sepaReference":{"description":"The SEPA reference string.","example":"ABC123456789","type":"string","uniqueKey":"destination.oneOf.1.sepaReference","typeLabel":"string"},"wireMessage":{"description":"The message included with the wire transfer.","example":"Payment for invoice 12345","type":"string","uniqueKey":"destination.oneOf.1.wireMessage","typeLabel":"string"}},"isRequired":true,"uniqueKey":"destination.oneOf.1","typeLabel":"Destination Bank Account · object"}],"isRequired":true,"uniqueKey":"destination","typeLabel":"Destination Wallet · object | Destination Bank Account · object"},"id":{"description":"A unique identifier for transfer.","example":"payout_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","pattern":"^payout_[a-z0-9]{32}$","type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"source":{"oneOf":[{"type":"object","title":"Source Bank Account","description":"The source of an on ramp transfer.","required":["id","type","currency","network","amount"],"example":{"id":"bankAccount_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","type":"bank_account"},"properties":{"amount":{"description":"The source amount being transferred out of the source bank account.","example":"100.00","type":"string","isRequired":true,"uniqueKey":"source.oneOf.0.amount","typeLabel":"string"},"currency":{"description":"The source bank account currency. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usd","eur","brl","mxn"],"example":"usd","type":"string","isRequired":true,"uniqueKey":"source.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"id":{"description":"The source bank account ID.","example":"bankAccount_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","pattern":"^bankAccount_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"source.oneOf.0.id","typeLabel":"string"},"network":{"description":"The source bank account network. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["ach","wire","sepa","pix","swift","spei"],"example":"wire","type":"string","isRequired":true,"uniqueKey":"source.oneOf.0.network","typeLabel":"enum\u003cstring>"},"type":{"description":"The source account type.","enum":["bank_account"],"example":"bank_account","type":"string","isRequired":true,"uniqueKey":"source.oneOf.0.type","typeLabel":"enum\u003cstring>"},"achReference":{"description":"The ACH reference string.","example":"ABC123456789","type":"string","uniqueKey":"source.oneOf.0.achReference","typeLabel":"string"},"sepaReference":{"description":"The SEPA reference string.","example":"ABC123456789","type":"string","uniqueKey":"source.oneOf.0.sepaReference","typeLabel":"string"},"wireMessage":{"description":"The message included with the wire transfer.","example":"Payment for invoice 12345","type":"string","uniqueKey":"source.oneOf.0.wireMessage","typeLabel":"string"}},"isRequired":true,"uniqueKey":"source.oneOf.0","typeLabel":"Source Bank Account · object"},{"type":"object","title":"Source Wallet","description":"The source of an off ramp transfer. See [Wallets](/concepts/transfers/wallets) for registration.","required":["id","type","currency","network","amount"],"properties":{"amount":{"description":"The source amount being transferred out of the source wallet.","example":"100.00","type":"string","isRequired":true,"uniqueKey":"source.oneOf.1.amount","typeLabel":"string"},"currency":{"description":"The source wallet currency. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usdc","usdt","eurc"],"example":"usdc","type":"string","isRequired":true,"uniqueKey":"source.oneOf.1.currency","typeLabel":"enum\u003cstring>"},"id":{"description":"The source wallet ID.","example":"wallet_d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1","pattern":"^wallet_[a-z0-9]+$","type":"string","isRequired":true,"uniqueKey":"source.oneOf.1.id","typeLabel":"string"},"network":{"description":"The source wallet network. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["sol","fogo","ethereum","arbitrum","polygon","base","avalanche","sui","noble","sei","tron","starknet","aptos","hyperliquid"],"example":"sol","type":"string","isRequired":true,"uniqueKey":"source.oneOf.1.network","typeLabel":"enum\u003cstring>"},"type":{"description":"The source type.","enum":["wallet"],"example":"wallet","type":"string","isRequired":true,"uniqueKey":"source.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"source.oneOf.1","typeLabel":"Source Wallet · object"}],"isRequired":true,"uniqueKey":"source","typeLabel":"Source Bank Account · object | Source Wallet · object"},"status":{"description":"The transfer status. See [Transfer Lifecycle](/concepts/transfers/lifecycle) for status definitions and transitions.","enum":["pendingFunding","pendingReview","fundsReceived","processing","succeeded","undeliverable","returned","processingRefund","refundFailed","pendingRefundInformation","failed","canceled","refunded","unexpectedError","failedPrecondition","expired","unfunded"],"example":"pendingFunding","type":"string","x-enumNames":["PENDING_FUNDING","PENDING_REVIEW","FUNDS_RECEIVED","PROCESSING","SUCCEEDED","UNDELIVERABLE","RETURNED","PROCESSING_REFUND","REFUND_FAILED","PENDING_REFUND_INFO","FAILED","CANCELED","REFUNDED","UNEXPECTED_ERROR","FAILED_PRECONDITION","EXPIRED","UNFUNDED"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"statusHistory":{"description":"Timeline of status transitions for this transfer, ascending by transitionedAt.","example":[{"status":"pendingFunding","transitionedAt":"2026-06-20T14:03:21.000Z"},{"status":"processing","transitionedAt":"2026-06-20T14:05:10.000Z"}],"items":{"description":"A single transfer status transition.","properties":{"status":{"enum":["pendingFunding","pendingReview","fundsReceived","processing","succeeded","undeliverable","returned","processingRefund","refundFailed","pendingRefundInformation","failed","canceled","refunded","unexpectedError","failedPrecondition","expired","unfunded"],"type":"string","x-enumNames":["PENDING_FUNDING","PENDING_REVIEW","FUNDS_RECEIVED","PROCESSING","SUCCEEDED","UNDELIVERABLE","RETURNED","PROCESSING_REFUND","REFUND_FAILED","PENDING_REFUND_INFO","FAILED","CANCELED","REFUNDED","UNEXPECTED_ERROR","FAILED_PRECONDITION","EXPIRED","UNFUNDED"],"isRequired":true,"uniqueKey":"statusHistory.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"transitionedAt":{"description":"ISO 8601 timestamp of when the transfer entered this status.","example":"2026-06-20T14:05:10.000Z","format":"date-time","type":"string","isRequired":true,"uniqueKey":"statusHistory.items.[INDEX].transitionedAt","typeLabel":"string\u003cdate-time>"}},"required":["status","transitionedAt"],"title":"Transfer Status History Entry","type":"object","uniqueKey":"statusHistory.items.[INDEX]","typeLabel":"Transfer Status History Entry · object"},"type":"array","isRequired":true,"uniqueKey":"statusHistory","typeLabel":"Transfer Status History Entry · object[]"},"type":{"description":"The transfer type.","enum":["on_ramp","off_ramp","fiat_to_fiat","unmatched_deposit","microdeposit"],"example":"on_ramp","type":"string","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"updated":{"description":"The last datetime the transfer was updated.","example":"2021-01-01T00:00:00.000Z","format":"date-time","type":"string","isRequired":true,"uniqueKey":"updated","typeLabel":"string\u003cdate-time>"},"externalId":{"description":"The external reference (not stored as unique).","example":"merchant_ref_123","type":"string","uniqueKey":"externalId","typeLabel":"string"},"fees":{"description":"Fee breakdown for the transfer. For floating-rate BRL transfers, this is omitted until settlement is complete.","properties":{"integratorFee":{"description":"The integrator fee, this is the portion of the fee that the API integrator will receive.","example":{"bpsAmount":"0.10","bpsRate":"10","currency":"usd","fixedAmount":"1.00","totalAmount":"1.10"},"properties":{"bpsAmount":{"description":"The dollar amount derived from the BPS rate. Equal to totalAmount minus fixedAmount.","example":"0.10","type":"string","isRequired":true,"uniqueKey":"fees.integratorFee.bpsAmount","typeLabel":"string"},"bpsRate":{"description":"The BPS rate of the fee.","example":"10","type":"string","isRequired":true,"uniqueKey":"fees.integratorFee.bpsRate","typeLabel":"string"},"currency":{"description":"The currency of the fee. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usdc","usdt","eurc","usd","eur","brl","mxn"],"example":"usd","type":"string","isRequired":true,"uniqueKey":"fees.integratorFee.currency","typeLabel":"enum\u003cstring>"},"fixedAmount":{"description":"The fixed amount of the fee.","example":"1.00","type":"string","isRequired":true,"uniqueKey":"fees.integratorFee.fixedAmount","typeLabel":"string"},"totalAmount":{"description":"The total amount of the fee applied to the source amount.","example":"1.10","type":"string","isRequired":true,"uniqueKey":"fees.integratorFee.totalAmount","typeLabel":"string"}},"required":["fixedAmount","bpsRate","bpsAmount","totalAmount","currency"],"type":"object","isRequired":true,"uniqueKey":"fees.integratorFee","typeLabel":"object"},"platformFee":{"description":"The platform fee, this is the portion of the fee that Sphere will receive.","example":{"bpsAmount":"0.10","bpsRate":"10","currency":"usd","fixedAmount":"2.00","totalAmount":"2.10"},"properties":{"bpsAmount":{"description":"The dollar amount derived from the BPS rate. Equal to totalAmount minus fixedAmount.","example":"0.10","type":"string","isRequired":true,"uniqueKey":"fees.platformFee.bpsAmount","typeLabel":"string"},"bpsRate":{"description":"The BPS rate of the fee.","example":"10","type":"string","isRequired":true,"uniqueKey":"fees.platformFee.bpsRate","typeLabel":"string"},"currency":{"description":"The currency of the fee. See [Supported Rails \u0026 Currencies](/concepts/transfers/supported-rails).","enum":["usdc","usdt","eurc","usd","eur","brl","mxn"],"example":"usd","type":"string","isRequired":true,"uniqueKey":"fees.platformFee.currency","typeLabel":"enum\u003cstring>"},"fixedAmount":{"description":"The fixed amount of the fee.","example":"1.00","type":"string","isRequired":true,"uniqueKey":"fees.platformFee.fixedAmount","typeLabel":"string"},"totalAmount":{"description":"The total amount of the fee applied to the source amount.","example":"1.10","type":"string","isRequired":true,"uniqueKey":"fees.platformFee.totalAmount","typeLabel":"string"}},"required":["fixedAmount","bpsRate","bpsAmount","totalAmount","currency"],"type":"object","isRequired":true,"uniqueKey":"fees.platformFee","typeLabel":"object"}},"required":["integratorFee","platformFee"],"type":"object","uniqueKey":"fees","typeLabel":"object"},"fundingDeadline":{"description":"The datetime by which the deposit must arrive into the deposit account. A later deposit is not applied to this transfer. Present only on bank-funded transfers that have a deadline. Distinct from `quote.expiresAt`, which is the expiry of the quoted rate.","example":"2026-11-03T12:00:00.000Z","format":"date-time","type":"string","uniqueKey":"fundingDeadline","typeLabel":"string\u003cdate-time>"},"paymentDescription":{"description":"A free-text description of the payment purpose. Present on third-party off-ramp transfers.","example":"INV-2026-004 - Q1 software services","type":"string","uniqueKey":"paymentDescription","typeLabel":"string"},"paymentReason":{"description":"The reason for the payment. Present on BRL transfers and third-party off-ramp transfers.","example":"professional_services","type":"string","uniqueKey":"paymentReason","typeLabel":"string"},"quote":{"description":"The quote used for this transfer, if any. When present, the locked exchange rate from the quote was applied to the destination amount and exchange rate.","properties":{"expiresAt":{"description":"The datetime the quote expires.","example":"2021-01-01T00:00:00.000Z","format":"date-time","type":"string","isRequired":true,"uniqueKey":"quote.expiresAt","typeLabel":"string\u003cdate-time>"},"id":{"description":"The unique identifier for the quote used for this transfer.","example":"quote_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","type":"string","isRequired":true,"uniqueKey":"quote.id","typeLabel":"string"}},"required":["id","expiresAt"],"type":"object","uniqueKey":"quote","typeLabel":"object"},"returnAddress":{"description":"Crypto wallet address where funds are sent if the transfer fails or is refunded. Only present on off-ramp transfers created with a custom return address.","example":"0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97","type":"string","uniqueKey":"returnAddress","typeLabel":"string"}},"required":["id","type","status","statusHistory","customer","source","destination","depositAccount","updated","created"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"created":"2021-01-01T00:00:00.000Z","customer":"customer_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7","depositAccount":{"bankDetails":{"accountHolderName":"John Doe","accountNumber":"1234567890","accountType":"savings","bankAddress":"123 Main St, Anytown, USA","bankName":"Bank of America","beneficiaryAddress":"123 Main St, Anytown, USA","bic":"1234567890","brCode":"00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890","clabe":"012345678901234567","iban":"1234567890","memo":"BBE6C7EB4A3F","pixKey":"+5511999999999","routingNumber":"1234567890"},"type":"bank_account"},"destination":{"currency":"usdc","id":"wallet_e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2","network":"sol","type":"wallet","amount":"\u003cstring>","exchangeRate":"5.455"},"id":"payout_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","source":{"id":"bankAccount_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6","type":"bank_account"},"status":"pendingFunding","statusHistory":[{"status":"pendingFunding","transitionedAt":"2026-06-20T14:03:21.000Z"},{"status":"processing","transitionedAt":"2026-06-20T14:05:10.000Z"}],"type":"on_ramp","updated":"2021-01-01T00:00:00.000Z","externalId":"merchant_ref_123","fees":{"integratorFee":{"bpsAmount":"0.10","bpsRate":"10","currency":"usd","fixedAmount":"1.00","totalAmount":"1.10"},"platformFee":{"bpsAmount":"0.10","bpsRate":"10","currency":"usd","fixedAmount":"2.00","totalAmount":"2.10"}},"fundingDeadline":"2026-11-03T12:00:00.000Z","paymentDescription":"INV-2026-004 - Q1 software services","paymentReason":"professional_services","quote":{"expiresAt":"2021-01-01T00:00:00.000Z","id":"quote_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"},"returnAddress":"0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97"}}},"exampleType":"generated"}},"description":"","exampleType":"generated"},"fc9bfad4-810e-4a3e-ab1b-7dcadd8a416c":{"content":{"application/json":{"examples":{"Bad Request":{"title":"Bad Request","value":{"code":"address/invalid","correlationId":"28c61e885c6e5eaa78c1a2183a9b883c","detail":"Invalid request parameters","status":400}}},"schema":{"properties":{"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"correlationId":{"type":"string","uniqueKey":"correlationId","typeLabel":"string"},"errors":{"items":{"properties":{"detail":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"},"header":{"type":"string","uniqueKey":"errors.items.[INDEX].header","typeLabel":"string"},"parameter":{"type":"string","uniqueKey":"errors.items.[INDEX].parameter","typeLabel":"string"},"pointer":{"type":"string","uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"}},"required":["detail"],"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"required":["status","detail"],"type":"object","uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"description":"Bad Request","exampleType":"examples"},"459b7558-461c-4626-87f0-261693d5092f":{"content":{"application/json":{"examples":{"Not Found":{"title":"Not Found","value":{"code":"resource/not-found","correlationId":"28c61e885c6e5eaa78c1a2183a9b883c","detail":"Resource not found","status":404}}},"schema":{"properties":{"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"correlationId":{"type":"string","uniqueKey":"correlationId","typeLabel":"string"},"errors":{"items":{"properties":{"detail":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"},"header":{"type":"string","uniqueKey":"errors.items.[INDEX].header","typeLabel":"string"},"parameter":{"type":"string","uniqueKey":"errors.items.[INDEX].parameter","typeLabel":"string"},"pointer":{"type":"string","uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"}},"required":["detail"],"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"required":["status","detail"],"type":"object","uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"description":"Not Found","exampleType":"examples"},"e1273cfb-35ef-48e5-b467-4ff36516919f":{"content":{"application/json":{"examples":{"Validation Error":{"title":"Validation Error","value":{"code":"validation/failed","correlationId":"28c61e885c6e5eaa78c1a2183a9b883c","detail":"Validation failed","errors":[{"detail":"Invalid email format","pointer":"/email"},{"detail":"Name is required","pointer":"/name"}],"status":422}}},"schema":{"properties":{"detail":{"type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"status":{"type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"correlationId":{"type":"string","uniqueKey":"correlationId","typeLabel":"string"},"errors":{"items":{"properties":{"detail":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"},"header":{"type":"string","uniqueKey":"errors.items.[INDEX].header","typeLabel":"string"},"parameter":{"type":"string","uniqueKey":"errors.items.[INDEX].parameter","typeLabel":"string"},"pointer":{"type":"string","uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"}},"required":["detail"],"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"},"title":{"type":"string","uniqueKey":"title","typeLabel":"string"}},"required":["status","detail"],"type":"object","uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"description":"Unprocessable Entity - Validation Error","exampleType":"examples"}},"security":{"d8f4bc21-1820-4e73-bc5e-ea3b587aeee8":{"bearer":{"bearerFormat":"JWT","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearer"}}},"servers":{"b5036787-7020-43a8-8dee-cb8b0d270e6a":{"description":"Production","url":"https://api.spherepay.co"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"bearerFormat":"JWT","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"openapi/spherepay.yaml"},"subdomain":"spherepayco","siteName":"SpherePay","title":"Create an On-Ramp or Off-Ramp Transfer - SpherePay","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/transfer/post","matchLevel":0},"es":{"href":"/es/api-reference/transfer/post","matchLevel":1},"pt-BR":{"href":"/pt-BR/api-reference/transfer/post","matchLevel":1}}},"lastModified":"2026-06-18T02:06:48.309Z","gitLastModified":"2026-06-18T02:06:27.000Z","originalFileLocation":"api-reference/transfer/post.mdx","locale":"en"},"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=\"Create a new transfer.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SpherePay\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/spherepayco/MOEcmEf1ysLzlDTM/_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/spherepayco/MOEcmEf1ysLzlDTM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/spherepayco/MOEcmEf1ysLzlDTM/_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/spherepayco/MOEcmEf1ysLzlDTM/_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/spherepayco/MOEcmEf1ysLzlDTM/_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/spherepayco/MOEcmEf1ysLzlDTM/_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/spherepayco/MOEcmEf1ysLzlDTM/_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/spherepayco/MOEcmEf1ysLzlDTM/_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/spherepayco/MOEcmEf1ysLzlDTM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create an On-Ramp or Off-Ramp Transfer - SpherePay\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new transfer.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SpherePay\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.spherepay.co/api-reference/transfer/post\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://spherepayco.mintlify.app/_mintlify/api/og/v2?division=Transfers\u0026amp;title=Create+an+On-Ramp+or+Off-Ramp+Transfer\u0026amp;description=Create+a+new+transfer.\u0026amp;theme=b4fcde6ac9937acf506a9b2d\u0026amp;signature=a432c7a46701edcdb57d3914d865710cbb58fad189b9152e258ff2940b871f73\">\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 On-Ramp or Off-Ramp Transfer - SpherePay\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new transfer.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://spherepayco.mintlify.app/_mintlify/api/og/v2?division=Transfers\u0026amp;title=Create+an+On-Ramp+or+Off-Ramp+Transfer\u0026amp;description=Create+a+new+transfer.\u0026amp;theme=b4fcde6ac9937acf506a9b2d\u0026amp;signature=a432c7a46701edcdb57d3914d865710cbb58fad189b9152e258ff2940b871f73\">\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/spherepayco/MOEcmEf1ysLzlDTM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SpherePay\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.spherepay.co/api-reference/transfer/post\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/transfer/post.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.spherepay.co/api-reference/transfer/post\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.spherepay.co/es/api-reference/transfer/post\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.spherepay.co/pt-BR/api-reference/transfer/post\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.spherepay.co/api-reference/transfer/post\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.spherepay.co/#organization\",\"name\":\"SpherePay\",\"url\":\"https://docs.spherepay.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/spherepayco/uywNRH6jm1-R-nPL/logo/sphere-light.svg?fit=max\u0026auto=format\u0026n=uywNRH6jm1-R-nPL\u0026q=85\u0026s=783c82452519d50b023b9866c8a1ba48\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.spherepay.co#website\",\"name\":\"SpherePay\",\"url\":\"https://docs.spherepay.co\",\"publisher\":{\"@id\":\"https://docs.spherepay.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.spherepay.co/api-reference/transfer/post#webpage\",\"url\":\"https://docs.spherepay.co/api-reference/transfer/post\",\"name\":\"Create an On-Ramp or Off-Ramp Transfer\",\"description\":\"Create a new transfer.\",\"dateModified\":\"2026-06-18T02:06:27.000Z\",\"isPartOf\":{\"@id\":\"https://docs.spherepay.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.spherepay.co/api-reference/transfer/post#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.spherepay.co/api-reference/transfer/post#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SpherePay\",\"item\":\"https://docs.spherepay.co\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create an On-Ramp or Off-Ramp Transfer\",\"item\":\"https://docs.spherepay.co/api-reference/transfer/post\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.spherepay.co/api-reference/transfer/post#apireference\",\"headline\":\"Create an On-Ramp or Off-Ramp Transfer\",\"name\":\"Create an On-Ramp or Off-Ramp Transfer\",\"description\":\"Create a new transfer.\",\"url\":\"https://docs.spherepay.co/api-reference/transfer/post\",\"mainEntityOfPage\":{\"@id\":\"https://docs.spherepay.co/api-reference/transfer/post#webpage\"},\"dateModified\":\"2026-06-18T02:06:27.000Z\",\"publisher\":{\"@id\":\"https://docs.spherepay.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.spherepay.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SpherePay\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SpherePay","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/introduction"}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/concepts/overview"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/implementation-guides/overview"}]},{"tab":"Solutions","pages":[{"title":"Solutions","href":"/solutions/overview"}]},{"tab":"API Reference","groups":[{"group":"Onboarding","pages":[{"group":"Customers","icon":"user","pages":[{"title":"Create an Individual or Business Customer","sidebarTitle":"Create Customer","openapi":"openapi/spherepay.yaml POST /v2/customer","href":"/api-reference/customer/post"},{"title":"List Customers with Filters and Pagination","sidebarTitle":"List Customers","openapi":"openapi/spherepay.yaml GET /v2/customer","href":"/api-reference/customer/get"},{"title":"Retrieve a Customer with Verification Status","sidebarTitle":"Get Customer","openapi":"openapi/spherepay.yaml GET /v2/customer/{id}","href":"/api-reference/customer/get-id"},{"title":"Update Customer Address, Phone, or Email","sidebarTitle":"Update Customer","openapi":"openapi/spherepay.yaml PATCH /v2/customer/{id}","href":"/api-reference/customer/patch-id"}]},{"group":"Onboarding Links","icon":"link","pages":[{"title":"Create Customer via Link","sidebarTitle":"Create Customer via Link","openapi":"openapi/spherepay.yaml POST /v2/customer/kyc-link","href":"/api-reference/customer/kyc-link"},{"title":"Regenerate a Customer's KYC Link","sidebarTitle":"Regenerate KYC Link","openapi":"openapi/spherepay.yaml POST /v2/customer/{id}/kyc-link","href":"/api-reference/customer/kyc"}]},{"group":"Documents \u0026 Verification","icon":"file-check","pages":[{"title":"Upload KYC and KYB Identity Documents","sidebarTitle":"Upload Document","openapi":"openapi/spherepay.yaml POST /v2/document","href":"/api-reference/document/post"},{"title":"Generate a Customer Face Verification Link","sidebarTitle":"Face Verification Link","openapi":"openapi/spherepay.yaml POST /v2/customer/{id}/face-verification-link","href":"/api-reference/enhanced-due-diligence/face-verification-link"},{"title":"Generate a UBO Face Verification Link for KYB","sidebarTitle":"UBO Face Verification Link","openapi":"openapi/spherepay.yaml POST /v2/business-representative/{id}/face-verification-link","href":"/api-reference/enhanced-due-diligence/ubo-face-verification-link"},{"title":"Send an OTP Code for Customer Verification","sidebarTitle":"Send Verification Code","openapi":"openapi/spherepay.yaml POST /v2/customer/{id}/otp-send","href":"/api-reference/enhanced-due-diligence/send-verification-code"},{"title":"Verify a Customer OTP Code for Email or Phone","sidebarTitle":"Verify OTP Code","openapi":"openapi/spherepay.yaml POST /v2/customer/{id}/otp-verify","href":"/api-reference/enhanced-due-diligence/verify-verification-code"},{"title":"Record Customer Terms of Service Acceptance","sidebarTitle":"Accept Terms of Service","openapi":"openapi/spherepay.yaml POST /v2/customer/{id}/tos-link","href":"/api-reference/enhanced-due-diligence/tos"}]},{"group":"Business Representatives","icon":"users","pages":[{"title":"Register a Business UBO for KYB Verification","sidebarTitle":"Register Representative","openapi":"openapi/spherepay.yaml POST /v2/business-representative","href":"/api-reference/business-representative/post"},{"title":"List All Business Representatives and UBOs","sidebarTitle":"List Representatives","openapi":"openapi/spherepay.yaml GET /v2/business-representative","href":"/api-reference/business-representative/get"},{"title":"Retrieve a Business Representative by ID","sidebarTitle":"Get Representative","openapi":"openapi/spherepay.yaml GET /v2/business-representative/{id}","href":"/api-reference/business-representative/get-id"},{"title":"Update a Business Representative Before KYB","sidebarTitle":"Update Representative","openapi":"openapi/spherepay.yaml PATCH /v2/business-representative/{id}","href":"/api-reference/business-representative/patch-id"},{"title":"Remove a Business Representative or UBO","sidebarTitle":"Delete Representative","openapi":"openapi/spherepay.yaml DELETE /v2/business-representative/{id}","href":"/api-reference/business-representative/delete-id"}]}]},{"group":"Accounts","pages":[{"group":"Bank Accounts","icon":"landmark","pages":[{"title":"Register a Customer Bank Account for Transfers","sidebarTitle":"Register Bank Account","openapi":"openapi/spherepay.yaml POST /v2/bank-account","href":"/api-reference/bank-account/post"},{"title":"List All Registered Customer Bank Accounts","sidebarTitle":"List Bank Accounts","openapi":"openapi/spherepay.yaml GET /v2/bank-account","href":"/api-reference/bank-account/get"},{"title":"Retrieve a Bank Account by ID","sidebarTitle":"Get Bank Account","openapi":"openapi/spherepay.yaml GET /v2/bank-account/{id}","href":"/api-reference/bank-account/get-id"},{"title":"Update Bank Account Payment Rail Settings","sidebarTitle":"Update Bank Account","openapi":"openapi/spherepay.yaml PATCH /v2/bank-account/{id}","href":"/api-reference/bank-account/patch-id"},{"title":"Delete a Registered Customer Bank Account","sidebarTitle":"Delete Bank Account","openapi":"openapi/spherepay.yaml DELETE /v2/bank-account/{id}","href":"/api-reference/bank-account/delete-id"}]},{"group":"Wallets","icon":"wallet","pages":[{"title":"Register a Customer Crypto Wallet for Transfers","sidebarTitle":"Register Wallet","openapi":"openapi/spherepay.yaml POST /v2/wallet","href":"/api-reference/wallet/post"},{"title":"List All Registered Customer Crypto Wallets","sidebarTitle":"List Wallets","openapi":"openapi/spherepay.yaml GET /v2/wallet","href":"/api-reference/wallet/get"},{"title":"Retrieve a Customer Crypto Wallet by ID","sidebarTitle":"Get Wallet","openapi":"openapi/spherepay.yaml GET /v2/wallet/{id}","href":"/api-reference/wallet/get-id"},{"title":"Remove a Registered Customer Crypto Wallet","sidebarTitle":"Delete Wallet","openapi":"openapi/spherepay.yaml DELETE /v2/wallet/{id}","description":"Delete a wallet by its ID","href":"/api-reference/wallet/delete-id"}]}]},{"group":"Money movement","pages":[{"group":"Transfers","icon":"arrow-right-left","pages":[{"title":"Create an On-Ramp or Off-Ramp Transfer","sidebarTitle":"Create Transfer","openapi":"openapi/spherepay.yaml POST /v2/transfer","href":"/api-reference/transfer/post"},{"title":"List On-Ramp and Off-Ramp Transfers","sidebarTitle":"List Transfers","openapi":"openapi/spherepay.yaml GET /v2/transfer","description":"List all transfers","href":"/api-reference/transfer/get"},{"title":"Retrieve a Transfer with Deposit Instructions","sidebarTitle":"Get Transfer","openapi":"openapi/spherepay.yaml GET /v2/transfer/{id}","href":"/api-reference/transfer/get-id"},{"title":"Cancel an Unfunded Pending Transfer","sidebarTitle":"Cancel Transfer","openapi":"openapi/spherepay.yaml DELETE /v2/transfer/{id}","href":"/api-reference/transfer/delete-id"}]},{"group":"Quotes","icon":"calculator","pages":[{"title":"Create a Rate-Locked Quote","sidebarTitle":"Create Quote","openapi":"openapi/spherepay.yaml POST /v2/quote","href":"/api-reference/quote/post"},{"title":"List All Rate-Locked Quotes for Your Account","sidebarTitle":"List Quotes","openapi":"openapi/spherepay.yaml GET /v2/quote","href":"/api-reference/quote/get"},{"title":"Retrieve a Quote by ID","sidebarTitle":"Get Quote","openapi":"openapi/spherepay.yaml GET /v2/quote/{id}","href":"/api-reference/quote/get-id"},{"title":"Update Quote Status","sidebarTitle":"Update Quote","openapi":"openapi/spherepay.yaml PUT /v2/quote/{id}","href":"/api-reference/quote/put-id"}]},{"group":"Virtual Accounts","icon":"credit-card","pages":[{"title":"Create a Virtual Bank Account for Fiat On-Ramp","sidebarTitle":"Create Virtual Account","openapi":"openapi/spherepay.yaml POST /v2/virtual-account","href":"/api-reference/virtual-account/post"},{"title":"List All Onramper Virtual Bank Accounts","sidebarTitle":"List Virtual Accounts","openapi":"openapi/spherepay.yaml GET /v2/virtual-account","href":"/api-reference/virtual-account/get"},{"title":"Retrieve an Onramper Account by ID","sidebarTitle":"Get Virtual Account","openapi":"openapi/spherepay.yaml GET /v2/virtual-account/{virtualAccountId}","href":"/api-reference/virtual-account/get-id"},{"title":"Update an Onramper Account Destination Wallet","sidebarTitle":"Update Virtual Account","openapi":"openapi/spherepay.yaml PATCH /v2/virtual-account/{virtualAccountId}","href":"/api-reference/virtual-account/patch"},{"title":"List Transfers for an Onramper Account","sidebarTitle":"List Account Transfers","openapi":"openapi/spherepay.yaml GET /v2/virtual-account/{virtualAccountId}/transfer","href":"/api-reference/virtual-account/list-transfers"},{"title":"Deactivate an Onramper Virtual Bank Account","sidebarTitle":"Deactivate Account","openapi":"openapi/spherepay.yaml PATCH /v2/virtual-account/{virtualAccountId}/deactivate","href":"/api-reference/virtual-account/deactivate"},{"title":"Reactivate a Deactivated Onramper Account","sidebarTitle":"Reactivate Account","openapi":"openapi/spherepay.yaml PATCH /v2/virtual-account/{virtualAccountId}/reactivate","href":"/api-reference/virtual-account/reactivate"}]},{"group":"Offloader Wallets","icon":"arrow-up-from-line","pages":[{"title":"Create an Offloader Wallet for Crypto Payouts","sidebarTitle":"Create Offloader Wallet","openapi":"openapi/spherepay.yaml POST /v2/offloader-wallet","href":"/api-reference/offloader-wallet/post"},{"title":"List All Offloader Wallets for Your Account","sidebarTitle":"List Offloader Wallets","openapi":"openapi/spherepay.yaml GET /v2/offloader-wallet","href":"/api-reference/offloader-wallet/get"},{"title":"Retrieve an Offloader Wallet by ID","sidebarTitle":"Get Offloader Wallet","openapi":"openapi/spherepay.yaml GET /v2/offloader-wallet/{id}","href":"/api-reference/offloader-wallet/get-id"},{"title":"Update an Offloader Wallet Bank Destination","sidebarTitle":"Update Offloader Wallet","openapi":"openapi/spherepay.yaml PATCH /v2/offloader-wallet/{id}","href":"/api-reference/offloader-wallet/patch-id"}]}]},{"group":"Webhooks","pages":[{"group":"Webhook Endpoints","icon":"plug","pages":[{"title":"Register a Webhook Endpoint for Event Delivery","sidebarTitle":"Create Webhook Endpoint","openapi":"openapi/spherepay.yaml POST /v2/webhook-endpoints","href":"/api-reference/webhook-endpoints/post"},{"title":"List All Registered Webhook Endpoints","sidebarTitle":"List Webhook Endpoints","openapi":"openapi/spherepay.yaml GET /v2/webhook-endpoints","href":"/api-reference/webhook-endpoints/get"},{"title":"Retrieve a Webhook Endpoint by ID","sidebarTitle":"Get Webhook Endpoint","openapi":"openapi/spherepay.yaml GET /v2/webhook-endpoints/{id}","href":"/api-reference/webhook-endpoints/get-id"},{"title":"Delete a Webhook Endpoint","sidebarTitle":"Delete Webhook Endpoint","openapi":"openapi/spherepay.yaml DELETE /v2/webhook-endpoints/{id}","href":"/api-reference/webhook-endpoints/delete-id"}]},{"group":"Events","icon":"bell","pages":[{"title":"List Events and Their Delivery Status","sidebarTitle":"List Events","openapi":"openapi/spherepay.yaml GET /v2/events","href":"/api-reference/events/get"},{"title":"Retrieve an Event with Full Delivery History","sidebarTitle":"Get Event","openapi":"openapi/spherepay.yaml GET /v2/events/{id}","href":"/api-reference/events/get-id"},{"title":"Replay a Failed Event Delivery","sidebarTitle":"Replay Delivery","openapi":"openapi/spherepay.yaml POST /v2/events/replay/{eventDeliveryId}","href":"/api-reference/events/replay"}]}]}]},{"tab":"Releases","pages":[{"title":"Releases","href":"/changelog"}]},{"tab":"FAQ","href":"https://spherepay-knowledge-base.help.usepylon.com/"}]},{"language":"es","pages":[{"title":"es","href":"/es/api-reference/transfer/post"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/api-reference/transfer/post"}]}]},"basePath":"","title":"Create an On-Ramp or Off-Ramp Transfer - SpherePay","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}