Overview
Rates and settlement define how value moves through the Daya API:- Rates determine how much stablecoin a deposit converts into
- Settlement determines where the converted funds are delivered
Rates
A rate is a firm FX quote used to convert between NGN and stablecoins. Each rate includes:- A fixed exchange rate
- A side (
BUYorSELL) - A defined validity window (TTL)
- A unique
rate_idfor binding to onramps or offramp payouts
Buy vs Sell Rates
| Side | Use Case |
|---|---|
BUY | Merchant is buying crypto (receiving NGN deposits, converting to stablecoin) |
SELL | Merchant is selling crypto (sending payouts, converting stablecoin to NGN) |
New rates are generated approximately every 10 minutes and expire about 30 minutes after creation.
Rate Properties (Conceptual)
Each rate defines the following attributes:| Property | Meaning |
|---|---|
rate_id | Identifier used to bind an onramp or offramp payout |
from / to | Source and destination currencies |
side | BUY or SELL |
rate | Conversion rate |
expires_at | When the rate becomes invalid |
Rate Semantics by Onramp Type
How a rate is applied depends on the onramp.Temporary Onramps (Firm Rates)
Temporary onramps are bound to a specificrate_id at creation.
- Deposits received within the validity window execute at the bound rate
- Deposits received after expiry do not settle automatically
- No slippage occurs within the validity window
This provides price certainty for time-sensitive or one-time transactions.
Permanent Onramps (Floating Rates)
Permanent onramps are not bound to a specific rate.- Each deposit uses the current rate at the time of execution
- Rates may differ between deposits on the same onramp
- Subject to market movement and spread
This is best suited for recurring or long-lived deposit flows.
Rate Expiry Behavior
If a deposit arrives after a bound rate expires:- The deposit is FLAGGED
- No FX or settlement occurs automatically
- Manual review is required
Settlement
Settlement defines where converted stablecoins are sent after FX conversion. Settlement behavior is fixed at onramp creation.Settlement Modes
On-chain (ONCHAIN)
Converted stablecoins are sent to a blockchain address. Available for both temporary and permanent onramps.
- Settlement occurs after FX conversion
- Subject to risk checks
- Finalized once the on-chain transaction confirms
Internal balance (INTERNAL_BALANCE)
Converted funds are credited to the merchant’s Daya balance. Available for temporary onramps and offramps.
- No immediate on-chain transaction
- Funds can be withdrawn later
- Useful for aggregation and batch withdrawals
NGN Payout (NGN_PAYOUT)
For offramp deposits — converted funds are paid out as NGN to a Nigerian bank account.
- Requires a
rate_id(SELL rate) anddestination_bankon the offramp - Settlement occurs after crypto deposit is confirmed and FX conversion is executed
Guarantees & Invariants
Daya enforces the following guarantees:- FX conversion and settlement are atomic
- Partial execution is not possible
- Rates are firm for temporary onramps
- Settlement behavior is immutable per temporary onramp (permanent onramps can update settlement)
What Rates and Settlement Do Not Guarantee
- Rates do not guarantee settlement if deposits arrive late
- Settlement does not occur if deposits are flagged or failed
- Permanent onramps do not guarantee a fixed price
Next Steps
Onramps
See how rates and settlement are configured
Deposits
Understand the deposit lifecycle
Rates API
View the API reference