Overview
A funding account is the API resource that powers onramps and offramps. It gives a customer either an NGN virtual account or a crypto address, and lets you control where the money settles after it arrives. Funding accounts are scoped to one customer and one rail:| Rail | What the customer receives | Required fields |
|---|---|---|
NGN_VIRTUAL_ACCOUNT | Bank account details for NGN transfers | currency: NGN |
CRYPTO_ADDRESS | Stablecoin address on a supported chain | asset, chain |
What You Can Build
Use funding accounts to create the receive flow you need:| Flow | Funding account shape | Settlement |
|---|---|---|
| Temporary onramp | NGN_VIRTUAL_ACCOUNT + TEMPORARY | INTERNAL_BALANCE or ONCHAIN |
| Permanent onramp | NGN_VIRTUAL_ACCOUNT + PERMANENT | INTERNAL_BALANCE or ONCHAIN |
| Temporary offramp | CRYPTO_ADDRESS + TEMPORARY | NGN_PAYOUT |
| Permanent offramp | CRYPTO_ADDRESS + PERMANENT | INTERNAL_BALANCE or NGN_PAYOUT |
PERMANENT crypto funding account with settlement_destination.type: INTERNAL_BALANCE.
Reusable crypto address to Daya balance
instructions.
For NGN, instructions contains the bank account details:
asset identifies the stablecoin, chain identifies the network, and instructions contains the wallet address:
The product concepts are still onramps and offramps. New integrations create both with
/v1/funding-accounts. The Legacy API section lists older /v1/onramps and /v1/offramps routes for existing integrations.Account Types
| Type | Use case | Amount | Lifetime |
|---|---|---|---|
TEMPORARY | One-time payment details | Required integer amount for NGN virtual accounts | May expire |
PERMANENT | Reusable payment details | Not allowed | Reusable until disabled |
Settlement Destinations
Settlement destination controls where received funds are delivered after the funding account receives money.| Rail | Type | Supported destinations |
|---|---|---|
NGN_VIRTUAL_ACCOUNT | TEMPORARY | INTERNAL_BALANCE, ONCHAIN |
NGN_VIRTUAL_ACCOUNT | PERMANENT | INTERNAL_BALANCE, ONCHAIN |
CRYPTO_ADDRESS | TEMPORARY | NGN_PAYOUT |
CRYPTO_ADDRESS | PERMANENT | INTERNAL_BALANCE, NGN_PAYOUT |
NGN_PAYOUT, fetch supported banks with GET /v1/banks, verify the account with POST /v1/banks/resolve, then send the verified destination_bank.account_number and destination_bank.bank_code.
Lifecycle
Funding accounts move through these statuses:| Status | Meaning |
|---|---|
PENDING | Funding account setup is in progress |
ACTIVE | Payment details are ready and can be shown to the customer |
FAILED | Funding account setup failed |
DISABLED | Funding account and active payment details are disabled |
PATCH /v1/funding-accounts/{id}/settlement-destination. Rotation does not create new payment details.
Webhooks
Funding account setup emits:| Event | When sent |
|---|---|
funding_account.created | Funding account record is created in PENDING state |
funding_account.active | Payment details are ready |
funding_account.failed | Setup fails |
funding_account.disabled | An active funding account is disabled |
data object is the same public funding account response returned by the API.
Deposits from Funding Accounts
When money arrives through a funding account, Daya creates a deposit. Deposit API responses and deposit webhook payloads includefunding_account_id so you can connect the incoming money back to the funding account the customer paid into.
Funding-account instruction IDs stay internal. Your integration should store the public funding_account_id and the deposit id.
| Event | When sent |
|---|---|
deposit.received | Incoming funds are recorded |
deposit.processing | Settlement has started |
deposit.requires_review | The deposit needs review before it can continue |
deposit.completed | Funds reached the configured settlement destination |
deposit.failed | The deposit failed |
deposit.reversed | A completed deposit was reversed |
If settlement requires background delivery work, track the merchant-facing lifecycle with
deposit.* events. Funding-account settlement does not emit separate payout webhooks.Next Steps
Create Funding Account
Create NGN or crypto payment details.
Onramps
Collect NGN from customers.
Offramps
Collect stablecoins from customers.
Webhook Events
Track funding account and deposit state changes in real time.