Preview the amount a customer receives after Daya fees and an optional developer fee.
Supports NGN → USDC/USDT and USDC/USDT → NGN on supported networks.
The request does not create a funding account, initiate a payout, reserve funds or move money.
The result is an estimate (is_estimate: true), not a guaranteed payout.
expires_at is the rate expiry. Fee changes can invalidate the preview earlier.
Total amount received by Daya, including applicable fees. Send a positive
decimal string with at most two decimal places for NGN or six for crypto.
JSON numbers and exponent notation are not accepted.
The destination crypto network for onramp or the source crypto network for
offramp. Use the asset/network combinations available in your environment:
supported chains.
Optional object with a percentage decimal string from 0 to 50, with up
to four decimal places. For example, {"percentage": "1.5"} means 1.5%.
Omission means zero. Send the same percentage you will use for the funding
account; the preview does not read an existing account’s fee configuration.
Returns HTTP 200 with a quote object, without a data wrapper.
This onramp example assumes a rate of 1,500 NGN per USD, a 100 NGN deposit fee
and a 0.1 USDC payout fee. These values are illustrative; use your response’s
current rate, fees and expiry.
The preview uses NGN/USD BUY for onramp and USD/NGN SELL for offramp,
matching funding settlement without a locked rate. USDC and USDT follow the
existing USD settlement accounting. A token-specific rate from GET /v1/rates
can differ from the USD rate used here.
Fee type
Currency
DEPOSIT
NGN
CRYPTO_PAYOUT
Destination token, USDC or USDT
BANK_PAYOUT
NGN
DEVELOPER
USD
Do not sum fees with different currencies. The FX spread is already included
in rate. Sender bank fees and wallet gas paid outside Daya are excluded.
The final NGN bank payout must be at least NGN 100.
Request a preview for the intended source amount, currencies, chain and developer fee.
Show destination_amount, the fee breakdown and rate expiry to the customer.
Create the funding account
using the existing transaction contract. For temporary flows that accept a
rate ID, pass the returned rate_id in settlement_destination.rate_id.
Follow the funding-account response for the exact amount and payment deadline.
Track the actual result through deposits
and deposit webhooks.
Permanent funding accounts reject rate_id and use the current USD-pair rate
at settlement. A temporary rate lock does not freeze all fees or guarantee
settlement. Refresh the preview when inputs change or the rate expires.The endpoint does not accept rate_id or quote_id, calculate a source amount
from a desired destination amount, or preview internal merchant/customer balance
settlement. Use it for NGN-to-wallet and crypto-to-NGN-bank payout previews.
Invalid JSON, unknown fields, unsupported pair/network, invalid amount or developer fee, or an amount outside settlement limits. Includes amounts too small after fees.
401
Missing or invalid API key.
403
Inactive merchant or insufficient API-key permissions.
503
Pricing is paused, unavailable or expired, or the quote fee configuration is invalid.
500
A pricing dependency or fee schedule could not be loaded.
Errors use the standard error envelope. No partial quote is returned.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Daya API Documentation","colors":{"primary":"#19447E","light":"#8FEDF7","dark":"#0879C8"},"logo":{"light":"https://mintcdn.com/daya-6e3c29ae/wR2HKevjeAjGMgtz/logo/light.svg?fit=max\u0026auto=format\u0026n=wR2HKevjeAjGMgtz\u0026q=85\u0026s=a31515692405f0feca0f4ff25a0cd5cb","dark":"https://mintcdn.com/daya-6e3c29ae/wR2HKevjeAjGMgtz/logo/dark.svg?fit=max\u0026auto=format\u0026n=wR2HKevjeAjGMgtz\u0026q=85\u0026s=4afe5a61c31e30719ad46b51fe80a1b1"},"favicon":"https://mintcdn.com/daya-6e3c29ae/wR2HKevjeAjGMgtz/favicon.svg?fit=max\u0026auto=format\u0026n=wR2HKevjeAjGMgtz\u0026q=85\u0026s=f22813edc28eb08f49b91fa47f9c3f21","background":{"color":{"light":"#FFFFFF","dark":"#021120"}},"navbar":{"links":[{"href":"mailto:support@daya.co","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.daya.co"}},"footer":{"socials":{"x":"https://x.com/Daya_HQ"}},"fonts":{"heading":{"family":"Lora","weight":500},"body":{"family":"Inter"}},"styling":{"codeblocks":"dark","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"daya-6e3c29ae","hasAudioNarration":false,"actualSubdomain":"daya-6e3c29ae","customDomains":["docs.daya.co"],"gitSource":{"type":"github","owner":"dayahq","repo":"daya-external-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae06a950a4e18d2a6ba3050","collectionId":"a806dd88-1239-4e4f-ac3d-947f05ddb826","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae06a950a4e18d2a6ba3050"},"entitlements":{},"buildId":"6ae07e6b8bb07bca7fa0bb1f","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Daya API","count":80},{"language":"default","tag":"Coins","count":46},{"language":"default","tag":"Pro","count":37},{"language":"default","tag":"Stocks","count":31},{"language":"default","tag":"Getting Started","count":18},{"language":"default","tag":"Fiat Withdrawals","count":18},{"language":"default","tag":"Core Concepts","count":11},{"language":"default","tag":"Market Data","count":11},{"language":"default","tag":"Legacy API","count":10},{"language":"default","tag":"Webhooks","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"@keyframes dr-drift-a{0%,to{transform:translate(0,0) scale(1)}50%{transform:translate(70px,40px) scale(1.12)}}@keyframes dr-drift-b{0%,to{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,50px) scale(1.08)}}@keyframes dr-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes dr-shimmer{0%{transform:translateX(-120%)}to{transform:translateX(220%)}}:root{--dr-navy:#021120;--dr-navy-2:#04182b;--dr-blue:#19447e;--dr-cyan:#8fedf7;--dr-cyan-deep:#0aadff;--dr-accent-light:#0879c8;--dr-gold:#f2b705;--dr-buy:#26a17b;--dr-ease:cubic-bezier(0.22, 0.61, 0.36, 1)}html{background-color:rgb(var(--background-light))}html.dark{background-color:rgb(var(--background-dark))}body{background-color:transparent!important}body::after,body::before{content:\"\";position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);pointer-events:none}body::before{width:900px;height:620px;left:-220px;top:-260px;background:radial-gradient(closest-side,rgba(143,237,247,.4),transparent 72%);animation:dr-drift-a 26s ease-in-out infinite}body::after{width:700px;height:520px;right:-260px;top:12%;background:radial-gradient(closest-side,rgba(25,68,126,.08),transparent 70%);animation:dr-drift-b 32s ease-in-out infinite}html.dark body::before{background:radial-gradient(closest-side,rgba(25,68,126,.5),transparent 72%)}html.dark body::after{background:radial-gradient(closest-side,rgba(10,173,255,.18),transparent 70%)}#navbar{border-bottom:1px solid rgba(25,68,126,.08)}html.dark #navbar{border-bottom-color:rgba(255,255,255,.06)}#navbar #navbar-transition{background-color:rgba(255,255,255,.78)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}html.dark #navbar #navbar-transition{background-color:rgba(2,17,32,.72)!important}.nav-tabs-item,.toc-item>a{transition:color .2s var(--dr-ease)}.nav-tabs-item[data-active=true],.toc-item[data-active]>a{color:var(--dr-accent-light)!important}html.dark .nav-tabs-item[data-active=true],html.dark .toc-item[data-active]>a{color:var(--dr-cyan)!important}.nav-tabs-item[data-active=true]>div,html.dark .nav-tabs-item[data-active=true]>div{background:linear-gradient(90deg,var(--dr-cyan),var(--dr-cyan-deep))!important;box-shadow:0 0 12px rgba(10,173,255,.5)}html.dark .nav-tabs-item[data-active=true]>div{box-shadow:0 0 12px rgba(143,237,247,.6)}#search-bar-entry,#search-bar-entry-mobile{border-radius:9999px;transition:border-color .25s var(--dr-ease),box-shadow .3s var(--dr-ease),background-color .25s var(--dr-ease)}#search-bar-entry:hover{border-color:rgba(10,173,255,.35)}html.dark #search-bar-entry:hover{border-color:rgba(143,237,247,.3)}#topbar-cta-button a>span.absolute{background:var(--dr-cyan);border-radius:9999px;transition:background-color .2s var(--dr-ease),box-shadow .3s var(--dr-ease)}#topbar-cta-button a:hover>span.absolute{background:#a9f2fa;opacity:1!important;box-shadow:0 6px 26px -4px rgba(10,173,255,.55)}html.dark #topbar-cta-button a:hover>span.absolute{box-shadow:0 6px 26px -4px rgba(143,237,247,.5)}#topbar-cta-button a .text-white,#topbar-cta-button a svg{color:#04283a!important}#topbar-cta-button a{transition:transform .2s var(--dr-ease)}#topbar-cta-button a:hover{transform:translateY(-1px)}#topbar-cta-button a:hover svg{transform:translateX(2px)}#topbar-cta-button a svg{transition:transform .25s var(--dr-ease)}#navigation-items a{transition:color .18s var(--dr-ease),background-color .18s var(--dr-ease)}#navigation-items a[aria-current=page]{position:relative;background:linear-gradient(90deg,rgba(143,237,247,.28),rgba(143,237,247,.05))!important}html.dark #navigation-items a[aria-current=page]{background:linear-gradient(90deg,rgba(143,237,247,.12),rgba(143,237,247,.02))!important}#navigation-items a[aria-current=page]::before{content:\"\";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--dr-cyan-deep);box-shadow:0 0 10px rgba(10,173,255,.55);transform-origin:top;animation:dr-draw .4s var(--dr-ease) both}html.dark #navigation-items a[aria-current=page]::before{background:var(--dr-cyan);box-shadow:0 0 10px rgba(143,237,247,.8)}.method-nav-pill span[class*=green-400]{background:rgba(10,173,255,.14)!important;color:#0369a1!important}html.dark .method-nav-pill span[class*=green-400]{background:rgba(143,237,247,.12)!important;color:var(--dr-cyan)!important}.method-nav-pill span[class*=blue-400]{background:rgba(38,161,123,.16)!important;color:#0b7261!important}html.dark .method-nav-pill span[class*=blue-400]{background:rgba(38,161,123,.2)!important;color:#7ee2a8!important}ul[data-component-part=tabs-list]{display:inline-flex;width:max-content;min-width:0!important;gap:4px;padding:4px!important;margin-bottom:1.5rem;background:#f0f4fa;border:1px solid #eceff5!important;border-radius:9999px;overflow:visible!important}html.dark ul[data-component-part=tabs-list]{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)!important}[data-component-part=tab-button]{padding:7px 18px!important;margin-bottom:0!important;border-radius:9999px;border-bottom-color:transparent!important;font-size:13px;transition:color .2s var(--dr-ease),background-color .25s var(--dr-ease),box-shadow .3s var(--dr-ease)}[data-component-part=tab-button][data-active=true]{color:var(--dr-accent-light)!important;background:#fff;box-shadow:inset 0 0 0 1px rgba(10,173,255,.35),0 2px 10px -2px rgba(10,173,255,.3)}html.dark [data-component-part=tab-button][data-active=true]{color:var(--dr-cyan)!important;background:rgba(143,237,247,.14);box-shadow:inset 0 0 0 1px rgba(143,237,247,.35),0 0 18px -4px rgba(143,237,247,.4)}[data-component-part=step-number]>div{background:rgba(143,237,247,.22)!important;border:1.5px solid var(--dr-cyan-deep);color:#0369a1!important;transition:background-color .25s var(--dr-ease),box-shadow .3s var(--dr-ease)}html.dark [data-component-part=step-number]>div{background:rgba(143,237,247,.08)!important;border-color:rgba(143,237,247,.5);color:var(--dr-cyan)!important}[data-component-part=step-number]>div:hover{box-shadow:0 0 18px rgba(10,173,255,.3)}[data-component-part=step-line]{background:linear-gradient(rgba(10,173,255,.3),transparent)!important}html.dark [data-component-part=step-line]{background:linear-gradient(rgba(143,237,247,.25),transparent)!important}[data-component-part=code-block-root],html.dark .code-block-background[data-component-part=code-block-root]{background-color:var(--dr-navy-2)!important}.codeblock-dark{background-color:var(--dr-navy-2);border:1px solid rgba(143,237,247,.16);box-shadow:0 24px 50px -22px rgba(2,17,32,.5),0 0 50px -26px rgba(10,173,255,.5);border-radius:1rem}html.dark .codeblock-dark{border-color:rgba(143,237,247,.14);box-shadow:0 24px 60px -24px rgba(0,0,0,.7),0 0 60px -30px rgba(10,173,255,.5)}#pagination a,.callout{border-radius:.75rem}.callout[data-callout-type=info],.callout[data-callout-type=note]{background:rgba(143,237,247,.14)!important;border-color:rgba(10,173,255,.35)!important}html.dark .callout[data-callout-type=info],html.dark .callout[data-callout-type=note]{background:rgba(143,237,247,.07)!important;border-color:rgba(143,237,247,.3)!important}.callout[data-callout-type=info] [data-component-part=callout-content],.callout[data-callout-type=info] [data-component-part=callout-icon],.callout[data-callout-type=note] [data-component-part=callout-content],.callout[data-callout-type=note] [data-component-part=callout-icon]{color:#134b57!important}html.dark .callout[data-callout-type=info] [data-component-part=callout-content],html.dark .callout[data-callout-type=info] [data-component-part=callout-icon],html.dark .callout[data-callout-type=note] [data-component-part=callout-content],html.dark .callout[data-callout-type=note] [data-component-part=callout-icon]{color:#c9f4fa!important}.callout[data-callout-type=warning]{background:rgba(242,183,5,.09)!important;border-color:rgba(242,183,5,.45)!important}html.dark .callout[data-callout-type=warning]{background:rgba(242,183,5,.07)!important;border-color:rgba(242,183,5,.35)!important}.callout[data-callout-type=warning] [data-component-part=callout-content],.callout[data-callout-type=warning] [data-component-part=callout-icon]{color:#6d5303!important}html.dark .callout[data-callout-type=warning] [data-component-part=callout-content],html.dark .callout[data-callout-type=warning] [data-component-part=callout-icon]{color:#ffe9a8!important}.callout[data-callout-type=check]{background:rgba(38,161,123,.1)!important;border-color:rgba(38,161,123,.4)!important}html.dark .callout[data-callout-type=check]{background:rgba(38,161,123,.08)!important;border-color:rgba(38,161,123,.35)!important}.card{transition:transform .28s var(--dr-ease),box-shadow .3s var(--dr-ease),border-color .28s var(--dr-ease)}.card::after{content:\"\";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(240px 140px at 100% 0,rgba(143,237,247,.28),transparent 70%);opacity:0;transition:opacity .35s var(--dr-ease)}html.dark .card::after{background:radial-gradient(240px 140px at 100% 0,rgba(143,237,247,.14),transparent 70%)}.card:hover{transform:translateY(-3px);box-shadow:0 18px 38px -16px rgba(2,17,32,.2),0 0 44px -18px rgba(10,173,255,.45)}html.dark .card:hover{box-shadow:0 18px 40px -18px rgba(0,0,0,.6),0 0 40px -18px rgba(143,237,247,.4)}.card:hover::after{opacity:1}ul.toc{border-left:1.5px solid rgba(37,41,44,.1)}html.dark ul.toc{border-left-color:rgba(255,255,255,.08)}.toc-item>a{padding-left:calc(var(--toc-padding-left) + var(--toc-focus-padding, 0rem) + .9rem)!important}.toc-item[data-active]::before{content:\"\";position:absolute;left:-1.5px;top:5px;bottom:5px;width:1.5px;background:var(--dr-cyan-deep);box-shadow:0 0 12px rgba(10,173,255,.6)}html.dark .toc-item[data-active]::before{background:var(--dr-cyan);box-shadow:0 0 12px rgba(143,237,247,.7)}#pagination a{transition:border-color .25s var(--dr-ease),transform .25s var(--dr-ease),box-shadow .3s var(--dr-ease)}#pagination a:hover{transform:translateY(-2px);border-color:rgba(10,173,255,.4);box-shadow:0 0 28px -10px rgba(10,173,255,.4)}html.dark #pagination a:hover{border-color:rgba(143,237,247,.45);box-shadow:0 0 30px -12px rgba(143,237,247,.5)}.eyebrow{display:inline-flex!important;align-items:center;gap:8px;height:auto!important;font-size:12px!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase;color:var(--dr-accent-light)!important}html.dark .eyebrow{color:var(--dr-cyan)!important}.eyebrow::before{content:\"\";width:20px;height:2px;border-radius:2px;background:var(--dr-gold)}.dr-env,.dr-hero{display:flex;position:relative}.dr-hero{overflow:hidden;margin:10px 0 6px;padding:22px 26px;background:linear-gradient(120deg,rgba(143,237,247,.28),rgba(240,244,250,.9));border:1px solid rgba(10,173,255,.22);border-radius:16px;align-items:center;gap:20px;flex-wrap:wrap}.dr-hero::after,.dr-hero::before{content:\"\";position:absolute;pointer-events:none}.dr-hero::before{inset:0;background:radial-gradient(360px 200px at 90% -20%,rgba(10,173,255,.2),transparent 70%)}.dr-hero::after{top:0;bottom:0;width:40%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.65),transparent);animation:dr-shimmer 6s var(--dr-ease) infinite}html.dark .dr-hero{background:linear-gradient(120deg,rgba(25,68,126,.35),rgba(4,24,43,.65));border-color:rgba(143,237,247,.14)}html.dark .dr-hero::before{background:radial-gradient(360px 200px at 90% -20%,rgba(10,173,255,.35),transparent 70%)}html.dark .dr-hero::after{background:linear-gradient(105deg,transparent,rgba(143,237,247,.07),transparent)}.dr-env{flex-direction:column;gap:2px;z-index:1}.dr-env-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(37,41,44,.4)}html.dark .dr-env-label{color:rgba(234,242,250,.38)}.dr-env-url{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13.5px;color:var(--dr-blue)}html.dark .dr-env-url{color:var(--dr-cyan)}.dr-sep{width:1px;align-self:stretch;background:rgba(25,68,126,.15)}html.dark .dr-sep{background:rgba(255,255,255,.08)}.dr-cta{margin-left:auto;position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;background:var(--dr-cyan);color:#04283a!important;font-size:13.5px;font-weight:700;text-decoration:none!important;border-bottom:none!important;padding:9px 18px;border-radius:9999px;transition:transform .2s var(--dr-ease),box-shadow .3s var(--dr-ease),background-color .2s var(--dr-ease)}.dr-cta:hover{background:#a9f2fa;transform:translateY(-1px);box-shadow:0 8px 26px -6px rgba(10,173,255,.55)}.dr-cta-arrow{transition:transform .25s var(--dr-ease)}.dr-cta:hover .dr-cta-arrow{transform:translateX(3px)}.dr-resp-label{display:inline-flex;align-items:center;gap:8px;margin:20px 0 -8px;font-size:12px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(37,41,44,.62)}html.dark .dr-resp-label{color:rgba(234,242,250,.62)}.dr-status{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:#0b7261;background:rgba(38,161,123,.12);border:1px solid rgba(38,161,123,.3);border-radius:9999px;padding:2px 9px}html.dark .dr-status{color:#7ee2a8;background:rgba(38,161,123,.16);border-color:rgba(38,161,123,.35)}h1#page-title{font-weight:500!important}h2.group{font-weight:600!important}@media (prefers-reduced-motion:reduce){#navigation-items a[aria-current=page]::before,.dr-hero::after,body::after,body::before{animation:none!important}#pagination a,#topbar-cta-button a,.card{transition:none!important}}"}],"page":{"pagePath":"api-reference/quotes/create-quote","slug":"/api-reference/quotes/create-quote","pageMetadata":{"title":"Preview an onramp or offramp payout","api":"POST https://api.daya.co/v1/quotes","description":"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment","href":"/api-reference/quotes/create-quote"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,ParamField,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Preview the amount a customer receives after Daya fees and an optional developer fee.\nSupports `,_jsx(_components.strong,{children:`NGN → USDC/USDT`}),` and `,_jsx(_components.strong,{children:`USDC/USDT → NGN`}),` on supported networks.\nThe request does not create a funding account, initiate a payout, reserve funds or move money.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The result is an estimate (`,_jsx(_components.code,{children:`is_estimate: true`}),`), not a guaranteed payout.\n`,_jsx(_components.code,{children:`expires_at`}),` is the rate expiry. Fee changes can invalidate the preview earlier.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(ParamField,{header:`X-API-Key`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your merchant API key. Scoped API keys require `,_jsx(_components.code,{children:`business:read`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.code,{children:`Content-Type: application/json`}),`. Keep API keys on your server.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request body`}),`\n`,_jsx(ParamField,{body:`source_currency`,type:`string`,required:true,id:`param-source-currency`,children:_jsxs(_components.p,{children:[`Currency the customer sends: `,_jsx(_components.code,{children:`NGN`}),`, `,_jsx(_components.code,{children:`USDC`}),` or `,_jsx(_components.code,{children:`USDT`}),`.`]})}),`\n`,_jsx(ParamField,{body:`destination_currency`,type:`string`,required:true,id:`param-destination-currency`,children:_jsxs(_components.p,{children:[`Currency the customer receives: `,_jsx(_components.code,{children:`NGN`}),`, `,_jsx(_components.code,{children:`USDC`}),` or `,_jsx(_components.code,{children:`USDT`}),`.\nOne side must be NGN and the other must be USDC or USDT.`]})}),`\n`,_jsx(ParamField,{body:`source_amount`,type:`string`,required:true,id:`param-source-amount`,children:_jsx(_components.p,{children:`Total amount received by Daya, including applicable fees. Send a positive\ndecimal string with at most two decimal places for NGN or six for crypto.\nJSON numbers and exponent notation are not accepted.`})}),`\n`,_jsx(ParamField,{body:`chain`,type:`string`,required:true,id:`param-chain`,children:_jsxs(_components.p,{children:[`The destination crypto network for onramp or the source crypto network for\nofframp. Use the asset/network combinations available in your environment:\n`,_jsx(_components.a,{href:`/api-reference/supported-chains/list-supported-chains`,children:`supported chains`}),`.`]})}),`\n`,_jsx(ParamField,{body:`developer_fee`,type:`object`,id:`param-developer-fee`,children:_jsxs(_components.p,{children:[`Optional object with a `,_jsx(_components.code,{children:`percentage`}),` decimal string from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`50`}),`, with up\nto four decimal places. For example, `,_jsx(_components.code,{children:`{\"percentage\": \"1.5\"}`}),` means 1.5%.\nOmission means zero. Send the same percentage you will use for the funding\naccount; the preview does not read an existing account’s fee configuration.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`request-examples`,children:`Request examples`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Onramp: NGN to USDC`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://api.daya.co/v1/quotes`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'X-API-Key: YOUR_API_KEY'`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"source_currency\": \"NGN\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"destination_currency\": \"USDC\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"source_amount\": \"150000.00\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"chain\": \"BASE\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Offramp: USDT to NGN`,numberOfLines:`11`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://api.daya.co/v1/quotes`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'X-API-Key: YOUR_API_KEY'`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"source_currency\": \"USDT\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"destination_currency\": \"NGN\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"source_amount\": \"100.000000\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"chain\": \"TRON\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"developer_fee\": { \"percentage\": \"1.5\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`source_amount`}),` is the input budget; `,_jsx(_components.code,{children:`destination_amount`}),` is the net output.\nDo not subtract the returned fees from `,_jsx(_components.code,{children:`destination_amount`}),` again.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns HTTP `,_jsx(_components.code,{children:`200`}),` with a quote object, without a `,_jsx(_components.code,{children:`data`}),` wrapper.\nThis onramp example assumes a rate of 1,500 NGN per USD, a 100 NGN deposit fee\nand a 0.1 USDC payout fee. These values are illustrative; use your response’s\ncurrent rate, fees and expiry.`]}),`\n`,`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`source_currency`}),`, `,_jsx(_components.code,{children:`source_amount`})]}),_jsx(_components.td,{children:`Normalized input currency and total source budget.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`destination_currency`}),`, `,_jsx(_components.code,{children:`destination_amount`})]}),_jsx(_components.td,{children:`Output currency and net customer payout after the included fees.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`chain`})}),_jsx(_components.td,{children:`Crypto network used for this preview.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`side`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`BUY`}),` for NGN to crypto; `,_jsx(_components.code,{children:`SELL`}),` for crypto to NGN. Selected automatically.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rate`})}),_jsx(_components.td,{children:`Effective merchant FX rate as a decimal string. Includes the FX spread.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rate_unit`})}),_jsxs(_components.td,{children:[`Always `,_jsx(_components.code,{children:`NGN_PER_USD`}),`, for either token and direction.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rate_id`})}),_jsx(_components.td,{children:`Merchant-owned rate snapshot ID. Use only where the funding-account contract accepts it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fees`})}),_jsxs(_components.td,{children:[`Itemized fee objects with `,_jsx(_components.code,{children:`type`}),`, decimal-string `,_jsx(_components.code,{children:`amount`}),` and `,_jsx(_components.code,{children:`currency`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`is_estimate`})}),_jsxs(_components.td,{children:[`Always `,_jsx(_components.code,{children:`true`}),`. The quote does not lock the final payout.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`expires_at`})}),_jsx(_components.td,{children:`Rate expiry in RFC 3339 format.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Amounts are decimal strings: NGN uses two decimal places and crypto/USD uses six.\nThe rate uses eight decimal places.`}),`\n`,_jsx(Heading,{level:`3`,id:`rates-and-fee-currencies`,children:`Rates and fee currencies`}),`\n`,_jsxs(_components.p,{children:[`The preview uses `,_jsx(_components.strong,{children:`NGN/USD BUY`}),` for onramp and `,_jsx(_components.strong,{children:`USD/NGN SELL`}),` for offramp,\nmatching funding settlement without a locked rate. USDC and USDT follow the\nexisting USD settlement accounting. A token-specific rate from `,_jsx(_components.code,{children:`GET /v1/rates`}),`\ncan differ from the USD rate used here.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Fee type`}),_jsx(_components.th,{children:`Currency`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DEPOSIT`})}),_jsx(_components.td,{children:`NGN`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CRYPTO_PAYOUT`})}),_jsx(_components.td,{children:`Destination token, USDC or USDT`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`BANK_PAYOUT`})}),_jsx(_components.td,{children:`NGN`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DEVELOPER`})}),_jsx(_components.td,{children:`USD`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Do not sum fees with different currencies. The FX spread is already included\nin `,_jsx(_components.code,{children:`rate`}),`. Sender bank fees and wallet gas paid outside Daya are excluded.\nThe final NGN bank payout must be at least NGN 100.`]}),`\n`,_jsx(Heading,{level:`2`,id:`use-the-preview-in-a-payment-flow`,children:`Use the preview in a payment flow`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Request a preview for the intended source amount, currencies, chain and developer fee.`}),`\n`,_jsxs(_components.li,{children:[`Show `,_jsx(_components.code,{children:`destination_amount`}),`, the fee breakdown and rate expiry to the customer.`]}),`\n`,_jsxs(_components.li,{children:[`Create the `,_jsx(_components.a,{href:`/api-reference/funding-accounts/create-funding-account`,children:`funding account`}),`\nusing the existing transaction contract. For temporary flows that accept a\nrate ID, pass the returned `,_jsx(_components.code,{children:`rate_id`}),` in `,_jsx(_components.code,{children:`settlement_destination.rate_id`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Follow the funding-account response for the exact amount and payment deadline.\nTrack the actual result through `,_jsx(_components.a,{href:`/api-reference/deposits/list-deposits`,children:`deposits`}),`\nand `,_jsx(_components.a,{href:`/api-reference/webhooks/events`,children:`deposit webhooks`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Permanent funding accounts reject `,_jsx(_components.code,{children:`rate_id`}),` and use the current USD-pair rate\nat settlement. A temporary rate lock does not freeze all fees or guarantee\nsettlement. Refresh the preview when inputs change or the rate expires.`]}),`\n`,_jsxs(_components.p,{children:[`The endpoint does not accept `,_jsx(_components.code,{children:`rate_id`}),` or `,_jsx(_components.code,{children:`quote_id`}),`, calculate a source amount\nfrom a desired destination amount, or preview internal merchant/customer balance\nsettlement. Use it for NGN-to-wallet and crypto-to-NGN-bank payout previews.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Invalid JSON, unknown fields, unsupported pair/network, invalid amount or developer fee, or an amount outside settlement limits. Includes amounts too small after fees.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Missing or invalid API key.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:`Inactive merchant or insufficient API-key permissions.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`503`})}),_jsx(_components.td,{children:`Pricing is paused, unavailable or expired, or the quote fee configuration is invalid.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:`A pricing dependency or fee schedule could not be loaded.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Errors use the standard `,_jsx(_components.code,{children:`error`}),` envelope. No partial quote is returned.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related endpoints`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/rates/get-rates`,children:`Retrieve exchange rates`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/fees/get-fees`,children:`Get the fee schedule`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/funding-accounts/create-funding-account`,children:`Create a funding account`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Preview an onramp or offramp payout","api":"POST https://api.daya.co/v1/quotes","description":"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment","href":"/api-reference/quotes/create-quote"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,ParamField,ResponseExample,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Preview the amount a customer receives after Daya fees and an optional developer fee.\nSupports `,_jsx(_components.strong,{children:`NGN → USDC/USDT`}),` and `,_jsx(_components.strong,{children:`USDC/USDT → NGN`}),` on supported networks.\nThe request does not create a funding account, initiate a payout, reserve funds or move money.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The result is an estimate (`,_jsx(_components.code,{children:`is_estimate: true`}),`), not a guaranteed payout.\n`,_jsx(_components.code,{children:`expires_at`}),` is the rate expiry. Fee changes can invalidate the preview earlier.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(ParamField,{header:`X-API-Key`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your merchant API key. Scoped API keys require `,_jsx(_components.code,{children:`business:read`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.code,{children:`Content-Type: application/json`}),`. Keep API keys on your server.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request body`}),`\n`,_jsx(ParamField,{body:`source_currency`,type:`string`,required:true,id:`param-source-currency`,children:_jsxs(_components.p,{children:[`Currency the customer sends: `,_jsx(_components.code,{children:`NGN`}),`, `,_jsx(_components.code,{children:`USDC`}),` or `,_jsx(_components.code,{children:`USDT`}),`.`]})}),`\n`,_jsx(ParamField,{body:`destination_currency`,type:`string`,required:true,id:`param-destination-currency`,children:_jsxs(_components.p,{children:[`Currency the customer receives: `,_jsx(_components.code,{children:`NGN`}),`, `,_jsx(_components.code,{children:`USDC`}),` or `,_jsx(_components.code,{children:`USDT`}),`.\nOne side must be NGN and the other must be USDC or USDT.`]})}),`\n`,_jsx(ParamField,{body:`source_amount`,type:`string`,required:true,id:`param-source-amount`,children:_jsx(_components.p,{children:`Total amount received by Daya, including applicable fees. Send a positive\ndecimal string with at most two decimal places for NGN or six for crypto.\nJSON numbers and exponent notation are not accepted.`})}),`\n`,_jsx(ParamField,{body:`chain`,type:`string`,required:true,id:`param-chain`,children:_jsxs(_components.p,{children:[`The destination crypto network for onramp or the source crypto network for\nofframp. Use the asset/network combinations available in your environment:\n`,_jsx(_components.a,{href:`/api-reference/supported-chains/list-supported-chains`,children:`supported chains`}),`.`]})}),`\n`,_jsx(ParamField,{body:`developer_fee`,type:`object`,id:`param-developer-fee`,children:_jsxs(_components.p,{children:[`Optional object with a `,_jsx(_components.code,{children:`percentage`}),` decimal string from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`50`}),`, with up\nto four decimal places. For example, `,_jsx(_components.code,{children:`{\"percentage\": \"1.5\"}`}),` means 1.5%.\nOmission means zero. Send the same percentage you will use for the funding\naccount; the preview does not read an existing account’s fee configuration.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`request-examples`,children:`Request examples`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Onramp: NGN to USDC`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://api.daya.co/v1/quotes`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'X-API-Key: YOUR_API_KEY'`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"source_currency\": \"NGN\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"destination_currency\": \"USDC\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"source_amount\": \"150000.00\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"chain\": \"BASE\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Offramp: USDT to NGN`,numberOfLines:`11`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://api.daya.co/v1/quotes`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'X-API-Key: YOUR_API_KEY'`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"source_currency\": \"USDT\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"destination_currency\": \"NGN\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"source_amount\": \"100.000000\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"chain\": \"TRON\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"developer_fee\": { \"percentage\": \"1.5\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`source_amount`}),` is the input budget; `,_jsx(_components.code,{children:`destination_amount`}),` is the net output.\nDo not subtract the returned fees from `,_jsx(_components.code,{children:`destination_amount`}),` again.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns HTTP `,_jsx(_components.code,{children:`200`}),` with a quote object, without a `,_jsx(_components.code,{children:`data`}),` wrapper.\nThis onramp example assumes a rate of 1,500 NGN per USD, a 100 NGN deposit fee\nand a 0.1 USDC payout fee. These values are illustrative; use your response’s\ncurrent rate, fees and expiry.`]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`200 OK`,numberOfLines:`17`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"source_currency\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"NGN\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"destination_currency\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"USDC\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"source_amount\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"150000.00\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"destination_amount\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"99.833333\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"chain\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"BASE\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"side\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"BUY\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"rate\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"1500.00000000\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"rate_unit\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"NGN_PER_USD\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"rate_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"550e8400-e29b-41d4-a716-446655440000\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"fees\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"DEPOSIT\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"amount\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"100.00\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"currency\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"NGN\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"CRYPTO_PAYOUT\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"amount\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"0.100000\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"currency\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"USDC\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"is_estimate\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"expires_at\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-27T12:05:00Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`source_currency`}),`, `,_jsx(_components.code,{children:`source_amount`})]}),_jsx(_components.td,{children:`Normalized input currency and total source budget.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`destination_currency`}),`, `,_jsx(_components.code,{children:`destination_amount`})]}),_jsx(_components.td,{children:`Output currency and net customer payout after the included fees.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`chain`})}),_jsx(_components.td,{children:`Crypto network used for this preview.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`side`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`BUY`}),` for NGN to crypto; `,_jsx(_components.code,{children:`SELL`}),` for crypto to NGN. Selected automatically.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rate`})}),_jsx(_components.td,{children:`Effective merchant FX rate as a decimal string. Includes the FX spread.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rate_unit`})}),_jsxs(_components.td,{children:[`Always `,_jsx(_components.code,{children:`NGN_PER_USD`}),`, for either token and direction.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rate_id`})}),_jsx(_components.td,{children:`Merchant-owned rate snapshot ID. Use only where the funding-account contract accepts it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fees`})}),_jsxs(_components.td,{children:[`Itemized fee objects with `,_jsx(_components.code,{children:`type`}),`, decimal-string `,_jsx(_components.code,{children:`amount`}),` and `,_jsx(_components.code,{children:`currency`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`is_estimate`})}),_jsxs(_components.td,{children:[`Always `,_jsx(_components.code,{children:`true`}),`. The quote does not lock the final payout.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`expires_at`})}),_jsx(_components.td,{children:`Rate expiry in RFC 3339 format.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Amounts are decimal strings: NGN uses two decimal places and crypto/USD uses six.\nThe rate uses eight decimal places.`}),`\n`,_jsx(Heading,{level:`3`,id:`rates-and-fee-currencies`,children:`Rates and fee currencies`}),`\n`,_jsxs(_components.p,{children:[`The preview uses `,_jsx(_components.strong,{children:`NGN/USD BUY`}),` for onramp and `,_jsx(_components.strong,{children:`USD/NGN SELL`}),` for offramp,\nmatching funding settlement without a locked rate. USDC and USDT follow the\nexisting USD settlement accounting. A token-specific rate from `,_jsx(_components.code,{children:`GET /v1/rates`}),`\ncan differ from the USD rate used here.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Fee type`}),_jsx(_components.th,{children:`Currency`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DEPOSIT`})}),_jsx(_components.td,{children:`NGN`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`CRYPTO_PAYOUT`})}),_jsx(_components.td,{children:`Destination token, USDC or USDT`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`BANK_PAYOUT`})}),_jsx(_components.td,{children:`NGN`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DEVELOPER`})}),_jsx(_components.td,{children:`USD`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Do not sum fees with different currencies. The FX spread is already included\nin `,_jsx(_components.code,{children:`rate`}),`. Sender bank fees and wallet gas paid outside Daya are excluded.\nThe final NGN bank payout must be at least NGN 100.`]}),`\n`,_jsx(Heading,{level:`2`,id:`use-the-preview-in-a-payment-flow`,children:`Use the preview in a payment flow`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Request a preview for the intended source amount, currencies, chain and developer fee.`}),`\n`,_jsxs(_components.li,{children:[`Show `,_jsx(_components.code,{children:`destination_amount`}),`, the fee breakdown and rate expiry to the customer.`]}),`\n`,_jsxs(_components.li,{children:[`Create the `,_jsx(_components.a,{href:`/api-reference/funding-accounts/create-funding-account`,children:`funding account`}),`\nusing the existing transaction contract. For temporary flows that accept a\nrate ID, pass the returned `,_jsx(_components.code,{children:`rate_id`}),` in `,_jsx(_components.code,{children:`settlement_destination.rate_id`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Follow the funding-account response for the exact amount and payment deadline.\nTrack the actual result through `,_jsx(_components.a,{href:`/api-reference/deposits/list-deposits`,children:`deposits`}),`\nand `,_jsx(_components.a,{href:`/api-reference/webhooks/events`,children:`deposit webhooks`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Permanent funding accounts reject `,_jsx(_components.code,{children:`rate_id`}),` and use the current USD-pair rate\nat settlement. A temporary rate lock does not freeze all fees or guarantee\nsettlement. Refresh the preview when inputs change or the rate expires.`]}),`\n`,_jsxs(_components.p,{children:[`The endpoint does not accept `,_jsx(_components.code,{children:`rate_id`}),` or `,_jsx(_components.code,{children:`quote_id`}),`, calculate a source amount\nfrom a desired destination amount, or preview internal merchant/customer balance\nsettlement. Use it for NGN-to-wallet and crypto-to-NGN-bank payout previews.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Invalid JSON, unknown fields, unsupported pair/network, invalid amount or developer fee, or an amount outside settlement limits. Includes amounts too small after fees.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Missing or invalid API key.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:`Inactive merchant or insufficient API-key permissions.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`503`})}),_jsx(_components.td,{children:`Pricing is paused, unavailable or expired, or the quote fee configuration is invalid.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:`A pricing dependency or fee schedule could not be loaded.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Errors use the standard `,_jsx(_components.code,{children:`error`}),` envelope. No partial quote is returned.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related endpoints`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/rates/get-rates`,children:`Retrieve exchange rates`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/fees/get-fees`,children:`Get the fee schedule`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/api-reference/funding-accounts/create-funding-account`,children:`Create a funding account`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Preview an onramp or offramp payout","api":"POST https://api.daya.co/v1/quotes","description":"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment","href":"/api-reference/quotes/create-quote"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Request body","slug":"request-body","depth":2,"children":[]},{"title":"Request examples","slug":"request-examples","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[{"title":"Rates and fee currencies","slug":"rates-and-fee-currencies","depth":3,"children":[]}]},{"title":"Use the preview in a payment flow","slug":"use-the-preview-in-a-payment-flow","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]},{"title":"Related endpoints","slug":"related-endpoints","depth":2,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"200 OK","html":"\u003cpre class=\"shiki shiki-themes dark-plus dark-plus\" style=\"background-color:#0B0C0E;--shiki-dark-bg:#0B0C0E;color:#D4D4D4;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"17\">\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"source_currency\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"NGN\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"destination_currency\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"USDC\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"source_amount\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"150000.00\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"destination_amount\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"99.833333\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"chain\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"BASE\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"side\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"BUY\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"rate\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"1500.00000000\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"rate_unit\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"NGN_PER_USD\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"rate_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"550e8400-e29b-41d4-a716-446655440000\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"fees\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> { \u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"DEPOSIT\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">\"amount\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"100.00\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">\"currency\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"NGN\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> { \u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">\"type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"CRYPTO_PAYOUT\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">\"amount\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"0.100000\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">\"currency\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"USDC\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"is_estimate\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#569CD6;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"expires_at\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"2026-10-27T12:05:00Z\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Preview an onramp or offramp payout","path":"/v1/quotes","servers":[{"url":"https://api.daya.co"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{"X-API-Key":{"schema":[{"type":"string","description":"Your merchant API key. Scoped API keys require `business:read` .","required":true}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"source_currency":[{"type":"string","description":"Currency the customer sends: `NGN` , `USDC` or `USDT` .","required":true}],"destination_currency":[{"type":"string","description":"Currency the customer receives: `NGN` , `USDC` or `USDT` . One side must be NGN and the other must be USDC or USDT.","required":true}],"source_amount":[{"type":"string","description":"Total amount received by Daya, including applicable fees. Send a positive decimal string with at most two decimal places for NGN or six for crypto. JSON numbers and exponent notation are not accepted.","required":true}],"chain":[{"type":"string","description":"The destination crypto network for onramp or the source crypto network for offramp. Use the asset/network combinations available in your environment: supported chains .","required":true}],"developer_fee":[{"type":"object","properties":{},"description":"Optional object with a `percentage` decimal string from `0` to `50` , with up to four decimal places. For example, `{\"percentage\": \"1.5\"}` means 1.5%. Omission means zero. Send the same percentage you will use for the funding account; the preview does not read an existing account’s fee configuration."}]}}],"examples":{"example":{"value":{"source_currency":"\u003cstring>","destination_currency":"\u003cstring>","source_amount":"\u003cstring>","chain":"\u003cstring>","developer_fee":{}}}}}}},"response":{},"deprecated":false}},"jsLinks":[],"subdomain":"daya-6e3c29ae","siteName":"Daya API Documentation","title":"Preview an onramp or offramp payout - Daya API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T09:11:37.688Z","originalFileLocation":"api-reference/quotes/create-quote.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=\"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment\">\u003cmeta data-mint-head name=\"application-name\" content=\"Daya 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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Preview an onramp or offramp payout - Daya API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Daya API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.daya.co/api-reference/quotes/create-quote\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://daya-6e3c29ae.mintlify.app/_mintlify/api/og/v2?division=Rates+%26+Chains\u0026amp;title=Preview+an+onramp+or+offramp+payout\u0026amp;description=Calculate+the+net+NGN+or+stablecoin+payout+from+a+total+source+amount+before+starting+a+payment\u0026amp;theme=e7b2d5966d130aec67104003\u0026amp;signature=34cfd2b2a75ce8160b2dcbe5864d2c7d20d3f628cdf3e3e93cc903f536a8dbaa\">\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=\"Preview an onramp or offramp payout - Daya API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://daya-6e3c29ae.mintlify.app/_mintlify/api/og/v2?division=Rates+%26+Chains\u0026amp;title=Preview+an+onramp+or+offramp+payout\u0026amp;description=Calculate+the+net+NGN+or+stablecoin+payout+from+a+total+source+amount+before+starting+a+payment\u0026amp;theme=e7b2d5966d130aec67104003\u0026amp;signature=34cfd2b2a75ce8160b2dcbe5864d2c7d20d3f628cdf3e3e93cc903f536a8dbaa\">\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/daya-6e3c29ae/hBwdOWeaZWMpAg6b/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Daya API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#19447E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.daya.co/api-reference/quotes/create-quote\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/quotes/create-quote.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.daya.co/#organization\",\"name\":\"Daya API Documentation\",\"url\":\"https://docs.daya.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/daya-6e3c29ae/wR2HKevjeAjGMgtz/logo/light.svg?fit=max\u0026auto=format\u0026n=wR2HKevjeAjGMgtz\u0026q=85\u0026s=a31515692405f0feca0f4ff25a0cd5cb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.daya.co#website\",\"name\":\"Daya API Documentation\",\"url\":\"https://docs.daya.co\",\"publisher\":{\"@id\":\"https://docs.daya.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.daya.co/api-reference/quotes/create-quote#webpage\",\"url\":\"https://docs.daya.co/api-reference/quotes/create-quote\",\"name\":\"Preview an onramp or offramp payout\",\"description\":\"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment\",\"dateModified\":\"2026-10-27T09:11:37.688Z\",\"isPartOf\":{\"@id\":\"https://docs.daya.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.daya.co/api-reference/quotes/create-quote#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.daya.co/api-reference/quotes/create-quote#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rates \u0026 Chains\",\"item\":\"https://docs.daya.co/api-reference/fees/get-fees\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Preview an onramp or offramp payout\",\"item\":\"https://docs.daya.co/api-reference/quotes/create-quote\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.daya.co/api-reference/quotes/create-quote#apireference\",\"headline\":\"Preview an onramp or offramp payout\",\"name\":\"Preview an onramp or offramp payout\",\"description\":\"Calculate the net NGN or stablecoin payout from a total source amount before starting a payment\",\"url\":\"https://docs.daya.co/api-reference/quotes/create-quote\",\"mainEntityOfPage\":{\"@id\":\"https://docs.daya.co/api-reference/quotes/create-quote#webpage\"},\"dateModified\":\"2026-10-27T09:11:37.688Z\",\"publisher\":{\"@id\":\"https://docs.daya.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.daya.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Daya API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Daya API Documentation","nav":{"global":{},"tabs":[{"tab":"Daya API","groups":[{"group":"Getting Started","pages":[{"title":"Daya API","href":""},{"title":"Choose the right Daya API","href":"/choose-your-api"},{"title":"Quick Start","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Building with AI","href":"/building-with-ai"},{"title":"Partner Integration","href":"/partner-integration"}]},{"group":"Core Concepts","pages":[{"title":"Core Concepts","href":"/concepts/overview"},{"title":"Funding Accounts","href":"/concepts/funding-accounts"},{"title":"Bridges","href":"/concepts/bridges"},{"title":"Onramps","href":"/concepts/onramps"},{"title":null,"href":"/concepts/offramps"},{"title":"Transfers","href":"/concepts/transfers"},{"title":"Customer NGN Balances","href":"/concepts/customer-ngn-balances"},{"title":"USD and EUR Virtual Accounts","href":"/concepts/virtual-accounts"},{"title":"Merchant Withdrawals","href":"/concepts/withdrawals"},{"title":"Rates \u0026 Settlement","href":"/concepts/rates-and-settlement"},{"title":"Supported Chains","href":"/concepts/supported-chains"}]},{"group":"Guides","pages":[{"title":"Limits","href":"/limits/overview"},{"title":"Handling Amount Mismatch","href":"/limits/amount-mismatches"},{"title":"Sandbox testing","href":"/limits/sandbox-testing"}]},{"group":"Rates \u0026 Chains","pages":[{"title":"Get Fees","api":"GET https://api.daya.co/v1/fees","href":"/api-reference/fees/get-fees"},{"title":"Retrieve rates","api":"GET https://api.daya.co/v1/rates","description":"Get current exchange rates for NGN to USDC/USDT conversions","href":"/api-reference/rates/get-rates"},{"title":"Preview an onramp or offramp payout","api":"POST https://api.daya.co/v1/quotes","href":"/api-reference/quotes/create-quote"},{"title":"List supported chains","api":"GET https://api.daya.co/v1/supported-chains","description":"Return the currently supported settlement chains and their deposit or withdrawal availability","href":"/api-reference/supported-chains/list-supported-chains"}]},{"group":"Customers","pages":[{"title":"Create Customer","api":"POST https://api.daya.co/v1/customers","href":"/api-reference/customers/create-customer"},{"title":"List Customers","api":"GET https://api.daya.co/v1/customers","href":"/api-reference/customers/list-customers"},{"title":"Get Customer","api":"GET https://api.daya.co/v1/customers/{id}","href":"/api-reference/customers/get-customer"},{"title":"Get customer balances","api":"GET https://api.daya.co/v1/customers/{id}/balances","href":"/api-reference/customers/get-customer-balances"},{"title":"Update customer","api":"PATCH https://api.daya.co/v1/customers/{id}","href":"/api-reference/customers/update-customer"},{"title":"Submit Tier 1 verification","api":"POST https://api.daya.co/v1/customers/{id}/tier1-verification","href":"/api-reference/customers/submit-tier1-verification"},{"title":"Update Tier 1 bank account","api":"PATCH https://api.daya.co/v1/customers/{id}/tier1-verification","href":"/api-reference/customers/update-tier1-verification"},{"title":"Submit tier 2 verification","api":"POST https://api.daya.co/v1/customers/{id}/tier2-verification","href":"/api-reference/customers/submit-tier2-verification"}]},{"group":"Funding Accounts","pages":[{"title":"Create a funding account","api":"POST https://api.daya.co/v1/funding-accounts","playground":"none","href":"/api-reference/funding-accounts/create-funding-account"},{"title":"List funding accounts","api":"GET https://api.daya.co/v1/funding-accounts","href":"/api-reference/funding-accounts/list-funding-accounts"},{"title":"Get a funding account","api":"GET https://api.daya.co/v1/funding-accounts/{id}","href":"/api-reference/funding-accounts/get-funding-account"},{"title":"Disable a funding account","api":"POST https://api.daya.co/v1/funding-accounts/{id}/disable","href":"/api-reference/funding-accounts/disable-funding-account"},{"title":"Update funding account settlement destination","api":"PATCH https://api.daya.co/v1/funding-accounts/{id}/settlement-destination","playground":"none","href":"/api-reference/funding-accounts/update-settlement-destination"}]},{"group":"Bridges","pages":[{"title":"Create a bridge","api":"POST https://api.daya.co/v1/bridges","playground":"none","href":"/api-reference/bridges/create-bridge"},{"title":"List bridges","api":"GET https://api.daya.co/v1/bridges","href":"/api-reference/bridges/list-bridges"},{"title":"Get a bridge","api":"GET https://api.daya.co/v1/bridges/{id}","href":"/api-reference/bridges/get-bridge"},{"title":"List bridge deposits","api":"GET https://api.daya.co/v1/bridges/{id}/deposits","href":"/api-reference/bridges/list-bridge-deposits"}]},{"group":"Transfers","pages":[{"title":"Create transfer","api":"POST https://api.daya.co/v1/transfers","href":"/api-reference/transfers/create-transfer"},{"title":"List transfers","api":"GET https://api.daya.co/v1/transfers","href":"/api-reference/transfers/list-transfers"},{"title":"Get transfer","api":"GET https://api.daya.co/v1/transfers/{id}","href":"/api-reference/transfers/get-transfer"}]},{"group":"Deposits","pages":[{"title":"List all deposits","api":"GET https://api.daya.co/v1/deposits","href":"/api-reference/deposits/list-deposits"},{"title":"Retrieve a deposit","api":"GET https://api.daya.co/v1/deposits/{id}","href":"/api-reference/deposits/get-deposit"},{"title":"Create a sandbox deposit","api":"POST https://api.sandbox.daya.co/v1/sandbox/deposits","href":"/api-reference/sandbox/create-sandbox-deposit"}]},{"group":"Recipients","pages":[{"title":"Create recipient","api":"POST https://api.daya.co/v1/recipients","href":"/api-reference/recipients/create-recipient"},{"title":"List recipients","api":"GET https://api.daya.co/v1/recipients","href":"/api-reference/recipients/list-recipients"},{"title":"Get recipient","api":"GET https://api.daya.co/v1/recipients/{id}","href":"/api-reference/recipients/get-recipient"},{"title":"Delete recipient","api":"DELETE https://api.daya.co/v1/recipients/{id}","href":"/api-reference/recipients/delete-recipient"}]},{"group":"Banks","pages":[{"title":"List supported banks","api":"GET https://api.daya.co/v1/banks","href":"/api-reference/banks/list-banks"},{"title":"Resolve bank account","api":"POST https://api.daya.co/v1/banks/resolve","href":"/api-reference/banks/resolve-bank-account"}]},{"group":"USD and EUR Virtual Accounts","pages":[{"title":"Create virtual account","api":"POST https://api.daya.co/v1/virtual-accounts","href":"/api-reference/virtual-accounts/create-virtual-account"},{"title":"List virtual accounts","api":"GET https://api.daya.co/v1/virtual-accounts","href":"/api-reference/virtual-accounts/list-virtual-accounts"},{"title":"Get virtual account","api":"GET https://api.daya.co/v1/virtual-accounts/{id}","href":"/api-reference/virtual-accounts/get-virtual-account"},{"title":"List customer virtual accounts","api":"GET https://api.daya.co/v1/customers/{id}/virtual-accounts","href":"/api-reference/virtual-accounts/list-customer-virtual-accounts"}]},{"group":"Virtual Account Deposits","pages":[{"title":"List virtual account deposits","api":"GET https://api.daya.co/v1/virtual-account-deposits","href":"/api-reference/virtual-account-deposits/list-usd-account-deposits"},{"title":"Get virtual account deposit","api":"GET https://api.daya.co/v1/virtual-account-deposits/{id}","href":"/api-reference/virtual-account-deposits/get-usd-account-deposit"}]},{"group":"Merchant Balance","pages":[{"title":"Get merchant balance","api":"GET https://api.daya.co/v1/merchant/balance","href":"/api-reference/merchant-balance/get-merchant-balance"},{"title":"Transfer merchant balance","api":"POST https://api.daya.co/v1/merchant/balance/transfer","href":"/api-reference/merchant-balance/transfer-merchant-balance"},{"title":"List balance transfers","api":"GET https://api.daya.co/v1/merchant/balance/transfers","href":"/api-reference/merchant-balance/list-balance-transfers"},{"title":"Withdraw merchant balance","api":"POST https://api.daya.co/v1/merchant/withdrawals","href":"/api-reference/merchant-balance/withdraw-merchant-balance"},{"title":"List withdrawals","api":"GET https://api.daya.co/v1/merchant/withdrawals","href":"/api-reference/merchant-balance/list-withdrawals"},{"title":"Get withdrawal","api":"GET https://api.daya.co/v1/merchant/withdrawals/{id}","href":"/api-reference/merchant-balance/get-withdrawal"}]},{"group":"Merchant Funding","pages":[{"title":"Get merchant funding","api":"GET https://api.daya.co/v1/merchant/funding","href":"/api-reference/merchant-funding/get-merchant-funding"},{"title":"Update merchant NGN settlement destination","api":"PATCH https://api.daya.co/v1/merchant/funding/settlement-destination","href":"/api-reference/merchant-funding/update-ngn-settlement-destination"}]},{"group":"Webhooks","pages":[{"title":"Webhooks Overview","href":"/api-reference/webhooks/overview"},{"title":"Webhook Events","href":"/api-reference/webhooks/events"},{"title":"Webhook Verification","href":"/api-reference/webhooks/verification"}]},{"group":"Legacy API","pages":[{"group":"Guides","pages":[{"title":"Legacy Migration Guide","href":"/legacy/migration-guide"},{"title":"Legacy Webhooks","href":"/legacy/webhooks"}]},{"group":"Onramps","pages":[{"title":"Legacy: Create an onramp","api":"POST https://api.daya.co/v1/onramps","href":"/api-reference/onramp/create-onramp"},{"title":"Legacy: List onramps","api":"GET https://api.daya.co/v1/onramps","href":"/api-reference/onramp/list-onramps"},{"title":"Legacy: Retrieve an onramp","api":"GET https://api.daya.co/v1/onramps/{id}","href":"/api-reference/onramp/get-onramp"}]},{"group":"Offramps","pages":[{"title":"Legacy: Create an offramp","api":"POST https://api.daya.co/v1/offramps","href":"/api-reference/offramps/create-offramp"},{"title":"Legacy: List offramps","api":"GET https://api.daya.co/v1/offramps","href":"/api-reference/offramps/list-offramps"},{"title":"Legacy: Get offramp","api":"GET https://api.daya.co/v1/offramps/{id}","href":"/api-reference/offramps/get-offramp"}]},{"group":"Payouts","pages":[{"title":"Legacy: List payouts","api":"GET https://api.daya.co/v1/payouts","href":"/api-reference/payouts/list-payouts"},{"title":"Legacy: Get payout","api":"GET https://api.daya.co/v1/payouts/{id}","href":"/api-reference/payouts/get-payout"}]}]}]},{"tab":"Pro","pages":[{"title":"Pro","href":"/pro/overview"}]},{"tab":"Coins","pages":[{"title":"Coins","href":"/coins/overview"}]},{"tab":"Stocks","pages":[{"title":"Stocks","href":"/stocks/overview"}]}]},"title":"Preview an onramp or offramp payout - Daya API Documentation","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js"]}