Skip to main content
The Vault holds a user’s own cards, encrypted on their device with a passkey. Three resources make it up:
  • A vault session is a single-use link you send the user. They open it, type their card, and save it with Face ID. When it links you get their user_id.
  • A checkout authorization is a paused payment. Your browser (or the SDK) captured the request the merchant’s page sent to its payment processor with a placeholder card; you post it here, the user approves on their phone, and their device pays with the real card.
  • A checkout preparation lets the user approve before your browser starts a short-lived card request. The SDK applies that approval to one fresh request on Square, Braintree, Worldpay, Bambora or Mercado Pago.
Every call takes a platform access token. An API key is refused with 400 client_credentials_required.

The vault session object

The vault card object

Display fields only. Never a card number or anything that could decrypt one.

The checkout authorization object

Approve before Pay

Ask for approval before starting the merchant’s card request. A preparation carries the same displayed amount and merchant fields as an authorization, plus:

Endpoints

Webhooks: vault.session_linked, vault.card_stored, checkout_authorization.approved, checkout_authorization.submitted, checkout_authorization.declined, checkout_authorization.expired, checkout_authorization.amount_mismatch. The @agent-cards/checkout SDK wraps the authorization and preparation calls for Playwright and CDP browsers. See Creating a cart.