Skip to main content
Agent Checkouts lets your agent buy from any merchant with a single API. Start a run from any URL, optionally describe what to buy in natural language, and set a spending cap. 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.
Agent Checkouts runs in production only. There is no staging environment, so use a production API key and live auth credentials.

Key Features

Any merchant

Any starting URL, with or without a purchase API or protocol support

Any payment method

Crossmint Agent Cards, other agent cards, cards on file, Apple Pay, Google Pay, PayPal, Shop Pay, and more

Right rail per merchant

Agentic commerce protocols where supported, an optimized browser everywhere else

Hard spending cap

The checkout never spends above the cap you set

Live browser view

Embed the session so your user watches the purchase happen

Ask only when needed

Prefill identity, shipping, and intent; the agent asks the user only for what is missing

How It Works

1

Start a run

Send any starting URL and the maximum the checkout may spend. Add an optional task when the URL alone does not identify the product, variant, quantity, or other purchase preferences.
2

Follow and steer the agent

Poll the run for its next required action, and read or stream its messages for the complete conversation. Your app can answer forms, authorize a secure card credential, provide a protected password, or send a text message to steer the agent at any time.
3

Read the result

The run ends with a receipt, a safe blocked outcome, or a clear failure reason. Cancel at any point before completion.

Get Started

Quickstart

Start a run, handle each input type, steer the agent, and read the result

Try the live demo

See the full flow without setting anything up locally

Guides

Provide Purchase Context

Prefill identity, shipping, and intent with buyer profiles and the request

Set the Browser Location

Request the country where the checkout browser appears to be located

Choose a Payment Method

Supported methods, and how to pass a card safely

Improve Merchant Success Rate

Tell the agent what you already know about a merchant’s checkout

Buy from Authenticated Stores

Check out inside the user’s merchant account and reuse the login

API Reference

Agent Checkouts

Create, read, respond to, and cancel checkouts

Buyer Profiles

Reusable name, contact, and shipping details

Browser Profiles

Saved merchant logins for later checkouts

FAQs

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.
Poll the run to read its current status and requiredAction. Read or stream /messages when your UI needs the complete conversation, progress, activity, input requests, or result. The quickstart walks through both views.
No. When the run asks for payment, create an order intent for the same buyer and amount, then send only its orderIntentId in an input response. Raw card details never belong in the run request or message history. See Choose a Payment Method.
It moves to awaiting_input whenever it needs information or authorization. Form requests use a JSON Schema, payment requests take an order intent ID, and protected requests take a protected input ID. Protected requests currently support merchant passwords. You can pre-answer many ordinary questions with a buyer profile and task.
Yes. Send a text part to /messages at any time before the run finishes. Use it to change preferences, answer a conversational question, or redirect the agent without starting over.
Yes. A browser profile keeps the browser state from a login so later checkouts start signed in, with access to saved addresses, payment methods, and member pricing.
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 shows both header sets.