Skip to main content
The Agentcard wallet stores your users’ credit and debit cards, along with the Agentcards we issue, so their agents can use them securely. It’s a component you put in your product, and it runs every card flow itself. You don’t implement any of what’s on this page. You just get told about it through webhooks.

Adding a card

A user opens the wallet and puts in a card they already have. No identity verification, no balance. Three steps, and the wallet runs all of them.

1. The user consents

The first time, the wallet asks the user to authorize their agent to use the cards they add. One tap, recorded on our side.

2. The card is checked

The user enters the card and we run the ceremony with the card’s network. Almost any credit or debit card works; the known exception today is Chase, which doesn’t yet allow this kind of enrollment. When a card doesn’t qualify, the wallet explains it to the user and offers to use a different card, so you don’t have to handle it.

3. The card is in the wallet

The card is enrolled and the agent can use it. The moment that happens, you receive connected_card.updated.

Issuing Agentcards

The other way a card gets into the wallet is that we issue one. An Agentcard is a card we create for the user, backed by balance: single use or multi use, locked to a merchant, capped to an amount. It can never spend more than the balance behind it. Issuing takes three steps, and the wallet runs all of them.

1. The user verifies their identity

Identity verification only happens for issuing. It never happens for adding their own card. It runs right inside the wallet, without the user leaving the sheet: document capture, the face check, agreements. It takes about two minutes, any national ID works from any supported country, and there is no SSN requirement. When a user hits it mid-flow, the wallet picks up where they left off as soon as they’re approved. You see the outcome as a status, never the documents. Progress arrives as identity.verification.updated.

2. Balance goes in

Balance is the money behind Agentcards. Users add it inside the wallet, or your company keeps a shared balance and funds users from it. That choice is your funding model, and it locks at your first live transaction, so pick it before you launch. Money in shows up as wallet.funded (or user_wallet.funded when you fund a user from the company balance).

3. The Agentcard is issued

With identity verified and balance behind them, the user gets their Agentcard in the wallet. Each one arrives as card.created. If you want to issue cards from your own server instead, that’s an API product: see the API reference.

Paying

When an agent pays, the wallet handles approval: limits are checked, merchant locks are enforced, and purchases that need a human get an approval prompt. You see transaction.authorized when money moves, and approval.requested when a human is being asked.

What you build around it

Two things. A webhook endpoint, so your product knows what happened in the wallet. And the Purchase API, when you want agents to buy things end to end.

The whole loop, once

Your server creates a wallet link. Your product opens the wallet with it. The user adds their card. Your webhook endpoint receives connected_card.updated. That’s a complete integration, and it’s the exact loop the Quickstart walks through in sandbox. Next: Choose your platform