Skip to main content

Overview

Temporary Merchant Balance onramps create short-lived NGN virtual accounts (25-minute TTL) that convert deposits at a guaranteed rate and credit your internal Daya balance instead of settling on-chain immediately. This model is ideal for aggregating deposits and withdrawing later in larger batches.

When to Use

Deposit Aggregation

Collect many small deposits before withdrawing

Lower Gas Costs

Reduce on-chain fees by batching withdrawals

Key Characteristics

PropertyValueMeaning
Lifetime25 minutesVirtual account expires after 25 minutes
FX rateLocked to rate_idFirm quote within validity window
ReuseNoVA is never reused
SettlementINTERNAL_BALANCEFunds are credited internally
On-chain txDeferredHappens only when you withdraw
AmountRequiredExpected deposit amount in NGN
The amount field is mandatory when creating temporary virtual accounts.
Settlement to merchant balance is immediate after FX execution. There is no on-chain confirmation delay.

Settlement Behavior

Converted USD is credited to your merchant balance immediately after FX execution.
  • No destination address required
  • No on-chain confirmation delay
  • Withdrawals are initiated separately
Use Get Merchant Balance to inspect available funds and Withdraw Merchant Balance when you are ready to send funds on-chain.
{
  "settlement": {
    "mode": "INTERNAL_BALANCE",
    "asset": "USDC"
  }
}

Deposit Lifecycle (High Level)

  1. User transfers NGN within the 25-minute window
  2. Deposit is received and FX is executed
  3. USD equivalent is credited to merchant balance
  4. Deposit reaches SETTLED state
There is no pending withdrawal phase for this onramp type.

Comparison with Auto-Withdraw

FeatureInternal BalanceOn-chain
Settlement modeINTERNAL_BALANCEONCHAIN
Settlement speed~1–2 minutes~2–5 minutes
On-chain txDeferredImmediate
Gas feesBatch-optimizedPer deposit
DestinationFlexible (later)Fixed at creation
Best forAggregationDirect payouts

Late Deposit Handling

Deposits are FLAGGED if they:
  • Arrive after the 25-minute onramp expiry
  • Arrive after the bound rate_id expires

Handling Underpayments and Overpayments

Temporary VAs require an exact expected amount. When customers send a different amount (under or over), Daya handles it automatically.
See the full guide: Handling Underpayments and OverpaymentsThis covers underpayments, overpayments, Fidelity Bank exceptions, and refund behavior in detail.

Limits

  • Per-deposit maximum: $1,000
  • Per-merchant daily limit: $10,000
See Limits & Risk.

Next Steps

Create Onramp API

API reference for onramp creation

Get Merchant Balance

Check the USD available for later withdrawals

Withdraw Merchant Balance

Send your balance to a supported on-chain address