Cards
A Web3Card is a Visa card under your project's brand, issued by a partner institution and backed by an on-chain vault. Cards come in two forms and share the same lifecycle and API.
This page is part of the reference of the first version of the Web3Card API, kept here for reference. API v1 does not take new integrations: API v2 replaces it, and the platform today works as described in the rest of this manual.
Virtual cards
Virtual cards are created instantly through the API. Card credentials (PAN, expiry, CVV) are delivered to the cardholder through a secure element embedded in your app or site, so sensitive data never touches your servers and your PCI DSS scope stays minimal.
Virtual cards support Apple Pay and Google Pay provisioning out of the box.
Physical cards
Physical cards are produced with your program's artwork and shipped to cardholders worldwide. A physical card starts its life as an order (see Order physical cards), and must be activated by the cardholder before first use.
Card statuses
| Status | Meaning |
|---|---|
pending | Created, waiting for activation (physical) or provisioning (virtual) |
active | Ready to transact |
frozen | Temporarily blocked by the cardholder or your program |
lost | Reported lost; permanently blocked |
stolen | Reported stolen; permanently blocked |
voided | Virtual card cancelled |
Status transitions are available through the Cards API. frozen is reversible; lost, stolen, and voided are terminal, and a replacement card can be created against the same vault.
Spending controls
Each card has a daily spending limit enforced at authorization time. Limits can be read and changed through the API, with changes taking effect immediately:
GET /cards/{id}/limitsPUT /cards/{id}/limits
One card, one vault
Every card settles against its own individual multisig vault. This one-to-one relationship is what keeps programs non-custodial: freezing a card never locks the user's funds, and the user can withdraw from their vault at any time. See Vaults.