Overview
An onramp lets your customer pay Naira (NGN) into a Daya bank account. Daya records the incoming money as a deposit, then sends the value as stablecoins. New integrations create onramps with Funding Accounts. In the API, an onramp is a funding account with:| Field | Value |
|---|---|
rail | NGN_VIRTUAL_ACCOUNT |
currency | NGN |
type | TEMPORARY or PERMANENT |
The older
/v1/onramps routes still exist for existing integrations. New integrations should create onramps with /v1/funding-accounts.Customer
Every onramp belongs to a customer. Create the customer first withPOST /v1/customers, then pass customer.customer_id when creating the funding account.
Customers are scoped to your merchant account. The same customer can have more than one temporary onramp, but permanent onramps are reused when there is already a live one for that customer.
Temporary Onramps
Use a temporary onramp for one payment.| Behavior | Details |
|---|---|
| Purpose | One-off, time-sensitive payment |
| Amount | Required |
| Reuse | Never reused |
| Customer KYC | Not required |
| Expiry | Yes. Funds must arrive before the payment window closes |
| Settlement | INTERNAL_BALANCE or ONCHAIN |
| Rate | Required only when settlement is ONCHAIN |
ONCHAIN settlement, get a BUY rate first with GET /v1/rates?side=BUY. Pass the returned rate_id when creating the onramp. The rate must still be valid when the onramp is created.
After creation, display these values to the customer:
- Bank name
- Account number
- Account name
- Expected NGN amount
- Expiry time, when present
Temporary onramp to onchain settlement
Permanent Onramps
Use a permanent onramp when the same customer should keep the same NGN bank details for repeat payments.| Behavior | Details |
|---|---|
| Purpose | Long-lived customer deposit account |
| Amount | Do not send |
| Reuse | One live permanent NGN account per merchant and customer |
| Customer KYC | Tier 1 required |
| Expiry | No expiry while active |
| Settlement | INTERNAL_BALANCE or ONCHAIN |
| Rate | Applied when each deposit settles |
Permanent onramp to Daya balance
Rate Behavior
| Onramp type | FX behavior |
|---|---|
TEMPORARY | Rate is locked at creation when ONCHAIN settlement is used |
PERMANENT | Rate is selected when each deposit settles |
rate_id, the customer must pay during the valid payment window. Late deposits do not settle automatically.
Settlement
Choose where the NGN value goes after Daya receives the bank transfer.| Settlement destination | What happens | Required fields |
|---|---|---|
INTERNAL_BALANCE | Funds are credited to your Daya balance | None |
ONCHAIN | Funds are converted and sent to a stablecoin address | destination_asset, destination_chain, destination_address |
ONCHAIN, use Supported Chains to choose a supported network.
Track Deposits
Use/v1/deposits to reconcile money received through onramps. Deposit responses include funding_account_id, so you can connect the payment back to the account shown to the customer.
Listen for:
| Event | Meaning |
|---|---|
funding_account.active | NGN account details are ready |
deposit.received | Daya recorded the incoming NGN transfer |
deposit.processing | Settlement has started |
deposit.completed | Settlement reached its destination |
deposit.requires_review | The deposit needs review before continuing |
Limits
Funding account creation limits may apply to high-volume integrations. If you need a higher limit, contact Daya before launch.Next Steps
Create Funding Account
Create an onramp with an NGN virtual account.
Rates and Settlement
Understand BUY rates and settlement destinations.
Deposits
Reconcile money received through onramps.