Skip to main content

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
These rules are deterministic and depend on the onramp type.

Rates

A rate is a firm FX quote used to convert between NGN and stablecoins. Each rate includes:
  • A fixed exchange rate
  • A side (BUY or SELL)
  • A defined validity window (TTL)
  • A unique rate_id for binding to onramps or offramp payouts

Buy vs Sell Rates

SideUse Case
BUYMerchant is buying crypto (receiving NGN deposits, converting to stablecoin)
SELLMerchant 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:
PropertyMeaning
rate_idIdentifier used to bind an onramp or offramp payout
from / toSource and destination currencies
sideBUY or SELL
rateConversion rate
expires_atWhen the rate becomes invalid
Rates are immutable once published.

Rate Semantics by Onramp Type

How a rate is applied depends on the onramp.

Temporary Onramps (Firm Rates)

Temporary onramps are bound to a specific rate_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
Rates cannot be extended, reused, or retroactively applied.

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
Used for direct wallet payouts and real-time settlement.

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) and destination_bank on 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