Card Funding

What Is Card Funding?

Card funding is the process of loading USD value onto a virtual Visa card created through Bitnob.

Since the cards are prepaid , they must be funded before the cardholder can spend.

Bitnob allows you to fund cards using your available balance , which can be made up of:

Stablecoins (e.g.USDT TRC20, ERC20, or USDC)

Bitcoin (BTC)

We handle FX conversion behind the scenes to settle USD to the card.

Funding Architecture

Funding Architecture Flow

✅ You don’t need to hold USD directly.

✅ Bitnob handles the exchange and top-up logic atomically.

When Can You Fund a Card?

You can fund a card:

Immediately after creation (as part of onboarding),

Just before a transaction (e.g. one-time funding flow),

Periodically (e.g. daily limits),

On demand (user-triggered top-up from app/dashboard).

Funding Constraints

ConstraintDescription
Maximum Card BalanceDefined per partner account (e.g. $10,000/card)
Min FundingMinimum top-up per request (e.g. $1)
FX ToleranceFunding will fail if source asset value changes too much between quote and execution
Available Wallet BalanceYou cannot fund more than what you hold in your Bitnob wallet
Settlement DelayFunds are added immediately once Bitnob confirms internal swap/liquidity (usually sub-second)

API Endpoint

Request Body
JSON Request Body
Parameters
FieldTypeRequiredDescription
cardIdStringUnique ID of the card you want to fund
amountNumberUSD amount to fund (e.g. 50 = $50)
sourceAssetStringAsset you're funding with (e.g. USDT_TRC20, BTC, NGN)
Example Response
JSON Response

USD value is added to the card’s available spend balance instantly.

Webhook: card.funded

Whenever a card is successfully funded, Bitnob sends:

Webhook Payload

Error Scenarios

ScenarioHTTP CodeSolution
Insufficient Wallet Balance400Top up your Bitnob wallet before funding
Card is Frozen or Terminated403Cannot fund non-active card
Source Asset Unsupported400Only specific stablecoins, fiat, or BTC allowed
Exchange Rate Expired409Retry funding (rate too old or volatility too high)

Best Practices

TipWhy It Helps
Always confirm card status is "active" before fundingPrevents rejections
Log exchange rate usedHelps with reconciliation and FX audit
Track webhook confirmationDon't assume success from HTTP 200 alone
Allow user-triggered top-up flowsMakes cards more usable in consumer apps
Use wallet balance viewer (GET /wallets/:id) before fundingPrevents avoidable failures

Funding Strategy Patterns

PatternDescription
On-demandApp triggers top-up when user clicks “Top Up Card”
Auto-fundFund card automatically when user's balance hits threshold
Per-eventLoad card right before transaction (e.g. payroll payout → card fund)
RecurringSchedule top-ups for monthly allowances, spend programs, etc.

FAQ

Can I top up a card multiple times?

Expand

Can users fund their own cards directly?

Expand

What if the FX rate changes during funding?

Expand

Can I get funding failure webhooks?

Expand
Did you find this page useful?