Creates a collection order and returns the payment instructions.
customer.name must be the payer’s full name — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires mobileMoney.{phoneNumber, networkProvider}; the prompt is sent immediately.
Idempotent: same reference + sessionId returns the same order; a quote is single-use. Rate guard: if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment.
Orders expire after validityTimeMinutes (30–1440, default 30). The provider has no cancel/expire call, so a payment that still arrives after expiry or cancellation is honoured (metadata.latePayment: true).
Flow:GET /currencies → GET /assets?walletId¤cy → GET /rails?currency → POST /quotes (rate session) → POST /orders → show paymentInstructions to your payer → track via onramp.* webhooks or GET /orders/{id} → stablecoin is credited to your wallet.
Rails:bank_transfer — a one-time bank account is generated per order (NGN; GHS bank unverified). mobile_money — GHS; the payer approves a prompt on their phone (nextStep: PIN) or, when the provider asks, you submit an OTP via POST /orders/{id}/verify-otp (status: awaiting_otp). USD/EUR are collected through customer virtual accounts, not this API.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"XentFi API Documentation","colors":{"primary":"#F5A623","light":"#FFDE91","dark":"#E09515"},"logo":{"light":"https://mintcdn.com/xentfi/nt7OxiXA-10q40ko/logo/logo-light.png?fit=max\u0026auto=format\u0026n=nt7OxiXA-10q40ko\u0026q=85\u0026s=16c34a61758b9de6b5424ed250c09789","dark":"https://mintcdn.com/xentfi/nt7OxiXA-10q40ko/logo/logo-dark.png?fit=max\u0026auto=format\u0026n=nt7OxiXA-10q40ko\u0026q=85\u0026s=3f71f7865e6c676be30074e3a6d0679b"},"favicon":"https://mintcdn.com/xentfi/nt7OxiXA-10q40ko/logo/favicon-16x16.png?fit=max\u0026auto=format\u0026n=nt7OxiXA-10q40ko\u0026q=85\u0026s=cf57780c07c8f0c9326c3f300499dc45","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python","go","typescript"],"prefill":true,"autogenerate":true}},"navbar":{"links":[{"href":"https://dashboard.xentfi.com","label":"Dashboard"},{"href":"mailto:support@xentfi.com","label":"Support"}]},"footer":{"socials":{"x":"https://x.com/xentfi","github":"https://github.com/xentfi","discord":"https://discord.gg/xentfi"}},"contextual":{"options":["copy","chatgpt","assistant"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"xentfi","hasAudioNarration":false,"actualSubdomain":"xentfi","customDomains":["docs.xentfi.com"],"gitSource":{"type":"github","owner":"xentfi","repo":"xentfi-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aef630559edac7bace6ab9c","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":134},{"language":"default","tag":"XentFi Pro","count":21},{"language":"default","tag":"Documentation","count":13},{"language":"default","tag":"Getting Started","count":12},{"language":"default","tag":"Agents","count":11},{"language":"default","tag":"Addresses","count":10},{"language":"default","tag":"Auto Settlement","count":10},{"language":"default","tag":"Off-ramp","count":10},{"language":"default","tag":"Agent Self","count":9},{"language":"default","tag":"Master Wallets","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"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":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/on-ramp/create-an-order","slug":"/api-reference/on-ramp/create-an-order","pageMetadata":{"title":"Create an order","description":"Creates a collection order and returns the payment instructions.\n\n`customer.name` must be the **payer's full name** — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires `mobileMoney.{phoneNumber, networkProvider}`; the prompt is sent immediately.\n\n**Idempotent:** same `reference` + `sessionId` returns the same order; a quote is single-use. **Rate guard:** if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment.\n\nOrders expire after `validityTimeMinutes` (30–1440, default 30). The provider has no cancel/expire call, so **a payment that still arrives after expiry or cancellation is honoured** (`metadata.latePayment: true`).\n\n**Webhook events:** `onramp.created`, `onramp.paid`, `onramp.processing`, `onramp.completed`, `onramp.expired`, `onramp.failed`, `onramp.cancelled`.\n\n**Flow:** `GET /currencies` → `GET /assets?walletId\u0026currency` → `GET /rails?currency` → `POST /quotes` (rate session) → `POST /orders` → show `paymentInstructions` to your payer → track via `onramp.*` webhooks or `GET /orders/{id}` → stablecoin is credited to your wallet.\n\n**Rails:** `bank_transfer` — a one-time bank account is generated per order (NGN; GHS bank unverified). `mobile_money` — GHS; the payer approves a prompt on their phone (`nextStep: PIN`) or, when the provider asks, you submit an OTP via `POST /orders/{id}/verify-otp` (`status: awaiting_otp`). USD/EUR are collected through customer virtual accounts, not this API.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/onramp/orders","href":"/api-reference/on-ramp/create-an-order","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Creates a collection order and returns the payment instructions.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"customer.name\"\n }), \" must be the \", _jsx(_components.strong, {\n children: \"payer’s full name\"\n }), \" — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires \", _jsx(_components.code, {\n children: \"mobileMoney.{phoneNumber, networkProvider}\"\n }), \"; the prompt is sent immediately.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Idempotent:\"\n }), \" same \", _jsx(_components.code, {\n children: \"reference\"\n }), \" + \", _jsx(_components.code, {\n children: \"sessionId\"\n }), \" returns the same order; a quote is single-use. \", _jsx(_components.strong, {\n children: \"Rate guard:\"\n }), \" if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Orders expire after \", _jsx(_components.code, {\n children: \"validityTimeMinutes\"\n }), \" (30–1440, default 30). The provider has no cancel/expire call, so \", _jsx(_components.strong, {\n children: \"a payment that still arrives after expiry or cancellation is honoured\"\n }), \" (\", _jsx(_components.code, {\n children: \"metadata.latePayment: true\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Webhook events:\"\n }), \" \", _jsx(_components.code, {\n children: \"onramp.created\"\n }), \", \", _jsx(_components.code, {\n children: \"onramp.paid\"\n }), \", \", _jsx(_components.code, {\n children: \"onramp.processing\"\n }), \", \", _jsx(_components.code, {\n children: \"onramp.completed\"\n }), \", \", _jsx(_components.code, {\n children: \"onramp.expired\"\n }), \", \", _jsx(_components.code, {\n children: \"onramp.failed\"\n }), \", \", _jsx(_components.code, {\n children: \"onramp.cancelled\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Flow:\"\n }), \" \", _jsx(_components.code, {\n children: \"GET /currencies\"\n }), \" → \", _jsx(_components.code, {\n children: \"GET /assets?walletId\u0026currency\"\n }), \" → \", _jsx(_components.code, {\n children: \"GET /rails?currency\"\n }), \" → \", _jsx(_components.code, {\n children: \"POST /quotes\"\n }), \" (rate session) → \", _jsx(_components.code, {\n children: \"POST /orders\"\n }), \" → show \", _jsx(_components.code, {\n children: \"paymentInstructions\"\n }), \" to your payer → track via \", _jsx(_components.code, {\n children: \"onramp.*\"\n }), \" webhooks or \", _jsx(_components.code, {\n children: \"GET /orders/{id}\"\n }), \" → stablecoin is credited to your wallet.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Rails:\"\n }), \" \", _jsx(_components.code, {\n children: \"bank_transfer\"\n }), \" — a one-time bank account is generated per order (NGN; GHS bank unverified). \", _jsx(_components.code, {\n children: \"mobile_money\"\n }), \" — GHS; the payer approves a prompt on their phone (\", _jsx(_components.code, {\n children: \"nextStep: PIN\"\n }), \") or, when the provider asks, you submit an OTP via \", _jsx(_components.code, {\n children: \"POST /orders/{id}/verify-otp\"\n }), \" (\", _jsx(_components.code, {\n children: \"status: awaiting_otp\"\n }), \"). USD/EUR are collected through customer virtual accounts, not this API.\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create an order","description":"Creates a collection order and returns the payment instructions.\n\n`customer.name` must be the **payer's full name** — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires `mobileMoney.{phoneNumber, networkProvider}`; the prompt is sent immediately.\n\n**Idempotent:** same `reference` + `sessionId` returns the same order; a quote is single-use. **Rate guard:** if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment.\n\nOrders expire after `validityTimeMinutes` (30–1440, default 30). The provider has no cancel/expire call, so **a payment that still arrives after expiry or cancellation is honoured** (`metadata.latePayment: true`).\n\n**Webhook events:** `onramp.created`, `onramp.paid`, `onramp.processing`, `onramp.completed`, `onramp.expired`, `onramp.failed`, `onramp.cancelled`.\n\n**Flow:** `GET /currencies` → `GET /assets?walletId\u0026currency` → `GET /rails?currency` → `POST /quotes` (rate session) → `POST /orders` → show `paymentInstructions` to your payer → track via `onramp.*` webhooks or `GET /orders/{id}` → stablecoin is credited to your wallet.\n\n**Rails:** `bank_transfer` — a one-time bank account is generated per order (NGN; GHS bank unverified). `mobile_money` — GHS; the payer approves a prompt on their phone (`nextStep: PIN`) or, when the provider asks, you submit an OTP via `POST /orders/{id}/verify-otp` (`status: awaiting_otp`). USD/EUR are collected through customer virtual accounts, not this API.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/onramp/orders","href":"/api-reference/on-ramp/create-an-order","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["On-ramp"],"summary":"Create an order","operationId":"createOnrampOrder","security":["f6077e53-caf3-4432-868a-20cc8dfdd596"],"description":"Creates a collection order and returns the payment instructions.\n\n`customer.name` must be the **payer's full name** — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires `mobileMoney.{phoneNumber, networkProvider}`; the prompt is sent immediately.\n\n**Idempotent:** same `reference` + `sessionId` returns the same order; a quote is single-use. **Rate guard:** if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment.\n\nOrders expire after `validityTimeMinutes` (30–1440, default 30). The provider has no cancel/expire call, so **a payment that still arrives after expiry or cancellation is honoured** (`metadata.latePayment: true`).\n\n**Webhook events:** `onramp.created`, `onramp.paid`, `onramp.processing`, `onramp.completed`, `onramp.expired`, `onramp.failed`, `onramp.cancelled`.\n\n**Flow:** `GET /currencies` → `GET /assets?walletId\u0026currency` → `GET /rails?currency` → `POST /quotes` (rate session) → `POST /orders` → show `paymentInstructions` to your payer → track via `onramp.*` webhooks or `GET /orders/{id}` → stablecoin is credited to your wallet.\n\n**Rails:** `bank_transfer` — a one-time bank account is generated per order (NGN; GHS bank unverified). `mobile_money` — GHS; the payer approves a prompt on their phone (`nextStep: PIN`) or, when the provider asks, you submit an OTP via `POST /orders/{id}/verify-otp` (`status: awaiting_otp`). USD/EUR are collected through customer virtual accounts, not this API.","requestBody":"ada032fa-5ee1-48bb-a685-2713eb683328","responses":{"201":"f912adbe-bad3-4496-aee6-24e12cf1ad15","400":"96211897-b3b6-45d5-a0c9-536816163be4","404":"1f924d77-f0b8-49d9-8e86-f48c37668441","409":"69f60a26-bafe-45ee-8801-7cc111682673"},"method":"post","type":"path","servers":["3ef30ada-5b9d-4e1c-85d8-3f6824014001"],"path":"/v1/onramp/orders","baseUrlOptions":["https://api.xentfi.com"],"title":"Create an order","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","go","typescript"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.sessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","body.reference":"\u003cstring>","body.customer.name":"Ada Obi","body.customer.email":"jsmith@example.com","body.validityTimeMinutes":30,"body.metadata":{}}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["sessionId","reference","rail","customer"],"properties":{"sessionId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"sessionId","typeLabel":"string\u003cuuid>"},"reference":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,64}$","isRequired":true,"uniqueKey":"reference","typeLabel":"string"},"rail":{"type":"string","enum":["bank_transfer","mobile_money"],"isRequired":true,"uniqueKey":"rail","typeLabel":"enum\u003cstring>"},"customer":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Ada Obi","description":"Payer's full name — must match the paying account","isRequired":true,"uniqueKey":"customer.name","typeLabel":"string"},"email":{"type":"string","format":"email","uniqueKey":"customer.email","typeLabel":"string\u003cemail>"}},"isRequired":true,"uniqueKey":"customer","typeLabel":"object"},"mobileMoney":{"type":"object","description":"Required for rail mobile_money","required":["phoneNumber","networkProvider"],"properties":{"phoneNumber":{"type":"string","example":244007778,"isRequired":true,"uniqueKey":"mobileMoney.phoneNumber","typeLabel":"string"},"networkProvider":{"type":"string","enum":["MTN","AIRTEL","VODAFONE"],"isRequired":true,"uniqueKey":"mobileMoney.networkProvider","typeLabel":"enum\u003cstring>"}},"uniqueKey":"mobileMoney","typeLabel":"object"},"validityTimeMinutes":{"type":"integer","minimum":30,"maximum":1440,"default":30,"uniqueKey":"validityTimeMinutes","typeLabel":"integer"},"metadata":{"type":"object","uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"sessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","reference":"\u003cstring>","customer":{"name":"Ada Obi","email":"jsmith@example.com"},"validityTimeMinutes":30,"metadata":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"f912adbe-bad3-4496-aee6-24e12cf1ad15":{"description":"Order created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"reference":{"type":"string","uniqueKey":"data.reference","typeLabel":"string"},"rail":{"type":"string","enum":["bank_transfer","mobile_money"],"uniqueKey":"data.rail","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["initiated","pending","awaiting_otp","paid","processing","completed","expired","cancelled","failed"],"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"walletId":{"type":"string","uniqueKey":"data.walletId","typeLabel":"string"},"assetId":{"type":"string","uniqueKey":"data.assetId","typeLabel":"string"},"currency":{"type":"string","uniqueKey":"data.currency","typeLabel":"string"},"amount":{"type":"string","description":"Stablecoin the wallet receives","uniqueKey":"data.amount","typeLabel":"string"},"amountFiat":{"type":"string","uniqueKey":"data.amountFiat","typeLabel":"string"},"feeFiat":{"type":"string","uniqueKey":"data.feeFiat","typeLabel":"string"},"amountFiatPayable":{"oneOf":[{"type":"string","description":"Total the payer must send","uniqueKey":"data.amountFiatPayable.oneOf.0","typeLabel":"string"},{"type":"null","description":"Total the payer must send","uniqueKey":"data.amountFiatPayable.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.amountFiatPayable","typeLabel":"string | null"},"amountFiatReceived":{"oneOf":[{"type":"string","uniqueKey":"data.amountFiatReceived.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.amountFiatReceived.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.amountFiatReceived","typeLabel":"string | null"},"rate":{"type":"string","uniqueKey":"data.rate","typeLabel":"string"},"paymentInstructions":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["bank_transfer","mobile_money"],"uniqueKey":"data.paymentInstructions.oneOf.0.type","typeLabel":"enum\u003cstring>"},"bank":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"data.paymentInstructions.oneOf.0.bank.name","typeLabel":"string"},"accountName":{"type":"string","uniqueKey":"data.paymentInstructions.oneOf.0.bank.accountName","typeLabel":"string"},"accountNumber":{"type":"string","uniqueKey":"data.paymentInstructions.oneOf.0.bank.accountNumber","typeLabel":"string"}},"uniqueKey":"data.paymentInstructions.oneOf.0.bank","typeLabel":"object"},"mobileMoney":{"type":"object","properties":{"phoneNumber":{"type":"string","description":"Masked","uniqueKey":"data.paymentInstructions.oneOf.0.mobileMoney.phoneNumber","typeLabel":"string"},"networkProvider":{"type":"string","uniqueKey":"data.paymentInstructions.oneOf.0.mobileMoney.networkProvider","typeLabel":"string"},"nextStep":{"type":"string","enum":["PIN","OTP"],"uniqueKey":"data.paymentInstructions.oneOf.0.mobileMoney.nextStep","typeLabel":"enum\u003cstring>"},"prompt":{"type":"string","uniqueKey":"data.paymentInstructions.oneOf.0.mobileMoney.prompt","typeLabel":"string"}},"uniqueKey":"data.paymentInstructions.oneOf.0.mobileMoney","typeLabel":"object"},"amountToPay":{"type":"string","uniqueKey":"data.paymentInstructions.oneOf.0.amountToPay","typeLabel":"string"},"currency":{"type":"string","uniqueKey":"data.paymentInstructions.oneOf.0.currency","typeLabel":"string"},"expiresAt":{"type":"string","format":"date-time","uniqueKey":"data.paymentInstructions.oneOf.0.expiresAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"data.paymentInstructions.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"type":{"type":"string","enum":["bank_transfer","mobile_money"]},"bank":{"type":"object","properties":{"name":{"type":"string"},"accountName":{"type":"string"},"accountNumber":{"type":"string"}}},"mobileMoney":{"type":"object","properties":{"phoneNumber":{"type":"string","description":"Masked"},"networkProvider":{"type":"string"},"nextStep":{"type":"string","enum":["PIN","OTP"]},"prompt":{"type":"string"}}},"amountToPay":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}},"uniqueKey":"data.paymentInstructions.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.paymentInstructions","typeLabel":"object | null"},"customer":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"data.customer.name","typeLabel":"string"},"email":{"type":"string","uniqueKey":"data.customer.email","typeLabel":"string"}},"uniqueKey":"data.customer","typeLabel":"object"},"transactionHash":{"oneOf":[{"type":"string","description":"On-chain hash of the delivery to your wallet, when reported","uniqueKey":"data.transactionHash.oneOf.0","typeLabel":"string"},{"type":"null","description":"On-chain hash of the delivery to your wallet, when reported","uniqueKey":"data.transactionHash.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.transactionHash","typeLabel":"string | null"},"failureReason":{"oneOf":[{"type":"string","uniqueKey":"data.failureReason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.failureReason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.failureReason","typeLabel":"string | null"},"failureStage":{"oneOf":[{"type":"string","enum":["provider_setup","rate_moved","provider","abandoned"],"uniqueKey":"data.failureStage.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["provider_setup","rate_moved","provider","abandoned"],"uniqueKey":"data.failureStage.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.failureStage","typeLabel":"enum\u003cstring> | null"},"requiresOtp":{"type":"boolean","uniqueKey":"data.requiresOtp","typeLabel":"boolean"},"expiresAt":{"type":"string","format":"date-time","uniqueKey":"data.expiresAt","typeLabel":"string\u003cdate-time>"},"metadata":{"oneOf":[{"type":"object","uniqueKey":"data.metadata.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"data.metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.metadata","typeLabel":"object | null"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"data.updatedAt","typeLabel":"string\u003cdate-time>"},"completedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.completedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.completedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.completedAt","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","reference":"\u003cstring>","rail":"bank_transfer","status":"initiated","walletId":"\u003cstring>","assetId":"\u003cstring>","currency":"\u003cstring>","amount":"\u003cstring>","amountFiat":"\u003cstring>","feeFiat":"\u003cstring>","amountFiatPayable":"\u003cstring>","amountFiatReceived":"\u003cstring>","rate":"\u003cstring>","paymentInstructions":{"type":"bank_transfer","bank":{"name":"\u003cstring>","accountName":"\u003cstring>","accountNumber":"\u003cstring>"},"mobileMoney":{"phoneNumber":"\u003cstring>","networkProvider":"\u003cstring>","nextStep":"PIN","prompt":"\u003cstring>"},"amountToPay":"\u003cstring>","currency":"\u003cstring>","expiresAt":"2023-11-07T05:31:56Z"},"customer":{"name":"\u003cstring>","email":"\u003cstring>"},"transactionHash":"\u003cstring>","failureReason":"\u003cstring>","failureStage":"provider_setup","requiresOtp":true,"expiresAt":"2023-11-07T05:31:56Z","metadata":{},"createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","completedAt":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"96211897-b3b6-45d5-a0c9-536816163be4":{"description":"Validation or provider rejection (e.g. mobile money failed)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Wallet not found","uniqueKey":"error.message","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","uniqueKey":"error.timestamp","typeLabel":"string\u003cdate-time>"},"requestId":{"type":"string","uniqueKey":"error.requestId","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"NOT_FOUND","message":"Wallet not found","timestamp":"2023-11-07T05:31:56Z","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"1f924d77-f0b8-49d9-8e86-f48c37668441":{"description":"Quote session not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Wallet not found","uniqueKey":"error.message","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","uniqueKey":"error.timestamp","typeLabel":"string\u003cdate-time>"},"requestId":{"type":"string","uniqueKey":"error.requestId","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"NOT_FOUND","message":"Wallet not found","timestamp":"2023-11-07T05:31:56Z","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"69f60a26-bafe-45ee-8801-7cc111682673":{"description":"Quote used/expired, rate moved, or reference conflict","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","example":"Wallet not found","uniqueKey":"error.message","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","uniqueKey":"error.timestamp","typeLabel":"string\u003cdate-time>"},"requestId":{"type":"string","uniqueKey":"error.requestId","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"NOT_FOUND","message":"Wallet not found","timestamp":"2023-11-07T05:31:56Z","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"f6077e53-caf3-4432-868a-20cc8dfdd596":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"apiKey","scopes":[],"schemeName":"ApiKeyAuth"},"OrgIdAuth":{"type":"apiKey","in":"header","name":"orgId","scopes":[],"schemeName":"OrgIdAuth"}}},"servers":{"3ef30ada-5b9d-4e1c-85d8-3f6824014001":{"url":"https://api.xentfi.com","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"apiKey","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"apiKey","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"apiKey"},{"scheme":{"type":"apiKey","in":"header","name":"orgId","scopes":[],"schemeName":"OrgIdAuth"},"schema":{"title":"orgId","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"OrgIdAuth","name":"orgId"}],"title":"ApiKeyAuth \u0026 OrgIdAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"xentfi","siteName":"XentFi API Documentation","title":"Create an order - XentFi API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-07T17:29:12.282Z","originalFileLocation":"api-reference/on-ramp/create-an-order.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a collection order and returns the payment instructions. customer.name must be the payer\u0026#x27;s full name — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires mobileMoney.{phoneNumber, networkProvider}; the prompt is sent immediately. Idempotent: same reference + sessionId returns the same order; a quote is single-use. Rate guard: if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment. Orders expire after validityTimeMinutes (30–1440, default 30). The provider has no cancel/expire call, so a payment that still arrives after expiry or cancellation is honoured (metadata.latePayment: true). Webhook events: onramp.created, onramp.paid, onramp.processing, onramp.completed, onramp.expired, onramp.failed, onramp.cancelled. Flow: GET /currencies → GET /assets?walletId\u0026amp;currency → GET /rails?currency → POST /quotes (rate session) → POST /orders → show paymentInstructions to your payer → track via onramp.* webhooks or GET /orders/{id} → stablecoin is credited to your wallet. Rails: bank_transfer — a one-time bank account is generated per order (NGN; GHS bank unverified). mobile_money — GHS; the payer approves a prompt on their phone (nextStep: PIN) or, when the provider asks, you submit an OTP via POST /orders/{id}/verify-otp (status: awaiting_otp). USD/EUR are collected through customer virtual accounts, not this API.\">\u003cmeta data-mint-head name=\"application-name\" content=\"XentFi API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/xentfi/q_Pzx6ysmqGzPfz2/_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/xentfi/q_Pzx6ysmqGzPfz2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/xentfi/q_Pzx6ysmqGzPfz2/_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/xentfi/q_Pzx6ysmqGzPfz2/_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/xentfi/q_Pzx6ysmqGzPfz2/_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/xentfi/q_Pzx6ysmqGzPfz2/_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/xentfi/q_Pzx6ysmqGzPfz2/_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/xentfi/q_Pzx6ysmqGzPfz2/_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/xentfi/q_Pzx6ysmqGzPfz2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create an order - XentFi API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a collection order and returns the payment instructions. customer.name must be the payer\u0026#x27;s full name — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires mobileMoney.{phoneNumber, networkProvider}; the prompt is sent immediately. Idempotent: same reference + sessionId returns the same order; a quote is single-use. Rate guard: if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment. Orders expire after validityTimeMinutes (30–1440, default 30). The provider has no cancel/expire call, so a payment that still arrives after expiry or cancellation is honoured (metadata.latePayment: true). Webhook events: onramp.created, onramp.paid, onramp.processing, onramp.completed, onramp.expired, onramp.failed, onramp.cancelled. Flow: GET /currencies → GET /assets?walletId\u0026amp;currency → GET /rails?currency → POST /quotes (rate session) → POST /orders → show paymentInstructions to your payer → track via onramp.* webhooks or GET /orders/{id} → stablecoin is credited to your wallet. Rails: bank_transfer — a one-time bank account is generated per order (NGN; GHS bank unverified). mobile_money — GHS; the payer approves a prompt on their phone (nextStep: PIN) or, when the provider asks, you submit an OTP via POST /orders/{id}/verify-otp (status: awaiting_otp). USD/EUR are collected through customer virtual accounts, not this API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"XentFi API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://xentfi.mintlify.site/_mintlify/api/og/v2?division=On-ramp\u0026amp;title=Create+an+order\u0026amp;description=Creates+a+collection+order+and+returns+the+payment+instructions.%0A%0A%60customer.name%60+must+be+the+**payer%27s+full+name**+%E2%80%94+the+provider+matches+it+against+the+sendin\u0026amp;theme=d7876670383a0adff8859ee0\u0026amp;signature=686bc52746360a48ecf49846cdfee4a70e3bed861384f731dc477d4dde234cb8\">\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 order - XentFi API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a collection order and returns the payment instructions. customer.name must be the payer\u0026#x27;s full name — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires mobileMoney.{phoneNumber, networkProvider}; the prompt is sent immediately. Idempotent: same reference + sessionId returns the same order; a quote is single-use. Rate guard: if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment. Orders expire after validityTimeMinutes (30–1440, default 30). The provider has no cancel/expire call, so a payment that still arrives after expiry or cancellation is honoured (metadata.latePayment: true). Webhook events: onramp.created, onramp.paid, onramp.processing, onramp.completed, onramp.expired, onramp.failed, onramp.cancelled. Flow: GET /currencies → GET /assets?walletId\u0026amp;currency → GET /rails?currency → POST /quotes (rate session) → POST /orders → show paymentInstructions to your payer → track via onramp.* webhooks or GET /orders/{id} → stablecoin is credited to your wallet. Rails: bank_transfer — a one-time bank account is generated per order (NGN; GHS bank unverified). mobile_money — GHS; the payer approves a prompt on their phone (nextStep: PIN) or, when the provider asks, you submit an OTP via POST /orders/{id}/verify-otp (status: awaiting_otp). USD/EUR are collected through customer virtual accounts, not this API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://xentfi.mintlify.site/_mintlify/api/og/v2?division=On-ramp\u0026amp;title=Create+an+order\u0026amp;description=Creates+a+collection+order+and+returns+the+payment+instructions.%0A%0A%60customer.name%60+must+be+the+**payer%27s+full+name**+%E2%80%94+the+provider+matches+it+against+the+sendin\u0026amp;theme=d7876670383a0adff8859ee0\u0026amp;signature=686bc52746360a48ecf49846cdfee4a70e3bed861384f731dc477d4dde234cb8\">\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/xentfi/q_Pzx6ysmqGzPfz2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"XentFi API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F5A623\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/on-ramp/create-an-order.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.xentfi.com/#organization\",\"name\":\"XentFi API Documentation\",\"url\":\"https://docs.xentfi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/xentfi/nt7OxiXA-10q40ko/logo/logo-light.png?fit=max\u0026auto=format\u0026n=nt7OxiXA-10q40ko\u0026q=85\u0026s=16c34a61758b9de6b5424ed250c09789\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.xentfi.com#website\",\"name\":\"XentFi API Documentation\",\"url\":\"https://docs.xentfi.com\",\"publisher\":{\"@id\":\"https://docs.xentfi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order#webpage\",\"url\":\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order\",\"name\":\"Create an order\",\"description\":\"Creates a collection order and returns the payment instructions. customer.name must be the payer's full name — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires mobileMoney.{phoneNumber, networkProvider}; the prompt is sent immediately. Idempotent: same reference + sessionId returns the same order; a quote is single-use. Rate guard: if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment. Orders expire after validityTimeMinutes (30–1440, default 30). The provider has no cancel/expire call, so a payment that still arrives after expiry or cancellation is honoured (metadata.latePayment: true). Webhook events: onramp.created, onramp.paid, onramp.processing, onramp.completed, onramp.expired, onramp.failed, onramp.cancelled. Flow: GET /currencies → GET /assets?walletId\u0026currency → GET /rails?currency → POST /quotes (rate session) → POST /orders → show paymentInstructions to your payer → track via onramp.* webhooks or GET /orders/{id} → stablecoin is credited to your wallet. Rails: bank_transfer — a one-time bank account is generated per order (NGN; GHS bank unverified). mobile_money — GHS; the payer approves a prompt on their phone (nextStep: PIN) or, when the provider asks, you submit an OTP via POST /orders/{id}/verify-otp (status: awaiting_otp). USD/EUR are collected through customer virtual accounts, not this API.\",\"dateModified\":\"2026-11-07T17:29:12.282Z\",\"isPartOf\":{\"@id\":\"https://docs.xentfi.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"On-ramp\",\"item\":\"https://docs.xentfi.com/api-reference/on-ramp/list-stablecoins-the-wallet-can-receive\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create an order\",\"item\":\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order#apireference\",\"headline\":\"Create an order\",\"name\":\"Create an order\",\"description\":\"Creates a collection order and returns the payment instructions. customer.name must be the payer's full name — the provider matches it against the sending bank account / mobile-money wallet and rejects mismatches. Mobile money requires mobileMoney.{phoneNumber, networkProvider}; the prompt is sent immediately. Idempotent: same reference + sessionId returns the same order; a quote is single-use. Rate guard: if the rate worsened more than the tolerance since the quote, the call fails with 409 and nothing is created at the provider for payment. Orders expire after validityTimeMinutes (30–1440, default 30). The provider has no cancel/expire call, so a payment that still arrives after expiry or cancellation is honoured (metadata.latePayment: true). Webhook events: onramp.created, onramp.paid, onramp.processing, onramp.completed, onramp.expired, onramp.failed, onramp.cancelled. Flow: GET /currencies → GET /assets?walletId\u0026currency → GET /rails?currency → POST /quotes (rate session) → POST /orders → show paymentInstructions to your payer → track via onramp.* webhooks or GET /orders/{id} → stablecoin is credited to your wallet. Rails: bank_transfer — a one-time bank account is generated per order (NGN; GHS bank unverified). mobile_money — GHS; the payer approves a prompt on their phone (nextStep: PIN) or, when the provider asks, you submit an OTP via POST /orders/{id}/verify-otp (status: awaiting_otp). USD/EUR are collected through customer virtual accounts, not this API.\",\"url\":\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order\",\"mainEntityOfPage\":{\"@id\":\"https://docs.xentfi.com/api-reference/on-ramp/create-an-order#webpage\"},\"dateModified\":\"2026-11-07T17:29:12.282Z\",\"publisher\":{\"@id\":\"https://docs.xentfi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.xentfi.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"XentFi API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"XentFi API Documentation","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Getting Started","pages":[{"title":"API Introduction","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Error Handling","href":"/api-reference/errors"}]},{"group":"Master Wallets","pages":[{"title":"List master wallets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/master-wallets","href":"/api-reference/master-wallets/list-master-wallets"},{"title":"Create master wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets","href":"/api-reference/master-wallets/create-master-wallet"},{"title":"Get single master wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/master-wallets/{masterId}","href":"/api-reference/master-wallets/get-single-master-wallet"},{"title":"Get master wallet token balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/master-wallets/{masterId}/balance","href":"/api-reference/master-wallets/get-master-wallet-token-balance"},{"title":"Disable monitoring","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/monitoring/{blockchainId}/disable","href":"/api-reference/master-wallets/disable-monitoring"},{"title":"Enable monitoring","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/monitoring/{blockchainId}/enable","href":"/api-reference/master-wallets/enable-monitoring"},{"title":"Recover assets from a master wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/recover","href":"/api-reference/master-wallets/recover-assets-from-a-master-wallet"},{"title":"Get recoverable assets for a master wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/master-wallets/{masterId}/recoverable-assets","href":"/api-reference/master-wallets/get-recoverable-assets-for-a-master-wallet"},{"title":"List master wallet transfers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/master-wallets/{masterId}/transactions","href":"/api-reference/master-wallets/list-master-wallet-transfers"}]},{"group":"Auto Settlement","pages":[{"title":"List master settlement rules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/master-wallets/{masterId}/settlement-rules","href":"/api-reference/auto-settlement/list-master-settlement-rules"},{"title":"Create master settlement rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/settlement-rules","href":"/api-reference/auto-settlement/create-master-settlement-rule"},{"title":"Get single settlement rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/master-wallets/settlement-rules/{ruleId}","href":"/api-reference/auto-settlement/get-single-settlement-rule"},{"title":"Update settlement rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/master-wallets/settlement-rules/{ruleId}","href":"/api-reference/auto-settlement/update-settlement-rule"},{"title":"Delete settlement rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/master-wallets/settlement-rules/{ruleId}","href":"/api-reference/auto-settlement/delete-settlement-rule"},{"title":"List address settlement rules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/addresses/{addressId}/settlement-rules","href":"/api-reference/auto-settlement/list-address-settlement-rules"},{"title":"Create address settlement rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/settlement-rules","href":"/api-reference/auto-settlement/create-address-settlement-rule"},{"title":"Get single settlement rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/addresses/settlement-rules/{ruleId}","href":"/api-reference/auto-settlement/get-single-settlement-rule-1"},{"title":"Update settlement rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/addresses/settlement-rules/{ruleId}","href":"/api-reference/auto-settlement/update-settlement-rule-1"},{"title":"Delete settlement rule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/addresses/settlement-rules/{ruleId}","href":"/api-reference/auto-settlement/delete-settlement-rule-1"}]},{"group":"Signing","pages":[{"title":"Sign a message using a master wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/signing/message","href":"/api-reference/signing/sign-a-message-using-a-master-wallet"},{"title":"Sign a transaction using a master wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/signing/transaction","href":"/api-reference/signing/sign-a-transaction-using-a-master-wallet"},{"title":"Sign typed data (EIP-712) using a master wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/signing/typed-data","href":"/api-reference/signing/sign-typed-data-eip-712-using-a-master-wallet"},{"title":"Sign a message using an address wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/signing/message","href":"/api-reference/signing/sign-a-message-using-an-address-wallet"},{"title":"Sign a transaction using an address wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/signing/transaction","href":"/api-reference/signing/sign-a-transaction-using-an-address-wallet"},{"title":"Sign typed data (EIP-712) using an address wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/signing/typed-data","href":"/api-reference/signing/sign-typed-data-eip-712-using-an-address-wallet"}]},{"group":"Transfer","pages":[{"title":"Estimate gas fee for master transfer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/transfer/estimate-gas","href":"/api-reference/transfer/estimate-gas-fee-for-master-transfer"},{"title":"Create and execute master transfer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/master-wallets/{masterId}/transfer/execute","href":"/api-reference/transfer/create-and-execute-master-transfer"},{"title":"Execute address transfer quote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/transfer/estimate-gas","href":"/api-reference/transfer/execute-address-transfer-quote"},{"title":"Create address transfer quote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/transfer/execute","href":"/api-reference/transfer/create-address-transfer-quote"}]},{"group":"Addresses","pages":[{"title":"List deposit addresses","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/addresses","href":"/api-reference/addresses/list-deposit-addresses"},{"title":"Create deposit address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses","href":"/api-reference/addresses/create-deposit-address"},{"title":"Get single deposit address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/addresses/{addressId}","href":"/api-reference/addresses/get-single-deposit-address"},{"title":"Get address token balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/addresses/{addressId}/balance","href":"/api-reference/addresses/get-address-token-balance"},{"title":"Disable address monitoring","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/monitoring/{blockchainId}/disable","href":"/api-reference/addresses/disable-address-monitoring"},{"title":"Enable address monitoring","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/monitoring/{blockchainId}/enable","href":"/api-reference/addresses/enable-address-monitoring"},{"title":"Recover assets from an address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/{addressId}/recover","href":"/api-reference/addresses/recover-assets-from-an-address"},{"title":"Get recoverable assets for an address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/addresses/{addressId}/recoverable-assets","href":"/api-reference/addresses/get-recoverable-assets-for-an-address"},{"title":"List address transfers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/addresses/{addressId}/transfers","href":"/api-reference/addresses/list-address-transfers"},{"title":"Whitelist an existing deposit address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/addresses/whitelist","href":"/api-reference/addresses/whitelist-an-existing-deposit-address"}]},{"group":"Assets","pages":[{"title":"List supported blockchains","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assets/blockchains","href":"/api-reference/assets/list-supported-blockchains"},{"title":"Get blockchain by ID or slug","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assets/blockchains/{id}","href":"/api-reference/assets/get-blockchain-by-id-or-slug"},{"title":"List supported tokens with optional filtering","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assets/tokens","href":"/api-reference/assets/list-supported-tokens-with-optional-filtering"},{"title":"Get token by ID or symbol","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assets/tokens/{id}","href":"/api-reference/assets/get-token-by-id-or-symbol"}]},{"group":"Prices","pages":[{"title":"Get prices for multiple tokens","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/assets/prices/tokens","href":"/api-reference/prices/get-prices-for-multiple-tokens"},{"title":"Get token price by symbol","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/assets/prices/tokens/{symbol}","href":"/api-reference/prices/get-token-price-by-symbol"}]},{"group":"Payment Links","pages":[{"title":"List payment links","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payment-links","href":"/api-reference/payment-links/list-payment-links"},{"title":"Create payment link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/payment-links","href":"/api-reference/payment-links/create-payment-link"},{"title":"Get single payment link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payment-links/{id}","href":"/api-reference/payment-links/get-single-payment-link"},{"title":"Update payment link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/payment-links/{id}","href":"/api-reference/payment-links/update-payment-link"},{"title":"List payment transfers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payment-transfers","href":"/api-reference/payment-links/list-payment-transfers"},{"title":"Get single payment transfer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/payment-transfers/{id}","href":"/api-reference/payment-links/get-single-payment-transfer"}]},{"group":"Checkout","pages":[{"title":"Initiate GHS mobile-money payment (payer-facing)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/checkout/mobile-money/{depositInstructionId}/initiate","href":"/api-reference/checkout/initiate-ghs-mobile-money-payment-payer-facing"},{"title":"Verify mobile-money OTP (payer-facing)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/checkout/mobile-money/{depositInstructionId}/verify-otp","href":"/api-reference/checkout/verify-mobile-money-otp-payer-facing"}]},{"group":"Customers","pages":[{"title":"List customers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/customers","href":"/api-reference/customers/list-customers"},{"title":"Create a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/customers","href":"/api-reference/customers/create-a-customer"},{"title":"Get a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/customers/{customerId}","href":"/api-reference/customers/get-a-customer"},{"title":"Update a customer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/customers/{customerId}","href":"/api-reference/customers/update-a-customer"}]},{"group":"Customer Onboarding","pages":[{"title":"List a customer's onboarding requests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/customers/{customerId}/onboarding-requests","href":"/api-reference/customer-onboarding/list-a-customers-onboarding-requests"},{"title":"Create an onboarding request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/customers/{customerId}/onboarding-requests","href":"/api-reference/customer-onboarding/create-an-onboarding-request"},{"title":"Get an onboarding request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/customers/{customerId}/onboarding-requests/{caseId}","href":"/api-reference/customer-onboarding/get-an-onboarding-request"},{"title":"Submit onboarding requirements","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/customers/{customerId}/onboarding-requests/{caseId}/submit","href":"/api-reference/customer-onboarding/submit-onboarding-requirements"},{"title":"Get the terms-of-service acceptance URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/customers/{customerId}/onboarding-requests/{caseId}/terms","href":"/api-reference/customer-onboarding/get-the-terms-of-service-acceptance-url"},{"title":"Upload a prepared document image","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/onboarding/cases/{caseId}/uploads/{uploadId}","href":"/api-reference/customer-onboarding/upload-a-prepared-document-image"},{"title":"Prepare document uploads","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/onboarding/cases/{caseId}/uploads/prepare","href":"/api-reference/customer-onboarding/prepare-document-uploads"}]},{"group":"USD and EUR Virtual Accounts","pages":[{"title":"List a customer's virtual accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/customers/{customerId}/virtual-accounts","href":"/api-reference/usd-and-eur-virtual-accounts/list-a-customers-virtual-accounts"},{"title":"Create a virtual account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/customers/{customerId}/virtual-accounts","href":"/api-reference/usd-and-eur-virtual-accounts/create-a-virtual-account"},{"title":"Get a virtual account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/customers/{customerId}/virtual-accounts/{virtualAccountId}","href":"/api-reference/usd-and-eur-virtual-accounts/get-a-virtual-account"},{"title":"List transactions for a customer virtual account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/customers/{customerId}/virtual-accounts/{virtualAccountId}/transactions","href":"/api-reference/usd-and-eur-virtual-accounts/list-transactions-for-a-customer-virtual-account"}]},{"group":"Customer Virtual Accounts","pages":[{"title":"Deactivate a virtual account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/customers/{customerId}/virtual-accounts/{virtualAccountId}/deactivate","href":"/api-reference/customer-virtual-accounts/deactivate-a-virtual-account"},{"title":"Reactivate a virtual account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/customers/{customerId}/virtual-accounts/{virtualAccountId}/reactivate","href":"/api-reference/customer-virtual-accounts/reactivate-a-virtual-account"},{"title":"Update the destination of a customer virtual account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/customers/{customerId}/virtual-accounts/{virtualAccountId}/update","href":"/api-reference/customer-virtual-accounts/update-the-destination-of-a-customer-virtual-account"}]},{"group":"NGN Virtual Accounts","pages":[{"title":"List virtual accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/virtual-accounts","href":"/api-reference/ngn-virtual-accounts/list-virtual-accounts"},{"title":"Provision a virtual account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/virtual-accounts","href":"/api-reference/ngn-virtual-accounts/provision-a-virtual-account"},{"title":"List transactions for an NGN virtual account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/virtual-accounts/{virtualAccountId}/transactions","href":"/api-reference/ngn-virtual-accounts/list-transactions-for-an-ngn-virtual-account"}]},{"group":"Off-ramp","pages":[{"title":"List stablecoins that can be paid out","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/offramp/assets","href":"/api-reference/off-ramp/list-stablecoins-that-can-be-paid-out"},{"title":"List banks (NGN, GHS)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/offramp/banks","href":"/api-reference/off-ramp/list-banks-ngn-ghs"},{"title":"List payout currencies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/offramp/currencies","href":"/api-reference/off-ramp/list-payout-currencies"},{"title":"List payment methods and their requirements","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/offramp/payment-methods","href":"/api-reference/off-ramp/list-payment-methods-and-their-requirements"},{"title":"Create a quote session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/offramp/quotes","href":"/api-reference/off-ramp/create-a-quote-session"},{"title":"List withdrawals","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/offramp/withdrawals","href":"/api-reference/off-ramp/list-withdrawals"},{"title":"Execute a withdrawal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/offramp/withdrawals","href":"/api-reference/off-ramp/execute-a-withdrawal"},{"title":"Get a withdrawal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/offramp/withdrawals/{id}","href":"/api-reference/off-ramp/get-a-withdrawal"},{"title":"Submit refund bank details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/offramp/withdrawals/{id}/refund-details","href":"/api-reference/off-ramp/submit-refund-bank-details"},{"title":"Verify a refund bank account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/offramp/withdrawals/{id}/refund-details/verify","href":"/api-reference/off-ramp/verify-a-refund-bank-account"}]},{"group":"On-ramp","pages":[{"title":"List stablecoins the wallet can receive","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/onramp/assets","href":"/api-reference/on-ramp/list-stablecoins-the-wallet-can-receive"},{"title":"List collection currencies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/onramp/currencies","href":"/api-reference/on-ramp/list-collection-currencies"},{"title":"List orders","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/onramp/orders","href":"/api-reference/on-ramp/list-orders"},{"title":"Create an order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/onramp/orders","href":"/api-reference/on-ramp/create-an-order"},{"title":"Get an order","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/onramp/orders/{id}","href":"/api-reference/on-ramp/get-an-order"},{"title":"Cancel an order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/onramp/orders/{id}/cancel","href":"/api-reference/on-ramp/cancel-an-order"},{"title":"Submit a mobile-money OTP","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/onramp/orders/{id}/verify-otp","href":"/api-reference/on-ramp/submit-a-mobile-money-otp"},{"title":"Create a quote session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/onramp/quotes","href":"/api-reference/on-ramp/create-a-quote-session"},{"title":"List payment rails for a currency","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/onramp/rails","href":"/api-reference/on-ramp/list-payment-rails-for-a-currency"}]},{"group":"OTC","pages":[{"title":"Request an OTC RFQ quote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/otc/quotes","href":"/api-reference/otc/request-an-otc-rfq-quote"},{"title":"Get a quote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/otc/quotes/{id}","href":"/api-reference/otc/get-a-quote"},{"title":"Execute a quote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/otc/quotes/{id}/execute","href":"/api-reference/otc/execute-a-quote"},{"title":"Get a trade","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/otc/trades/{id}","href":"/api-reference/otc/get-a-trade"}]},{"group":"Policies","pages":[{"title":"List policies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies","href":"/api-reference/policies/list-policies"},{"title":"Create a policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/policies","href":"/api-reference/policies/create-a-policy"},{"title":"Get a policy by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/policies/{id}","href":"/api-reference/policies/get-a-policy-by-id"},{"title":"Update a policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/policies/{id}","href":"/api-reference/policies/update-a-policy"}]},{"group":"Agents","pages":[{"title":"List agents for organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agents","href":"/api-reference/agents/list-agents-for-organization"},{"title":"Create a new agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents","href":"/api-reference/agents/create-a-new-agent"},{"title":"List payments for a specific agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agents/{agentId}/payments","href":"/api-reference/agents/list-payments-for-a-specific-agent"},{"title":"List wallets for a specific agent (org admin)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agents/{agentId}/wallets","href":"/api-reference/agents/list-wallets-for-a-specific-agent-org-admin"},{"title":"Get balance of a specific agent wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agents/{agentId}/wallets/{agentWalletId}/balance","href":"/api-reference/agents/get-balance-of-a-specific-agent-wallet"},{"title":"Create a new wallet for a specific agent (org admin)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents/{agentId}/wallets/create","href":"/api-reference/agents/create-a-new-wallet-for-a-specific-agent-org-admin"},{"title":"link a wallet for a specific agent (org admin)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents/{agentId}/wallets/link","href":"/api-reference/agents/link-a-wallet-for-a-specific-agent-org-admin"},{"title":"Get agent by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agents/{id}","href":"/api-reference/agents/get-agent-by-id"},{"title":"Revoke agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents/{id}/revoke","href":"/api-reference/agents/revoke-agent"},{"title":"Suspend agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents/{id}/suspend","href":"/api-reference/agents/suspend-agent"},{"title":"Rotate (regenerate) an agent's API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /agents/{id}/rotate-key","href":"/api-reference/agents/rotate-regenerate-an-agents-api-key"}]},{"group":"Agent Self","pages":[{"title":"Get current agent info","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agent-self","href":"/api-reference/agent-self/get-current-agent-info"},{"title":"List agent payments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agent-self/payments","href":"/api-reference/agent-self/list-agent-payments"},{"title":"Create a payment (move funds)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agent-self/payments","href":"/api-reference/agent-self/create-a-payment-move-funds"},{"title":"Get a specific payment transaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agent-self/payments/{id}","href":"/api-reference/agent-self/get-a-specific-payment-transaction"},{"title":"Get agent's effective policy and current spend","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agent-self/policy","href":"/api-reference/agent-self/get-agents-effective-policy-and-current-spend"},{"title":"List agent's wallets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agent-self/wallets","href":"/api-reference/agent-self/list-agents-wallets"},{"title":"Get wallet balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agent-self/wallets/{agentWalletId}/balance","href":"/api-reference/agent-self/get-wallet-balance"},{"title":"Create a new wallet for the authenticated agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agent-self/wallets/create","href":"/api-reference/agent-self/create-a-new-wallet-for-the-authenticated-agent"},{"title":"link a wallet for a specific authenticated agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agent-self/wallets/link","href":"/api-reference/agent-self/link-a-wallet-for-a-specific-authenticated-agent"}]},{"group":"AML","pages":[{"title":"Check multiple addresses for sanctions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/aml/check-batch","href":"/api-reference/aml/check-multiple-addresses-for-sanctions"},{"title":"Check if an address is sanctioned","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/aml/check/{address}","href":"/api-reference/aml/check-if-an-address-is-sanctioned"}]},{"group":"Webhooks","pages":[{"title":"List webhook subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/webhooks","href":"/api-reference/webhooks/list-webhook-subscriptions"},{"title":"Create webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webhooks","href":"/api-reference/webhooks/create-webhook-subscription"},{"title":"Get webhook subscription details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/webhooks/{subscriptionId}","href":"/api-reference/webhooks/get-webhook-subscription-details"},{"title":"Update webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/webhooks/{subscriptionId}","href":"/api-reference/webhooks/update-webhook-subscription"},{"title":"Rotate webhook secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webhooks/{subscriptionId}/rotate-secret","href":"/api-reference/webhooks/rotate-webhook-secret"},{"title":"Send a test webhook event","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/webhooks/{subscriptionId}/test","href":"/api-reference/webhooks/send-a-test-webhook-event"},{"title":"List webhook events","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/webhooks/events","href":"/api-reference/webhooks/list-webhook-events"},{"title":"Get webhook event details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/webhooks/events/{eventId}","href":"/api-reference/webhooks/get-webhook-event-details"}]}]},{"tab":"Agent","icon":"bot","pages":[{"title":"Agent","href":"/agent/introduction"}]},{"tab":"XentFi Pro","icon":"chart-candlestick","pages":[{"title":"XentFi Pro","href":"/xentfi-pro/overview"}]},{"tab":"Resources","icon":"book-open","menu":[{"item":"Release Notes","icon":"file-text","pages":[{"title":"Release Notes","href":"/release-notes/changelog"}]},{"item":"Sample Projects","icon":"folder-open","pages":[{"title":"Sample Projects","href":"/projects"}]}],"pages":[{"title":"Resources","href":"/release-notes/changelog"}]}]},"basePath":"","title":"Create an order - XentFi API Documentation","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}