Call Get Currencies for the list enabled on your
account rather than hardcoding these.
On an on-ramp, payment_method is required and must be one the currency
supports. Choosing momo means no deposit account is issued. You pass the
payer at Confirm Rate and a prompt is sent to their handset.
On an off-ramp, do not send payment_method. It is rejected. How your
recipient is paid comes from their recipient record, and network is required.
How you will pay in. bank_transfer is available for NGN, GHS and KES, and momo only for GHS and KES. Choosing momo means no deposit account is issued. You pass the payer on Confirm Rate and a prompt is sent to their handset.
{"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/create","slug":"/api-reference/transfer-request/create","pageMetadata":{"title":"Create Transfer Request","openapi":"POST /v1/transfer-requests","description":null,"href":"/api-reference/transfer-request/create"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Info,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Create a new transfer request to move funds between fiat and crypto. This endpoint supports both directions.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`On-ramp (Fiat → Crypto).`}),` You pay in fiat (e.g. NGN), and your recipient receives cryptocurrency.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Off-ramp (Crypto → Fiat).`}),` You send crypto (e.g. USDT) over a specified network, and your recipient receives fiat.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Creating a request opens it and starts the quote. It does not lock a rate or issue\npayment details. That happens at `,_jsx(_components.a,{href:`/api-reference/transfer-request/confirm-rate`,children:`Confirm Rate`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`supported-currencies`,children:`Supported currencies`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Currency`}),_jsx(_components.th,{children:`Pay in (on-ramp)`}),_jsx(_components.th,{children:`Get paid (off-ramp)`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`NGN`}),_jsx(_components.td,{children:`Bank transfer`}),_jsx(_components.td,{children:`Bank transfer`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`GHS`}),_jsx(_components.td,{children:`Bank transfer, mobile money`}),_jsx(_components.td,{children:`Bank transfer, mobile money`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`KES`}),_jsx(_components.td,{children:`Bank transfer, mobile money`}),_jsx(_components.td,{children:`Mobile money`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`XOF`}),_jsx(_components.td,{children:`Not available`}),_jsx(_components.td,{children:`Mobile money`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Call `,_jsx(_components.a,{href:`/api-reference/currency/get`,children:`Get Currencies`}),` for the list enabled on your\naccount rather than hardcoding these.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`On an on-ramp, `,_jsx(_components.code,{children:`payment_method`}),` is required and must be one the currency\nsupports. Choosing `,_jsx(_components.code,{children:`momo`}),` means no deposit account is issued. You pass the\npayer at Confirm Rate and a prompt is sent to their handset.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`On an off-ramp, do not send `,_jsx(_components.code,{children:`payment_method`}),`. It is rejected. How your\nrecipient is paid comes from their recipient record, and `,_jsx(_components.code,{children:`network`}),` is required.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create Transfer Request","openapi":"POST /v1/transfer-requests","description":null,"href":"/api-reference/transfer-request/create"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Supported currencies","slug":"supported-currencies","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"PublicTransferRequestController_createTransferRequest","parameters":["ae0817d9-ad4a-419f-b81f-d9a3728ec04c"],"requestBody":"cae05d36-59ea-4cb0-89e9-722d0a9a9727","responses":{"201":"a8e4bcce-3f09-4f6f-b001-f047b26489bb","400":"06c4b2ee-e75d-491b-80cb-8e597a22beaa"},"summary":"Create a transfer request (on-ramp or off-ramp)","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","baseUrlOptions":["https://api.staging.railsfromthecrypt.com","https://api.hashrails.com"],"title":"Create a transfer request (on-ramp or off-ramp)","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ae0817d9-ad4a-419f-b81f-d9a3728ec04c":{"name":"x-idempotency-key","in":"header","description":"UUID v4 idempotency key to prevent duplicate transfers.","required":true,"schema":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"description":"UUID v4 idempotency key to prevent duplicate transfers.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"On-ramp (Fiat → Crypto)","description":"Convert fiat currency to crypto. You pay in fiat and your recipient receives crypto.","required":["type","amount","from_currency","to_currency","recipient_id","payment_method"],"properties":{"type":{"type":"string","description":"Transfer direction.","enum":["onramp"],"example":"onramp","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Amount to send in the source currency.","example":10000,"isRequired":true,"uniqueKey":"oneOf.0.amount","typeLabel":"number"},"from_currency":{"type":"string","description":"Fiat currency you are paying in. See [Get Currencies](/api-reference/currency/get).","enum":["NGN","GHS","KES"],"example":"NGN","isRequired":true,"uniqueKey":"oneOf.0.from_currency","typeLabel":"enum\u003cstring>"},"to_currency":{"type":"string","description":"Destination crypto currency.","enum":["USDC","USDT"],"example":"USDC","isRequired":true,"uniqueKey":"oneOf.0.to_currency","typeLabel":"enum\u003cstring>"},"recipient_id":{"type":"string","description":"Crypto recipient ID where settlement will be sent.","example":"rec_01J8V9ZP3A7","isRequired":true,"uniqueKey":"oneOf.0.recipient_id","typeLabel":"string"},"payment_method":{"type":"string","description":"How you will pay in. `bank_transfer` is available for NGN, GHS and KES, and `momo` only for GHS and KES. Choosing `momo` means no deposit account is issued. You pass the payer on [Confirm Rate](/api-reference/transfer-request/confirm-rate) and a prompt is sent to their handset.","enum":["bank_transfer","momo"],"example":"bank_transfer","isRequired":true,"uniqueKey":"oneOf.0.payment_method","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0","typeLabel":"On-ramp (Fiat → Crypto) · object"},{"type":"object","title":"Off-ramp (Crypto → Fiat)","description":"Convert crypto to fiat currency. You send crypto and your recipient receives fiat. Do not send `payment_method` on an offramp. How the recipient is paid comes from their recipient record.","required":["type","amount","from_currency","to_currency","recipient_id","network"],"properties":{"type":{"type":"string","description":"Transfer direction.","enum":["offramp"],"example":"offramp","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"Amount to send in the source currency.","example":100,"isRequired":true,"uniqueKey":"oneOf.1.amount","typeLabel":"number"},"from_currency":{"type":"string","description":"Source crypto currency.","enum":["USDC","USDT"],"example":"USDC","isRequired":true,"uniqueKey":"oneOf.1.from_currency","typeLabel":"enum\u003cstring>"},"to_currency":{"type":"string","description":"Fiat currency your recipient is paid in. NGN and GHS settle by bank transfer or mobile money. KES and XOF settle by mobile money only. The recipient record carries those details.","enum":["NGN","GHS","KES","XOF"],"example":"NGN","isRequired":true,"uniqueKey":"oneOf.1.to_currency","typeLabel":"enum\u003cstring>"},"recipient_id":{"type":"string","description":"Fiat recipient ID where settlement will be sent.","example":"rec_02K9W0AQ4B8","isRequired":true,"uniqueKey":"oneOf.1.recipient_id","typeLabel":"string"},"network":{"type":"string","description":"Blockchain network to receive crypto on.","enum":["Ethereum","BSC","Tron"],"example":"Ethereum","isRequired":true,"uniqueKey":"oneOf.1.network","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1","typeLabel":"Off-ramp (Crypto → Fiat) · object"}],"uniqueKey":"","typeLabel":"On-ramp (Fiat → Crypto) · object | Off-ramp (Crypto → Fiat) · object"},"examples":{"Example":{"title":"Example","value":{"type":"onramp","amount":10000,"from_currency":"NGN","to_currency":"USDC","recipient_id":"rec_01J8V9ZP3A7","payment_method":"bank_transfer"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a8e4bcce-3f09-4f6f-b001-f047b26489bb":{"description":"Transfer created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":true,"uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","example":"Transfer created 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":"Transfer created 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"},"06c4b2ee-e75d-491b-80cb-8e597a22beaa":{"description":"Invalid request data","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":false,"uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","example":"network is required for offramp transfers","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"message":"network is required for offramp transfers"}}},"exampleType":"generated"}},"exampleType":"generated"}},"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":"Create Transfer Request - Hashrails","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-29T12:48:35.711Z","originalFileLocation":"api-reference/transfer-request/create.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=\"Create Transfer Request - 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/create\">\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=Create+Transfer+Request\u0026amp;theme=54d62042b65d8dc79ea58fcc\u0026amp;signature=a208089feaaea9f36a93ba0a282ba0ac02d36167e1b96c1b2a5d9c0338966a33\">\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 Transfer Request - Hashrails\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hashrail.mintlify.app/_mintlify/api/og/v2?division=Transfer+Request\u0026amp;title=Create+Transfer+Request\u0026amp;theme=54d62042b65d8dc79ea58fcc\u0026amp;signature=a208089feaaea9f36a93ba0a282ba0ac02d36167e1b96c1b2a5d9c0338966a33\">\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/create\">\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/create.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/create#webpage\",\"url\":\"https://docs.hashrails.com/api-reference/transfer-request/create\",\"name\":\"Create Transfer Request\",\"dateModified\":\"2026-09-29T12:48:35.711Z\",\"isPartOf\":{\"@id\":\"https://docs.hashrails.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/create#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/create#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Hashrails\",\"item\":\"https://docs.hashrails.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Transfer Request\",\"item\":\"https://docs.hashrails.com/api-reference/transfer-request/create\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/create#apireference\",\"headline\":\"Create Transfer Request\",\"name\":\"Create Transfer Request\",\"url\":\"https://docs.hashrails.com/api-reference/transfer-request/create\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hashrails.com/api-reference/transfer-request/create#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}","description":null,"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","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":"Create Transfer Request - 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"]}