ACE (Agent Commerce Exchange) — Open protocol for agent-native commerce: discovery, trust, and catalog for the agentic web. Payment-agnostic (x402, MPP, Stripe).
agent-commerce-protocol is an early-stage Go project in the AI payments / x402 ecosystem, focused on agent-commerce, agentic-commerce, ai-agents, commerce-protocol. It currently has 0 GitHub stars and 0 forks, and sits alongside related tools like inflow-node, inflow-cli, agent-payment-protocols, moltpe-agent-payments, dna-x402-builders, agoramesh.
Agent Commerce Exchange
The open protocol for agent-native commerce — discovery, trust, catalog, and payment-as-auth for the agentic web.
In the late 1990s, two competing visions of the internet existed: AOL's curated walled garden, and a set of open protocols — HTTP, DNS, HTML. AOL had better UX. Open protocols had no gatekeepers.
We know how that ended.
Today, the same fork is happening for agent commerce.
On one side: checkout inside ChatGPT, Gemini, and Copilot. Curated catalogs. Months of BD to get listed. Stringent approval processes. A walled garden with better UX.
On the other side: Open Agentic Commerce.
x402 and MPP solved the payment layer — agents can now pay for anything programmatically. But that's only one piece. The harder problem is everything else:
ACE is the answer to those questions.
ACE (Agent Commerce Exchange) is an open protocol that defines how autonomous buyer agents discover stores, browse catalogs, manage carts, place orders, and initiate payment — without a human in the loop.
It is not a payment protocol. It is the layer that sits above payment rails.
Agent
│
├─ Queries ACE Registry ──────────── "Find electronics stores in USD that support x402"
│
├─ Reads /.well-known/agent-commerce "What can this store do? What payment protocols?"
│
├─ Browses catalog GET /ace/v1/products?q=wireless+keyboard
│
├─ Creates cart + order POST /ace/v1/cart → POST /ace/v1/orders
│
├─ Pays via x402 or MPP POST /ace/v1/orders/{id}/pay
│
└─ Immutable audit trail Every action logged with correlation ID
Any agent. Any store. No whitelist. No BD process. Just an open standard.
┌────────────────────────────────────────────────────────────┐
│ OPEN SOURCE │
│ │
│ ┌─────────────────┐ ┌──────────────────────────────┐ │
│ │ ACE Protocol │ │ Reference Implementation │ │
│ │ Specification │ │ (Go — ace-server/) │ │
│ │ ace-spec/ │ │ │ │
│ └─────────────────┘ └──────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Registry (registry/) │ │
│ │ · Store registration + crawling │ │
│ │ · Agent search by category, country, currency, │ │
│ │ payment protocol │ │
│ │ · Health monitoring of ACE endpoints │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Trust Layer │ │
│ │ · Policy engine (ALLOW / DENY / APPROVAL) │ │
│ │ · Budget limits per agent │ │
│ │ · Human-in-the-loop approvals for sensitive actions │ │
│ │ · Immutable audit log with correlation IDs │ │
│ └──────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────┐
│ ANS Cloud (Premium) │
│ · Managed ACE hosting — no infrastructure needed │
│ · MCP Adapter — expose any ACE store to Claude/GPT │
│ · Verified registry with reputation scoring │
│ · Advanced ML-based anomaly detection │
│ · SLA guarantees │
└────────────────────────────────────────────────────────────┘
GET /.well-known/agent-commerceEvery ACE store exposes a machine-readable manifest. No scraping, no guessing.
{
"store_id": "store_abc123",
"name": "Acme Widget Store",
"version": "ace/0.1",
"ace_base_url": "https://acme-widgets.example.com/ace/v1",
"capabilities": ["catalog", "cart", "orders", "payments"],
"currencies": ["USD", "EUR"],
"payment_protocols": ["x402", "mpp"],
"auth": { "type": "api_key", "header": "X-ACE-Key" },
"payment_auth": {
"enabled": true,
"header": "X-ACE-Payment",
"providers": ["x402", "mpp", "mock"],
"default_currency": "USD"
},
"policies_public": {
"returns": "30-day returns on all items"
}
}
payment_auth tells agents they can pay per request without an API key. Just include X-ACE-Payment: provider:token in any request.
ACE supports the headless merchant model: agents can access any endpoint by paying per request, without accounts or API keys.
# No API key needed — just pay with the request
curl http://localhost:8081/ace/v1/products \
-H "X-ACE-Payment: mock:any_token"
# No auth at all? Get a 402 with pricing info
curl http://localhost:8081/ace/v1/products
# → HTTP 402 {"pricing": {"price": 0.00, "currency": "USD", "accepted_providers": ["mock"]}}
Every response includes pricing headers so agents always know the cost:
X-ACE-Price: 0.00
X-ACE-Currency: USD
Both modes work simultaneously — stores accept API keys (for established relationships) and payment tokens (for anonymous, per-request access). The store declares what it supports in .well-known/agent-commerce.
GET /.well-known/agent-commerce # Discover store
GET /ace/v1/products?q=keyboard # Browse catalog
POST /ace/v1/cart # Create cart
POST /ace/v1/cart/{id}/items # Add items
POST /ace/v1/shipping/quote # Get shipping options
POST /ace/v1/orders # Place order
POST /ace/v1/orders/{id}/pay # Initiate payment (x402 | mpp | stripe)
GET /ace/v1/orders/{id}/pay/status # Poll payment status
ACE does not define how payment works — it defines how a store declares what it supports and returns the right challenge for each protocol:
| Protocol | Who | Model | ACE response |
|---|---|---|---|
| x402 | Coinbase | Stateless, per-request, on-chain | { "type": "x402", "payment_url": "...", "amount": 1500 } |
| mpp | Tempo + Stripe | Stateful session, micropayment streaming | { "type": "mpp", "session_endpoint": "...", "amount": 1500 } |
| stripe | Stripe | Legacy fiat | { "type": "stripe", "client_secret": "..." } |
| mercadopago | MercadoPago | Legacy LATAM | { "type": "mercadopago", "init_point": "..." } |
Sensitive actions require explicit policy configuration. Defaults are safe.
{
"action": "order.refund",
"effect": "approval",
"reason": "Refunds over $50 require human approval"
}
Every action is logged immutably:
{
"id": "audit_789",
"actor": "agent_buyer_42",
"actor_type": "agent",
"action": "order.create",
"resource": "order_456def",
"correlation_id": "req_abc123",
"timestamp": "2026-03-21T14:35:00Z"
}
Full installation guide → GETTING_STARTED.md Covers: local setup, curl walkthrough, connecting Claude/GPT as a buyer agent, deploying your own store.
git clone https://github.com/nicoroldan1/agent-commerce-protocol
cd agent-commerce-protocol
# Start the ACE reference server (in-memory, no DB required)
cd ace-server && go run ./cmd/ace-server
# In another terminal, start the registry
cd registry && go run ./cmd/registry
Server running at http://localhost:8080. Registry at http://localhost:8081.
cd agent-buyer
go run ./cmd/buyer \
--registry http://localhost:8081 \
--query "wireless keyboard" \
--budget 200
The demo agent will:
/.well-known/agent-commercecurl -X POST http://localhost:8081/registry/v1/stores \
-H "Content-Type: application/json" \
-d '{
"name": "My Store",
"url": "https://my-store.example.com",
"categories": ["electronics"],
"country": "US"
}'
agent-commerce-protocol/
│
├── ace-spec/ # Protocol specification (Markdown)
│ └── README.md # Full ACE v0.1 spec
│
├── ace-server/ # Reference ACE store implementation (Go)
│ ├── cmd/ace-server/ # Entry point
│ └── internal/
│ ├── handlers/ # Buyer API + Admin API handlers
│ ├── middleware/ # Auth (dual mode: API key + payment-as-auth)
│ ├── payment/ # Payment validator interface + mock provider
│ ├── policy/ # Trust layer / policy engine
│ ├── audit/ # Immutable audit logger
│ └── store/ # In-memory data store
│
├── registry/ # Store discovery service (Go)
│ ├── cmd/registry/ # Entry point
│ └── internal/
│ ├── handlers/ # Registry API + Search + Sync handlers
│ ├── search/ # Elasticsearch product search engine
│ ├── auth/ # Registry token generation + validation
│ ├── healthcheck/ # ACE endpoint health monitoring
│ └── store/ # In-memory registry store + token storage
│
├── agent-buyer/ # Demo buyer agent (Go)
│ ├── cmd/buyer/ # Entry point
│ └── internal/client/ # ACE + Registry HTTP clients
│
├── shared/ # Common types (Go module)
│ └── ace/types.go
│
├── mcp-buyer/ # MCP server for buyer agents (TypeScript)
│ └── src/ # 13 MCP tools: discovery, catalog, purchase
│
├── mcp-seller/ # MCP server for store owners (TypeScript)
│ └── src/ # 23 MCP tools: catalog, orders, policies, security, registry
│
├── ace-connect/ # Platform connectors (TypeScript)
│ └── src/ # Shopify adapter + embedded ACE server
│
└── go.work # Go workspace
ACE is not competing with payment protocols — it sits above them.
| ACE | x402 | MPP | AgentCash | ChatGPT Checkout | |
|---|---|---|---|---|---|
| Store discovery | ✅ | ❌ | ❌ | ⚠️ basic | ❌ curated only |
| Product search | ✅ | ❌ | ❌ | ❌ | ✅ |
| Catalog browsing | ✅ | ❌ | ❌ | ❌ | ✅ |
| Cart + orders | ✅ | ❌ | ❌ | ❌ | ✅ |
| Payment-as-auth | ✅ | ✅ | ✅ | ⚠️ | ❌ |
| Per-request pricing | ✅ | ✅ | ✅ | ❌ | ❌ |
| Trust + policies | ✅ | ❌ | ❌ | ❌ | ⚠️ |
| Audit trail | ✅ | ❌ | ❌ | ❌ | ❌ |
| Open protocol | ✅ | ✅ | ✅ | ❌ | ❌ |
| Permissionless | ✅ | ✅ | ✅ | ⚠️ | ❌ |
ace-buyer-mcp for npx usagenpx ace-connect shopify --shop mystore.myshopify.com --token shp_xxxACE is an open protocol. Contributions to the spec, reference implementation, and adapters are welcome.
git checkout -b feat/your-featurenet/http, no heavy frameworks)For protocol changes (new endpoints, breaking changes), open an issue first to discuss the design.
Apache 2.0 — see LICENSE.
ACE is the open commerce protocol for the agentic web. Not a walled garden. Not a curated catalog. An open standard — like HTTP, but for agents buying things.
Official TypeScript/Node.js SDKs for the InFlow payments platform - x402 and MPP (Machine Payments Protocol) integration for sellers and buyers.
A wallet for your agents to onboard and pay. Agentic MPP / x402 payments from your machine - CLI + MCP server.
A neutral landscape analysis of AI agent payment protocols (x402, MPP, L402, Google AP2, Visa TAP + ICC, Mastercard Agent Pay, Amex ACE, Google/Shopify UCP, OpenAI ACP, and others). Maintained by Genesis Software Group, Copenhagen. Updated April 2026. CC BY 4.0.
Payment infrastructure for AI agents. Reference implementation: x402 + MPP + fiat.
Build paid APIs, agents, tools & data feeds on the DNA x402 hosted rail. Templates, Degen Mode, no backend custody. Public Beta.
"Machines must run." — Open-source protocol & trust layer for AI agent commerce. Discover, verify, transact — no middlemen.
Your AI trading terminal assistant for US stocks, commodities, forex, and crypto.
Golang SDK for A2A Protocol
Publishes localhost services to the agentic web through self-hostable, trustless relays with x402 payments.
Building blocks for Agentic payments (x402, MPP, AP2) for TypeScript, Rust, Go, Python, Ruby, PHP, Lua, Kotlin and Swift.
Building blocks for Agentic payments (x402, MPP, AP2) for TypeScript, Rust, Go, Python, Ruby, PHP, Lua, Kotlin and Swift.
Go implementation of the x402 payment protocol