Card Issuance
What Is Card Issuance?
Card issuance is the process of creating a new virtual Visa card via Bitnob’s API. You can create cards on-demand for:
Individual users (wallets, platforms, loyalty programs)
Internal teams (corporate spend, operational budgets)
Temporary use cases (marketing campaigns, influencer spend)
Programmatic flows (auto-issue card when user receives a payout or tops up)
Bitnob works with licensed issuing banks and Visa card program managers to make the card available instantly. You interact with Bitnob — we handle the infrastructure behind the scenes.
When Should You Issue a Card?
scenario | strategy |
|---|---|
End-user wants to shop online | Issue a general-purpose card linked to their Bitnob wallet |
Subscription use case | Issue a persistent card, allow recurring transactions |
Business spend | Issue per-employee or per-department with spend limits |
One-time purchase | Create disposable cards and auto-terminate after use |
Auto payout → spend flow | Issue card at payout time, preload it, and send it to user |
Non-technical users | Create cards from dashboard (coming soon) |
Supported Card Type
property | value |
|---|---|
Card Scheme | Visa |
Card Type | Virtual (no plastic) |
Currency | USD |
Spend Scope | Online-only (CNP: card-not-present) |
Issuance Time | Instant |
3DS Support | Not currently enabled (coming soon) |
Pre-requisites
requirement | description |
|---|---|
API Key | Use your Bitnob production or sandbox API key |
Funding Source | You must have a wallet or balance from which cards can be funded |
KYC | You are responsible for verifying your end users before creating cards on their behalf |
Bitnob enforces platform-level KYC. Additional cardholder KYC may be required based on volume, spend limits, or regulatory scope.
API Endpoint
Request Body
Parameters
field | type | required | description |
|---|---|---|---|
userReference | String | Yes | Unique ID of the user in your system tied to this card |
label | String | Yes | Human-readable name (for dashboard or reporting) |
initialLimit | Number | Yes | USD max spend for the card (can be topped up later) |
callbackUrl | String | Yes | Webhook listener to receive card event updates |
Example Response
🔒 Full card details (PAN, expiry, CVV) are only returned once, and must be stored on your side or shown securely to the user immediately.
Webhook: card.created
After a card is successfully created, Bitnob will send a webhook to your callback URL.
Always verify webhook signature and use the webhook as the source of truth for downstream actions (e.g., showing card in UI).
Best Practices
tip | why |
|---|---|
Always label your cards | Makes dashboards and ops audits easier |
Store card metadata securely | You will not receive PAN and CVV again |
Assign cards to userReference IDs | Enables transaction mapping and user visibility |
Handle webhook verification | Prevents spoofed or replayed events |
Build a freeze button in your UI | Users want control if something goes wrong |
FAQ
Yes. You can create as many cards per user as your use case requires.
Cards are created instantly via our regulated partners.
Yes, until you freeze, terminate, or the card expires.
You will create a second card. To avoid this, use idempotency or track active cards in your system.