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 | ✅ | Unique ID of the user in your system tied to this card |
label | String | ✅ | Human-readable name (for dashboard or reporting) |
initialLimit | Number | ✅ | USD max spend for the card (can be topped up later) |
callbackUrl | String | ✅ | 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
Can I issue multiple cards per user?

How long does card creation take?

Are the cards reusable?

What happens if I call create again with the same userReference?
