> ## 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 Checkouts

> One API to buy from any merchant URL, with any payment method the merchant accepts, under a spending cap you set

Agent Checkouts lets your agent buy from any merchant with a single API. Hand it a product URL, a natural-language request, and a spending cap, and Crossmint completes the purchase on your user's behalf and returns the receipt.

Behind that API, Crossmint picks the right rail for each merchant: an agentic commerce protocol where the merchant supports one, and an optimized browser session everywhere else. You integrate once and get every merchant. For the problem this solves and how it compares to building it yourself, read [How Agents Buy](/agents/how-agents-buy).

<Note>Agent Checkouts runs in production only. There is no staging environment, so use a production API key and live auth credentials.</Note>

## Key Features

<CardGroup cols={3}>
  <Card title="Any merchant" icon="store" iconType="duotone" color="#24ABD0">
    Any product URL, with or without a purchase API or protocol support
  </Card>

  <Card title="Any payment method" icon="money-bill-transfer" iconType="duotone" color="#D31D52">
    Crossmint Agent Cards, other agent cards, cards on file, Apple Pay, Google Pay, PayPal, Shop Pay, and more
  </Card>

  <Card title="Right rail per merchant" icon="route" iconType="duotone" color="#36B37E">
    Agentic commerce protocols where supported, an optimized browser everywhere else
  </Card>

  <Card title="Hard spending cap" icon="gauge-high" iconType="duotone" color="#D3A10F">
    The checkout never spends above the cap you set
  </Card>

  <Card title="Live browser view" icon="eye" iconType="duotone" color="#1D258E">
    Embed the session so your user watches the purchase happen
  </Card>

  <Card title="Ask only when needed" icon="comments-question" iconType="duotone" color="#A24EC9">
    Prefill identity, shipping, and intent; the agent asks the user only for what is missing
  </Card>
</CardGroup>

## How It Works

<Steps>
  <Step title="Point the agent at a product">
    Send a product URL, what to buy in plain language, and the maximum the checkout may spend. Attach a saved buyer profile so the agent already knows who is buying and where to ship.
  </Step>

  <Step title="Crossmint completes the checkout">
    Crossmint picks the rail for that merchant and works through the purchase. If the merchant needs something you did not provide, such as a size or the payment card, the agent raises a question your app answers mid-run.
  </Step>

  <Step title="You receive the receipt">
    The checkout ends with a receipt carrying the total and the merchant order id, or a clear failure reason. Cancel at any point before completion.
  </Step>
</Steps>

## Get Started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" color="#E6DB63" href="/agents/agent-checkouts-quickstart">
    Save a buyer profile, create a checkout, answer each action, and read the receipt
  </Card>

  <Card title="Try the live demo" icon="rocket" iconType="duotone" color="#ADD8E6" href="https://agent-checkouts.demos-crossmint.com" target="_blank" rel="noopener">
    See the full flow without setting anything up locally
  </Card>
</CardGroup>

## Guides

<CardGroup cols={2}>
  <Card title="Provide Purchase Context" icon="address-card" href="/agents/payment-flows/agent-checkouts-buyer-context">
    Prefill identity, shipping, and intent with buyer profiles and the request
  </Card>

  <Card title="Choose a Payment Method" icon="credit-card" href="/agents/payment-flows/agent-checkouts-payment-method">
    Supported methods, and how to pass a card safely
  </Card>

  <Card title="Improve Merchant Success Rate" icon="compass" href="/agents/payment-flows/agent-checkouts-merchant-prompt">
    Tell the agent what you already know about a merchant's checkout
  </Card>

  <Card title="Buy from Authenticated Stores" icon="user-lock" href="/agents/payment-flows/agent-checkouts-browser-profiles">
    Check out inside the user's merchant account and reuse the login
  </Card>
</CardGroup>

## API Reference

<CardGroup cols={3}>
  <Card title="Agent Checkouts" icon="brackets-curly" href="/api-reference/agent-checkouts/create-agent-checkout">
    Create, read, respond to, and cancel checkouts
  </Card>

  <Card title="Buyer Profiles" icon="brackets-curly" href="/api-reference/agent-checkouts/create-buyer-profile">
    Reusable name, contact, and shipping details
  </Card>

  <Card title="Browser Profiles" icon="brackets-curly" href="/api-reference/agent-checkouts/create-browser-profile">
    Saved merchant logins for later checkouts
  </Card>
</CardGroup>

## FAQs

<AccordionGroup>
  <Accordion title="Which payment methods can a checkout use?">
    Any method the merchant accepts: a Crossmint Agent Card, an agent card from another provider such as Ramp or Link, a card already saved in the user's account at the merchant, Apple Pay, Google Pay, PayPal, or a local method such as Shop Pay, bank transfer, or Bizum. See [Choose a Payment Method](/agents/payment-flows/agent-checkouts-payment-method).
  </Accordion>

  <Accordion title="How does my app follow the checkout?">
    You poll the checkout until it reaches a terminal state, and answer each pending user action along the way. Each action carries a JSON Schema you can render as a form. The [quickstart](/agents/agent-checkouts-quickstart) walks through the full lifecycle.
  </Accordion>

  <Accordion title="Can I pass card details when I create the checkout?">
    No. Card details are always collected through a user action when the checkout reaches the payment step. Submit only an agent card or a single-use virtual card number, never a real, reusable card number.
  </Accordion>

  <Accordion title="Does the checkout stop to ask the user questions?">
    By default it raises a user action for every decision the merchant's checkout involves. You can pre-answer most of them with a [buyer profile and request](/agents/payment-flows/agent-checkouts-buyer-context). Card details are the one thing you cannot pre-supply.
  </Accordion>

  <Accordion title="Can the agent buy inside the user's account at a merchant?">
    Yes. A [browser profile](/agents/payment-flows/agent-checkouts-browser-profiles) keeps the browser state from a login so later checkouts start signed in, with access to saved addresses, payment methods, and member pricing.
  </Accordion>

  <Accordion title="Can I call the API from the browser?">
    Yes. Every endpoint accepts a server-side key, or a client-side key plus the signed-in user's JWT from your auth provider. The [quickstart](/agents/agent-checkouts-quickstart#server-side-or-client-side) compares the two.
  </Accordion>
</AccordionGroup>
