Funding Accounts
Create a funding account
Create a way for a customer to send NGN or crypto into Daya
Overview
Create a funding account for an existing customer. The response includes the public funding account object and the payment details the customer can use once setup succeeds.customer.customer_id is required. This endpoint does not create customers inline.Authentication
Your merchant API key
Unique idempotency key for request deduplication
Request Body
Funding account type. Allowed values:
TEMPORARY, PERMANENT.Receive rail. Allowed values:
NGN_VIRTUAL_ACCOUNT, CRYPTO_ADDRESS.Existing customer details. Include
customer_id. For permanent NGN virtual accounts, the customer must have completed Tier 1 KYC.Required for
NGN_VIRTUAL_ACCOUNT. Must be NGN.Required for
CRYPTO_ADDRESS. Supported values: USDC, USDT.Required for
CRYPTO_ADDRESS.Required for temporary NGN virtual accounts. Accepted only for
TEMPORARY accounts.Optional fee that your merchant account keeps from each deposit received through this funding account. Omit to use
0%.settlement_destination
settlement_destination is a nested object. Do not send dotted keys such as settlement_destination.type.
Allowed settlement destination types
Do not send
NGN_PAYOUT for NGN_VIRTUAL_ACCOUNT funding accounts, and do not send ONCHAIN for CRYPTO_ADDRESS funding accounts.
destination_bank
Before sending
destination_bank, fetch supported banks with GET /v1/banks, then verify the account with POST /v1/banks/resolve. Use the verified bank_code and account_number in the funding account request. Do not send account_name; Daya returns the resolved account name in the funding account response.
Settlement Destination Shapes
Internal balance
For temporary funding accounts,
rate_id is required and the rate is locked for the temporary account’s validity window. For permanent funding accounts, omit rate_id; the rate is applied when each deposit is processed.NGN virtual account to onchain settlement
Crypto address to NGN payout settlement
NGN_PAYOUT, destination_bank has a fixed request shape: account_number and bank_code. Get the supported bank first, resolve the account, then send the verified details.
Request Examples
Response
Returns afunding_account object. For NGN funding accounts, the bank account the customer should pay into is returned in instructions.
NGN funding account response
asset identifies the stablecoin the address should receive, chain identifies the network, and instructions contains the wallet address.