Accept the quoted exchange rate for a transfer request. Once confirmed, the rate
is locked and payment details are generated.What you get back depends on how the request was created. A bank_transfer
request is issued a deposit account for you to send the funds to. A momo
request is issued no account. A prompt is sent to the payer’s handset for them
to authorise.
With momo, a 200 means the prompt was sent, not that you have been paid.
Wait for the webhook before treating the transfer as funded.
The payer block is required when the request was created with
payment_method set to momo, and rejected on any other request.
Who is paying. Required when the request was created with payment_method set to momo, and rejected otherwise. Confirming sends a prompt to this wallet. The 200 means the prompt went out, not that you have been paid.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Hashrails","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://valour-assets.s3.us-east-2.amazonaws.com/valour-assets/logo_green.svg","dark":"https://valour-assets.s3.us-east-2.amazonaws.com/valour-assets/logo_green.svg"},"favicon":"https://mintcdn.com/hashrail/rAEHPa-sj8yrIZQk/favicon.ico?fit=max\u0026auto=format\u0026n=rAEHPa-sj8yrIZQk\u0026q=85\u0026s=11d72a81181b298d2684dc1eff88a414","navbar":{"links":[{"href":"mailto:support@hashrails.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.hashrails.com"}},"footer":{"socials":{"x":"https://x.com/hashrails","github":"https://github.com/hashrails","linkedin":"https://linkedin.com/company/hashrails"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hashrail","hasAudioNarration":false,"actualSubdomain":"hashrail","customDomains":["docs.hashrails.com"],"gitSource":{"type":"github","owner":"varlourpayhq","repo":"hr-api-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6abbb37c3ff9289ed2559826","collectionId":"93d1d886-6fce-464f-9f20-f624720b3732","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6abbb37c3ff9289ed2559826"},"entitlements":{},"buildId":"6abbb37c3ff9289ed2559826","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Transfer Request","count":6},{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"Banks","count":3},{"language":"default","tag":"Recipients","count":3},{"language":"default","tag":"Transactions","count":2},{"language":"default","tag":"Authentication","count":1},{"language":"default","tag":"Currencies","count":1}]},"assistantConfig":{"enableStarterQuestions":false},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/transfer-request/confirm-rate","slug":"/api-reference/transfer-request/confirm-rate","pageMetadata":{"title":"Confirm Rate","openapi":"POST /v1/transfer-requests/{id}/confirm-rate","description":null,"href":"/api-reference/transfer-request/confirm-rate"},"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`,..._provideComponents(),...props.components},{Info,Warning}=_components;if(!Info)_missingMdxReference(`Info`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Accept the quoted exchange rate for a transfer request. Once confirmed, the rate\nis locked and payment details are generated.`}),`\n`,_jsxs(_components.p,{children:[`What you get back depends on how the request was created. A `,_jsx(_components.code,{children:`bank_transfer`}),`\nrequest is issued a deposit account for you to send the funds to. A `,_jsx(_components.code,{children:`momo`}),`\nrequest is issued no account. A prompt is sent to the payer’s handset for them\nto authorise.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`momo`}),`, a `,_jsx(_components.code,{children:`200`}),` means the prompt was sent, not that you have been paid.\nWait for the webhook before treating the transfer as funded.`]})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`payer`}),` block is required when the request was created with\n`,_jsx(_components.code,{children:`payment_method`}),` set to `,_jsx(_components.code,{children:`momo`}),`, and rejected on any other request.`]})})]})}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":"Confirm Rate","openapi":"POST /v1/transfer-requests/{id}/confirm-rate","description":null,"href":"/api-reference/transfer-request/confirm-rate"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"PublicTransferRequestController_confirmRate","parameters":["fb216635-4e15-4c39-80b6-8843373c8841"],"requestBody":"0f4aeb25-5f7d-4bdd-a362-7c5a7affaaef","responses":{"200":"bf6b069e-9761-4203-81ca-a80d1460e35d","400":"94b4545e-daf9-4333-a7df-d6a9055ca1d7"},"summary":"Confirm the quoted exchange rate","tags":["Transfer Requests"],"method":"post","type":"path","servers":["a2f08251-e4a1-45fc-919a-b46a29cce645","45eaabdb-7c5c-40af-a3de-1d702374b0a6"],"security":["eab29975-dde6-4174-9224-019bff55e42d"],"path":"/v1/transfer-requests/{id}/confirm-rate","baseUrlOptions":["https://api.staging.railsfromthecrypt.com","https://api.hashrails.com"],"title":"Confirm the quoted exchange rate","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"fb216635-4e15-4c39-80b6-8843373c8841":{"name":"id","required":true,"in":"path","description":"Unique transfer request ID","schema":{"type":"string","example":"c17d2777-e604-45e2-b6d5-7743652eadf1","isRequired":true,"description":"Unique transfer request ID","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"number","description":"The transfer amount to confirm the rate for.","example":10000,"isRequired":true,"uniqueKey":"amount","typeLabel":"number"},"payer":{"type":"object","description":"Who is paying. **Required** when the request was created with `payment_method` set to `momo`, and rejected otherwise. Confirming sends a prompt to this wallet. The 200 means the prompt went out, not that you have been paid.","properties":{"phone_number":{"type":"string","description":"Payer's mobile-money number in E.164 format, matching the funding currency's country.","example":"+233241234567","pattern":"^\\+[1-9]\\d{1,14}$","isRequired":true,"uniqueKey":"payer.phone_number","typeLabel":"string"},"provider":{"type":"string","description":"Mobile-money operator. Use `mtn`, `telecel` or `airteltigo` for GHS, and `mpesa` or `airtel` for KES.","enum":["mtn","telecel","airteltigo","mpesa","airtel"],"example":"mtn","isRequired":true,"uniqueKey":"payer.provider","typeLabel":"enum\u003cstring>"},"email":{"type":"string","format":"email","description":"Payer's email address.","example":"payer@example.com","isRequired":true,"uniqueKey":"payer.email","typeLabel":"string\u003cemail>"}},"required":["phone_number","provider","email"],"uniqueKey":"payer","typeLabel":"object"}},"required":["amount"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"amount":10000}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"bf6b069e-9761-4203-81ca-a80d1460e35d":{"description":"Rate confirmed and payment instructions generated","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":true,"uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","example":"Rate confirmed successfully","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","properties":{"id":{"type":"string","description":"Unique transfer request ID.","example":"c17d2777-e604-45e2-b6d5-7743652eadf1","isRequired":true,"uniqueKey":"data.id","typeLabel":"string"},"type":{"type":"string","description":"Transfer direction.","enum":["onramp","offramp"],"example":"onramp","isRequired":true,"uniqueKey":"data.type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","description":"Current transfer status.","enum":["fetching_rates","rate_received","awaiting_payment","completed","cancelled"],"example":"fetching_rates","isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"source":{"type":"object","description":"Source amount and currency.","properties":{"amount":{"type":"number","example":10000,"uniqueKey":"data.source.amount","typeLabel":"number"},"currency":{"type":"string","example":"NGN","uniqueKey":"data.source.currency","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.source","typeLabel":"object"},"destination":{"type":"object","description":"Destination amount and currency.","properties":{"amount":{"type":"number","example":0,"uniqueKey":"data.destination.amount","typeLabel":"number"},"currency":{"type":"string","example":"USDC","uniqueKey":"data.destination.currency","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.destination","typeLabel":"object"},"events":{"type":"array","description":"Status change history.","items":{"type":"object","properties":{"status":{"type":"string","example":"pending","uniqueKey":"data.events.items.[INDEX].status","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","uniqueKey":"data.events.items.[INDEX].timestamp","typeLabel":"string\u003cdate-time>"},"completed_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.events.items.[INDEX].completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.events.items.[INDEX].completed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.events.items.[INDEX].completed_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"data.events.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.events","typeLabel":"object[]"},"payments":{"type":"array","description":"Payment events received for this transfer.","example":[],"items":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"data.payments.items.[INDEX].id","typeLabel":"string"},"amount":{"type":"number","uniqueKey":"data.payments.items.[INDEX].amount","typeLabel":"number"},"currency":{"type":"string","uniqueKey":"data.payments.items.[INDEX].currency","typeLabel":"string"},"session_id":{"type":"string","uniqueKey":"data.payments.items.[INDEX].session_id","typeLabel":"string"},"status":{"type":"string","uniqueKey":"data.payments.items.[INDEX].status","typeLabel":"string"},"received_at":{"type":"string","format":"date-time","uniqueKey":"data.payments.items.[INDEX].received_at","typeLabel":"string\u003cdate-time>"},"created_at":{"type":"string","format":"date-time","uniqueKey":"data.payments.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data.payments.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.payments","typeLabel":"object[]"},"created_at":{"type":"string","format":"date-time","example":"2025-10-10T09:15:21Z","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"reference":{"type":"string","description":"Human-readable transfer reference.","example":"TXN-2Z82FVYO6BW22RC7","uniqueKey":"data.reference","typeLabel":"string"},"rate":{"oneOf":[{"type":"object","description":"Exchange rate applied to this transfer. Populated after rate is received.","properties":{"value":{"type":"number","example":0,"uniqueKey":"data.rate.oneOf.0.value","typeLabel":"number"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","example":null,"uniqueKey":"data.rate.oneOf.0.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":null,"uniqueKey":"data.rate.oneOf.0.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.rate.oneOf.0.expires_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"data.rate.oneOf.0","typeLabel":"object"},{"type":"null","description":"Exchange rate applied to this transfer. Populated after rate is received.","properties":{"value":{"type":"number","example":0},"expires_at":{"oneOf":[{"type":"string","format":"date-time","example":null},{"type":"null","format":"date-time","example":null}]}},"uniqueKey":"data.rate.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.rate","typeLabel":"object | null"},"recipient":{"oneOf":[{"type":"object","title":"Crypto Recipient (On-ramp)","description":"The recipient receiving the settlement. The structure depends on the transfer type.","required":["id","type","name","details"],"properties":{"id":{"type":"string","example":"rec_01J8V9ZP3A7","isRequired":true,"uniqueKey":"data.recipient.oneOf.0.id","typeLabel":"string"},"type":{"type":"string","enum":["crypto"],"example":"crypto","isRequired":true,"uniqueKey":"data.recipient.oneOf.0.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","example":"My USDT Wallet","isRequired":true,"uniqueKey":"data.recipient.oneOf.0.name","typeLabel":"string"},"details":{"type":"object","properties":{"network":{"type":"string","example":"Ethereum","isRequired":true,"uniqueKey":"data.recipient.oneOf.0.details.network","typeLabel":"string"},"wallet_address":{"type":"string","example":"0xABC123DEF456...","isRequired":true,"uniqueKey":"data.recipient.oneOf.0.details.wallet_address","typeLabel":"string"},"symbol":{"type":"string","example":"USDT","uniqueKey":"data.recipient.oneOf.0.details.symbol","typeLabel":"string"}},"required":["network","wallet_address"],"isRequired":true,"uniqueKey":"data.recipient.oneOf.0.details","typeLabel":"object"}},"uniqueKey":"data.recipient.oneOf.0","typeLabel":"Crypto Recipient (On-ramp) · object"},{"type":"object","title":"Fiat Recipient (Off-ramp)","description":"The recipient receiving the settlement. The structure depends on the transfer type.","required":["id","type","name","details"],"properties":{"id":{"type":"string","example":"rec_02K9W0AQ4B8","isRequired":true,"uniqueKey":"data.recipient.oneOf.1.id","typeLabel":"string"},"type":{"type":"string","enum":["fiat"],"example":"fiat","isRequired":true,"uniqueKey":"data.recipient.oneOf.1.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","example":"HashRails Ltd","isRequired":true,"uniqueKey":"data.recipient.oneOf.1.name","typeLabel":"string"},"details":{"type":"object","properties":{"account_number":{"type":"string","example":"1234567890","isRequired":true,"uniqueKey":"data.recipient.oneOf.1.details.account_number","typeLabel":"string"},"account_name":{"type":"string","example":"HashRails Ltd","isRequired":true,"uniqueKey":"data.recipient.oneOf.1.details.account_name","typeLabel":"string"},"bank_name":{"type":"string","example":"Wema Bank","isRequired":true,"uniqueKey":"data.recipient.oneOf.1.details.bank_name","typeLabel":"string"}},"required":["account_number","account_name","bank_name"],"isRequired":true,"uniqueKey":"data.recipient.oneOf.1.details","typeLabel":"object"}},"uniqueKey":"data.recipient.oneOf.1","typeLabel":"Fiat Recipient (Off-ramp) · object"},{"type":"null","uniqueKey":"data.recipient.oneOf.2","typeLabel":"null"}],"uniqueKey":"data.recipient","typeLabel":"Crypto Recipient (On-ramp) · object | Fiat Recipient (Off-ramp) · object | null"},"payment_instructions":{"oneOf":[{"type":"object","title":"Fiat Bank Transfer (On-ramp)","description":"Instructions for the integrator to send payment. The structure depends on the transfer type. Empty until payment details are assigned.","required":["type","bank_transfer"],"properties":{"type":{"type":"string","description":"Payment method type.","enum":["bank_transfer"],"example":"bank_transfer","isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.0.type","typeLabel":"enum\u003cstring>"},"bank_transfer":{"type":"object","description":"Bank account to send fiat payment to (on-ramp).","properties":{"account_number":{"type":"string","example":"1234567890","isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.0.bank_transfer.account_number","typeLabel":"string"},"account_name":{"type":"string","example":"HashRails Ltd","isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.0.bank_transfer.account_name","typeLabel":"string"},"bank_name":{"type":"string","example":"Wema Bank","isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.0.bank_transfer.bank_name","typeLabel":"string"},"bank_code":{"type":"string","example":"035","uniqueKey":"data.payment_instructions.oneOf.0.bank_transfer.bank_code","typeLabel":"string"}},"required":["account_number","account_name","bank_name"],"isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.0.bank_transfer","typeLabel":"object"}},"uniqueKey":"data.payment_instructions.oneOf.0","typeLabel":"Fiat Bank Transfer (On-ramp) · object"},{"type":"object","title":"Crypto Deposit (Off-ramp)","description":"Instructions for the integrator to send payment. The structure depends on the transfer type. Empty until payment details are assigned.","required":["type","crypto_deposit"],"properties":{"type":{"type":"string","description":"Payment method type.","enum":["crypto_deposit"],"example":"crypto_deposit","isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.1.type","typeLabel":"enum\u003cstring>"},"crypto_deposit":{"type":"object","description":"Wallet address to send crypto payment to (off-ramp).","properties":{"address":{"type":"string","example":"0xABC123DEF456...","isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.1.crypto_deposit.address","typeLabel":"string"},"network":{"type":"string","example":"Ethereum","isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.1.crypto_deposit.network","typeLabel":"string"},"asset":{"type":"string","example":"USDC","isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.1.crypto_deposit.asset","typeLabel":"string"}},"required":["address","network","asset"],"isRequired":true,"uniqueKey":"data.payment_instructions.oneOf.1.crypto_deposit","typeLabel":"object"}},"uniqueKey":"data.payment_instructions.oneOf.1","typeLabel":"Crypto Deposit (Off-ramp) · object"},{"type":"null","uniqueKey":"data.payment_instructions.oneOf.2","typeLabel":"null"}],"uniqueKey":"data.payment_instructions","typeLabel":"Fiat Bank Transfer (On-ramp) · object | Crypto Deposit (Off-ramp) · object | null"}},"required":["id","type","status","source","destination","events","payments","created_at"],"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"message":"Rate confirmed successfully","data":{"id":"c17d2777-e604-45e2-b6d5-7743652eadf1","type":"onramp","status":"fetching_rates","source":{"amount":10000,"currency":"NGN"},"destination":{"amount":0,"currency":"USDC"},"events":[{"status":"pending","timestamp":"2023-11-07T05:31:56Z","completed_at":"2023-11-07T05:31:56Z"}],"payments":[],"created_at":"2025-10-10T09:15:21Z","reference":"TXN-2Z82FVYO6BW22RC7","rate":{"value":0,"expires_at":null},"recipient":{"id":"rec_01J8V9ZP3A7","type":"crypto","name":"My USDT Wallet","details":{"network":"Ethereum","wallet_address":"0xABC123DEF456...","symbol":"USDT"}},"payment_instructions":{"type":"bank_transfer","bank_transfer":{"account_number":"1234567890","account_name":"HashRails Ltd","bank_name":"Wema Bank","bank_code":"035"}}}}}},"exampleType":"generated"}},"exampleType":"generated"},"94b4545e-daf9-4333-a7df-d6a9055ca1d7":{"description":"Bad Request. The rate may have expired, or the transfer is not in a confirmable state","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"eab29975-dde6-4174-9224-019bff55e42d":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Your JWT access token from [Issue Token](/api-reference/auth/issue-token).","scopes":[]}}},"servers":{"a2f08251-e4a1-45fc-919a-b46a29cce645":{"url":"https://api.staging.railsfromthecrypt.com"},"45eaabdb-7c5c-40af-a3de-1d702374b0a6":{"url":"https://api.hashrails.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Your JWT access token from [Issue Token](/api-reference/auth/issue-token).","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your JWT access token from [Issue Token](/api-reference/auth/issue-token).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"hashrail","siteName":"Hashrails","title":"Confirm Rate - Hashrails","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-29T12:48:35.711Z","originalFileLocation":"api-reference/transfer-request/confirm-rate.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=\"application-name\" content=\"Hashrails\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hashrail/WwTd3wV8_ggNHX0F/_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/hashrail/WwTd3wV8_ggNHX0F/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hashrail/WwTd3wV8_ggNHX0F/_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/hashrail/WwTd3wV8_ggNHX0F/_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/hashrail/WwTd3wV8_ggNHX0F/_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/hashrail/WwTd3wV8_ggNHX0F/_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/hashrail/WwTd3wV8_ggNHX0F/_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/hashrail/WwTd3wV8_ggNHX0F/_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/hashrail/WwTd3wV8_ggNHX0F/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Confirm Rate - Hashrails\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hashrails\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hashrail.mintlify.app/_mintlify/api/og/v2?division=Transfer+Request\u0026amp;title=Confirm+Rate\u0026amp;theme=54d62042b65d8dc79ea58fcc\u0026amp;signature=ff9d89047653f1e243030bb46c02f663a754811620cda8076938a4478762bccc\">\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=\"Confirm Rate - Hashrails\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hashrail.mintlify.app/_mintlify/api/og/v2?division=Transfer+Request\u0026amp;title=Confirm+Rate\u0026amp;theme=54d62042b65d8dc79ea58fcc\u0026amp;signature=ff9d89047653f1e243030bb46c02f663a754811620cda8076938a4478762bccc\">\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/hashrail/WwTd3wV8_ggNHX0F/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hashrails\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate\">\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-request/confirm-rate.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hashrails.com/#organization\",\"name\":\"Hashrails\",\"url\":\"https://docs.hashrails.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://valour-assets.s3.us-east-2.amazonaws.com/valour-assets/logo_green.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hashrails.com#website\",\"name\":\"Hashrails\",\"url\":\"https://docs.hashrails.com\",\"publisher\":{\"@id\":\"https://docs.hashrails.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate#webpage\",\"url\":\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate\",\"name\":\"Confirm Rate\",\"dateModified\":\"2026-09-29T12:48:35.711Z\",\"isPartOf\":{\"@id\":\"https://docs.hashrails.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Transfer Request\",\"item\":\"https://docs.hashrails.com/api-reference/transfer-request/create\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Confirm Rate\",\"item\":\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate#apireference\",\"headline\":\"Confirm Rate\",\"name\":\"Confirm Rate\",\"url\":\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/confirm-rate#webpage\"},\"dateModified\":\"2026-09-29T12:48:35.711Z\",\"publisher\":{\"@id\":\"https://docs.hashrails.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hashrails.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hashrails\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hashrails","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/getting-started/introduction"},{"title":"Authentication","href":"/getting-started/authentication"},{"title":"Quick Start","href":"/getting-started/quick-start"},{"title":"Developer Rules","href":"/getting-started/rules"},{"title":"Webhooks","href":"/getting-started/webhooks"}]},{"group":"Authentication","pages":[{"title":"Issue Token","openapi":"POST /v1/auth/token/issue","href":"/api-reference/auth/issue-token"}]},{"group":"Recipients","pages":[{"title":"Create Recipient","openapi":"POST /v1/recipients","href":"/api-reference/recipient/create"},{"title":"Get Recipients","openapi":"GET /v1/recipients","href":"/api-reference/recipient/get"},{"title":"Get Recipient by ID","openapi":"GET /v1/recipients/{id}","href":"/api-reference/recipient/get-by-id"}]},{"group":"Transfer Request","pages":[{"title":"Create Transfer Request","openapi":"POST /v1/transfer-requests","href":"/api-reference/transfer-request/create"},{"title":"Get Transfer Request","openapi":"GET /v1/transfer-requests/{id}","description":null,"href":"/api-reference/transfer-request/get-by-id"},{"title":"Confirm Rate","openapi":"POST /v1/transfer-requests/{id}/confirm-rate","href":"/api-reference/transfer-request/confirm-rate"},{"title":"Confirm Payment","openapi":"POST /v1/transfer-requests/{id}/confirm","description":null,"href":"/api-reference/transfer-request/confirm"},{"title":"Refresh Quote","openapi":"POST /v1/transfer-requests/{id}/refresh-quote","href":"/api-reference/transfer-request/refresh-quote"},{"title":"Cancel Transfer","openapi":"POST /v1/transfer-requests/{id}/cancel","href":"/api-reference/transfer-request/cancel"}]},{"group":"Transactions","pages":[{"title":"Get Transactions","openapi":"GET /v1/transactions","href":"/api-reference/transactions"},{"title":"Get Transaction by ID","openapi":"GET /v1/transactions/{id}","href":"/api-reference/transactions/get-by-id"}]},{"group":"Currencies","pages":[{"title":"Get Currencies","openapi":"GET /v1/currencies","href":"/api-reference/currency/get"}]},{"group":"Banks","pages":[{"title":"Get Banks","openapi":"GET /v1/banks","href":"/api-reference/bank/get"},{"title":"Lookup an account","openapi":"POST /v1/banks/lookup","href":"/api-reference/bank/lookup"},{"title":"Get Rates","openapi":"GET /v1/rates","href":"/api-reference/bank/get-rates"}]}]},"basePath":"","title":"Confirm Rate - Hashrails","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}