Retrieve rates
Rates & Chains
Retrieve rates
Get current exchange rates for NGN to USDC/USDT conversions
GET
Retrieve rates
Overview
Request firm FX quotes with guaranteed exchange rates. Each rate has a ~30-minute validity window and is identified by a uniquerate_id.
Authentication
Your merchant API key
Query Parameters
Source currency. Currently only
NGN is supported.Allowed values: NGNDestination currency.Allowed values:
USDC, USDT, USDUSD is treated as equivalent to USDC/USDT in v0.1. Depeg scenarios are not handled.Rate side. Determines whether the quote is for buying or selling crypto.Allowed values:
BUY, SELLBUY— Merchant is buying crypto (NGN deposits → stablecoin). Use for NGN funding accounts that settle onchain.SELL— Merchant is selling crypto (stablecoin → NGN). Use for crypto funding accounts that settle to an NGN bank account.
Request Examples
Response
Unique identifier for this rate snapshot. Use this when creating funding accounts that need a quoted conversion.Example:
rate_8x7k2mq9pSource currencyExample:
NGNDestination currencyExample:
USDCRate side —
BUY or SELLExample: BUYConversion rate from source to destination (e.g., 1 USDC = X NGN)Example:
1545.50This rate already includes Daya’s spread/fee. You don’t need to calculate fees separately.
Inverse conversion rate (e.g., 1 NGN = X USDC)Example:
0.000647Fee in basis points (1 bps = 0.01%)Example:
50 (0.5%)Minimum NGN deposit amount for this rateExample:
1500.00 (~$1.00)Deposits below this amount will be rejected with status
FAILED.When this rate was generated (ISO 8601 timestamp)Example:
2026-01-14T15:05:00ZWhen this rate becomes invalid (ISO 8601 timestamp)Example:
2026-01-14T15:35:00ZSuccess Response
Error Responses
Rate Lifecycle
New rates are generated approximately every 10 minutes and expire after ~30 minutes.Usage Notes
Rate Guarantee
For temporary funding accounts with a quoted settlement destination, the rate is guaranteed for deposits within the validity window:- Funding account created with
rate_idat 15:10 - Rate expires at 15:35
- Deposit at 15:20 → Uses guaranteed rate ✅
- Deposit at 15:40 → Flagged (expired) ❌
Caching Rates
You can cache rates client-side but must respectexpires_at:
Checking Time Remaining
Calculate remaining validity time:Rate Calculation
The displayed rate includes Daya’s fee:- Market rate: 1550 NGN/USDC
- Fee: 50 bps (0.5%)
- Displayed rate: 1550 × (1 - 0.005) = 1545.50 NGN/USDC
Common Patterns
Get rate before funding account creation
Get rate before funding account creation
Recommended flow:
- Call
GET /v1/rates - Display rate to user
- User confirms
- Call
POST /v1/funding-accountswithrate_id
Handle rate unavailability
Handle rate unavailability
Rate Limits
- 100 requests per minute per API key
- No specific rate limit on this endpoint (non-mutating)
Next Steps
Create Funding Account
Use the rate_id to create a funding account
Rates Concept
Learn more about rate semantics