Agentic Commerce Protocol (ACP) is an open standard by OpenAI that defines a full commerce journey for AI agents: discovery, product feeds, cart, checkout, payment, and order lifecycle. Prism plugs in as a payment handler (Documentation Index
Fetch the complete documentation index at: https://developers.fd.xyz/llms.txt
Use this file to discover all available pages before exploring further.
xyz.fd.prism_payment), settling payments on-chain with stablecoins for any ACP-compatible merchant.
How Prism Fits Into ACP
ACP supports multiple payment handlers per merchant (cards via Stripe, wallets, etc.). Prism contributes one:xyz.fd.prism_payment, which uses x402 under the hood. Unlike ACP’s card-based handlers, Prism requires no delegate payment step and no PCI compliance.
Prism does three things:
- Handler definition — Prism returns a complete, ready-to-use handler object for your checkout session responses. Chains, tokens, and settlement addresses are managed in the Prism Console.
- Payment requirements — At checkout, Prism returns x402 payment requirements with the correct token amounts and contract addresses already resolved. When the x402 spec evolves, Prism generates the new format.
- Settlement — The merchant forwards the agent’s signed credential to Prism. Prism verifies it, executes the on-chain transfer, and returns the transaction hash.
The Payment Flow
Merchant Integration
Prerequisites
- A District Pass account
- A Prism API key from the Prism Console
- An ACP-compatible commerce server exposing
/.well-known/acp.json,/checkout_sessions,/product_feed, and order endpoints
Step 1: Advertise at Checkout
When an agent creates a checkout session (POST /checkout_sessions), your server calls Prism to get the x402 payment requirements for the order and includes the handler in the session response:
capabilities.payment.handlers[] in your checkout session response:
accepts depend on what you have enabled in your Prism Console:
| Token | Decimals | Example for $19.99 |
|---|---|---|
| USDC | 6 | "19990000" |
| FDUSD | 18 | "19990000000000000000" |
When the checkout total changes (e.g., after adding a shipping address or applying a discount), call Prism again with the new amount. The
config.accepts amounts must always reflect the current session total.Step 2: Settle via Prism
When the agent completes checkout (POST /checkout_sessions/{id}/complete), extract paymentPayload and paymentRequirements from the credential and forward them to Prism:
confirmation_number and a block explorer link as receipt_url.
Agent Integration
Agents purchasing from ACP merchants via this handler need an x402-capable wallet. The agent extractsconfig from the handler in the checkout session response and passes it directly to the wallet for signing. No delegate payment call is needed.
See the Agent guide for the full flow.