> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Cards

> Save a user's card once, then issue as many scoped, revocable agent cards from it as your agents need

<Frame type="simple">
  <img src="https://mintcdn.com/crossmint/JZTN1lu8hkPiJvpV/images/agents/virtual-cards-for-agents-light.png?fit=max&auto=format&n=JZTN1lu8hkPiJvpV&q=85&s=0e104aaead1e6d36da7bf7b232fe4265" className="block dark:hidden" alt="Save a real card once, Crossmint tokenizes it, and you create virtual cards with their own limits for your agents" width="1672" height="941" data-path="images/agents/virtual-cards-for-agents-light.png" />

  <img src="https://mintcdn.com/crossmint/JZTN1lu8hkPiJvpV/images/agents/virtual-cards-for-agents-dark.png?fit=max&auto=format&n=JZTN1lu8hkPiJvpV&q=85&s=84c0a2575fdade1e8261f0c1363948f1" className="hidden dark:block" alt="Save a real card once, Crossmint tokenizes it, and you create virtual cards with their own limits for your agents" width="1691" height="930" data-path="images/agents/virtual-cards-for-agents-dark.png" />
</Frame>

Your user saves their real card once. From that card, you create as many **scoped authorizations** as your agents need, each with its own limit, purpose, and expiration. Crossmint calls these order intents. From an order intent, the agent mints a credential on whichever rail the purchase needs, and pays without ever seeing the real card number.

For the problem this solves and how it compares to other approaches, read [How Agents Pay](/agents/how-agents-pay).

## Key Features

<CardGroup cols={3}>
  <Card title="Save once, authorize many" icon="layer-group" iconType="duotone" color="#1D258E">
    One saved card backs any number of scoped agent cards
  </Card>

  <Card title="Scoped by design" icon="sliders" iconType="duotone" color="#36B37E">
    Every agent card has an amount, a purpose, an expiration, and optionally a merchant
  </Card>

  <Card title="Enforced by the network" icon="shield-check" iconType="duotone" color="#D3A10F">
    Visa Intelligent Commerce and Mastercard Agent Pay hold the limit, not your code
  </Card>

  <Card title="Real card never exposed" icon="eye-slash" iconType="duotone" color="#24ABD0">
    Agents receive one-time or encrypted credentials from a PCI-compliant vault
  </Card>

  <Card title="Multiple rails" icon="route" iconType="duotone" color="#D31D52">
    Network tokens, encrypted card, and protocol credentials such as SPT from the same authorization
  </Card>

  <Card title="Revocable" icon="ban" iconType="duotone" color="#A24EC9">
    The user cancels an agent card or deletes the saved card at any time
  </Card>
</CardGroup>

## How It Works

<Steps>
  <Step title="The user saves a card once">
    Your app renders a Crossmint-hosted secure iframe. The card goes straight into Crossmint's PCI-compliant vault and never touches your servers.
  </Step>

  <Step title="You create scoped agent cards from it">
    Each agent card is an order intent: an allowance with an amount, description, expiration, and optionally a merchant. Create one per agent, per task, or per purchase. The user approves it with a passkey or a network-hosted step, and can cancel it at any time.
  </Step>

  <Step title="The agent pays on the right rail">
    From an approved agent card, the agent mints the credential the purchase needs: a one-time card number bounded by the allowance, an encrypted card for cards outside the network programs, or a protocol credential. A network-issued credential is bounded to the allowance, expires, and is revoked with the agent card. The encrypted card is the saved card itself, so keep the purchase within the allowance and cancel the agent card when it is no longer needed.
  </Step>
</Steps>

## Rails

One agent card can mint credentials on several rails. Pick the rail the purchase needs; the rest stay unused.

| Rail                      | What the agent receives                                                                   | Limit enforced by       |
| ------------------------- | ----------------------------------------------------------------------------------------- | ----------------------- |
| Visa Intelligent Commerce | One-time card number or network token bounded by the allowance                            | Visa                    |
| Mastercard Agent Pay      | One-time card number or network token bounded by the allowance                            | Mastercard              |
| Encrypted card            | The saved card encrypted to a key only the agent holds, when no network rail is available | Your allowance handling |
| SPT                       | A protocol-specific credential for merchants and services that accept it                  | The protocol            |

Depending on the rail, the credential is delivered as a one-time card number, a network token, or a protocol-specific format such as MPP.

## Get Started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" color="#E6DB63" href="/agents/cards-quickstart">
    Run the reference app: sign in, save a card, authorize an agent card, and mint a credential
  </Card>

  <Card title="Try the live demo" icon="rocket" iconType="duotone" color="#ADD8E6" href="https://card-permissions-quickstart.vercel.app/" target="_blank" rel="noopener">
    See the full flow without setting anything up locally
  </Card>
</CardGroup>

## Guides

<CardGroup cols={3}>
  <Card title="Save a Card" icon="credit-card" href="/agents/payment-methods/cards/save-card">
    Collect a user's card in a PCI-compliant iframe
  </Card>

  <Card title="Register a Card" icon="list-check" href="/agents/payment-methods/cards/register-card">
    Discover the rails a saved card supports
  </Card>

  <Card title="Create an Agent Card" icon="file-signature" href="/agents/payment-methods/cards/create-agent-card">
    Create and authorize a scoped order intent
  </Card>

  <Card title="Retrieve Secure Card Numbers" icon="key" href="/agents/payment-methods/cards/retrieve-agent-card">
    Mint a credential from an approved agent card
  </Card>

  <Card title="Customize UI" icon="palette" href="/agents/payment-methods/cards/customize-verification-ui">
    Style the approval modal to match your brand
  </Card>

  <Card title="Cancel Card Access" icon="ban" href="/agents/payment-methods/cards/remove-cards">
    Cancel an agent card or delete a saved card
  </Card>
</CardGroup>

## API Reference

<CardGroup cols={2}>
  <Card title="Payment Methods" icon="brackets-curly" href="/api-reference/agentic-commerce/payment-methods/create-payment-method">
    Create, list, and delete saved cards
  </Card>

  <Card title="Order Intents" icon="brackets-curly" href="/api-reference/agentic-commerce/order-intents/create-order-intent">
    Create, mint credentials from, and revoke agent cards
  </Card>
</CardGroup>

## FAQs

<AccordionGroup>
  <Accordion title="Does the agent ever see the user's real card number?">
    No. The agent receives a one-time card-network credential minted for a specific amount, or, when no network rail is available, a copy of the saved card encrypted to a key the agent controls. The real card stays in Crossmint's PCI-compliant vault.
  </Accordion>

  <Accordion title="Do your users keep their rewards, refunds, and chargeback rights?">
    Yes. Every purchase runs on the user's own card, so the card's normal protections apply. Nothing is prefunded and no new account is opened.
  </Accordion>

  <Accordion title="What happens when a card supports neither Visa Intelligent Commerce nor Mastercard Agent Pay?">
    The agent card includes an encrypted-card rail. Minting from it returns the saved card encrypted to a public key you supply, so the agent can still pay while the card details stay out of transit logs. In production this rail is available only for projects with encrypted card access enabled.
  </Accordion>

  <Accordion title="Can an Agent Card pay inside an Agent Checkout?">
    Yes. [Agent Checkouts](/agents/checkouts/overview) accepts any method the merchant supports, and a Crossmint Agent Card is the recommended one. See [Choose a Payment Method](/agents/payment-flows/agent-checkouts-payment-method).
  </Accordion>
</AccordionGroup>
