Skip to main content

Vaults

The vault is the heart of Web3Card's non-custodial design. Every card is backed by its own multisig smart-contract vault, deployed on the cardholder's chosen chain.

API v1 · Legacy

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.

How a vault works​

  • Individual. One vault per card. Funds are never pooled with other users or with the program operator.
  • Owned by the user. The cardholder's wallet is the vault owner. The Web3Card settlement operator is a co-signer authorized exclusively to execute settlements for card payments the user made.
  • Transparent. The vault is a contract on a public chain. Every settlement is a verifiable on-chain transaction.

What the vault holds​

The vault holds the card's spendable balance in the program's settlement currency, plus optionally your project token when token top-ups are enabled (see Chains & Tokens).

Settlement​

When a cardholder pays with the card, the payment is authorized in real time against the vault balance. Settlement then moves the authorized amount from the vault through the settlement operator to the issuing bank as a standard Visa settlement. The full path is described in the transaction lifecycle.

Withdrawals​

The cardholder can withdraw from their vault at any time by signing a withdrawal with their owner wallet:

  • POST /vaults/{id}/withdrawals: prepare the withdrawal transaction data
  • The user signs and submits it with their own wallet

Withdrawal availability is only reduced by amounts already authorized but not yet settled.

Spending limits on-chain​

Daily card limits are mirrored by the vault contract, giving a defense-in-depth guarantee: even a compromised authorization path cannot settle more than the on-chain limit allows.

Vault API​

Deployment, configuration, balance, and withdrawal endpoints are documented in the Vaults API reference.