Skip to main content

Learning objectives

  • Understand how prepaid virtual card funding works
  • Know what assets can be used to fund cards
  • Learn how to combine card registration, issuance, and funding into one clean flow
  • Handle common edge cases (errors, fees, FX behavior)

What does “funding a virtual card” mean?

Funding is the act of preloading money onto a virtual card. Since virtual cards are prepaid by design, they must be funded before use. Think of it like putting money into a secure digital envelope that only works on the internet. The money typically comes from:
  • A fiat wallet (NGN, GHS, ZAR, etc.)
  • A stablecoin balance (e.g. USDT)
  • A treasury float controlled by your platform

How funding works (conceptually)

Here’s the typical flow:

Supported funding assets

Bitnob doesn’t convert other assets during a top-up. To fund cards from BTC or NGN, convert to the stablecoin first with a trade.

Top-up rules and limits

These limits help control risk and fraud. They’re also adjustable based on business model.

Full flow: Create customer → issue → fund

Let’s now walk through the combined MVP flow:

Step 1: Create the customer

➡ Store the returned customer id. Complete card KYC for the customer before you issue a card.

Step 2: Create a card for the customer

A prepaid card needs initial funding of at least $2. The amount is in micro-units, so 10000000 is $10. ➡ You’ll receive the card record with status pending. Store its id securely, and wait for the virtualcard.created.completed webhook before you fund it again.

Step 3: Fund the card

100000000 is $100. ➡ The response confirms the funding request.

What to show the user

Common funding errors

Funding use cases

Best practices

Recap exercise

You’re building an app that gives each new user a $50 shopping card after KYC. Sketch out your backend flow in pseudocode or sequence:
  1. Create the customer
  2. Issue card
  3. Fund with $50 from marketing wallet
  4. Display card
  5. Listen to virtualcard.topup.completed webhook
This is your basic card distribution engine.

Key takeaways

  • Virtual cards must be funded before use, they’re not credit-based
  • Most systems support funding from crypto, fiat, or wallet balances
  • You can combine registration, issuance, and top-up into a smooth experience
  • Design your UI and backend to show status clearly, handle errors, and listen to webhooks