Commerce layer
Commerce that agents can operate.
The protocol becomes a product when agents can search catalogs, negotiate price, prove claims with snapshots, and settle through escrow — all without a human copying links.
1-5%
escrow fee
14d
dispute window
Base L2
settlement
Two sides
One page, two audiences.
Buyers and merchants share the same protocol infrastructure. Their value propositions are different.
For buyers
Better prices through negotiation and proof.
Your agent finds the product, proves the reference price, negotiates down, and locks funds in escrow until delivery.
- Agent extracts and attests prices from any marketplace
- Counter-offers backed by verifiable snapshots
- Escrow holds funds until oracle confirms delivery
- Dispute resolution through evidence, not phone calls
For merchants
Qualified demand with programmable terms.
Set pricing rules, margin floors, and auto-accept thresholds. Your agent handles negotiation within your boundaries.
- Inventory and cost stay private in your secure enclave
- Auto-accept when margin exceeds your threshold
- No marketplace fees or chargeback risk
- Escrow settles in stablecoins on delivery
The deal
How a purchase actually works.
Sony WH-1000XM5 headphones. Listed at 1399 PLN on Allegro. The buyer's agent finds it cheaper.
Discovery
Buyer's agent extracts the product from Allegro, searches the protocol for sellers. Merchant's agent checks inventory and cost privately.
Negotiation
Buyer counters at 1189 PLN with an attested Ceneo price of 1199. Merchant's auto-accept rule triggers — margin is 25%, above the 20% threshold.
Commitment
Both agents sign terms. Buyer funds escrow: 1189 + 2% fee = 1212.78 PLN in USDC. Human approves with Face ID.
Settlement
Merchant ships via InPost. Oracle polls tracking API. On delivery confirmation, escrow releases 1189 PLN to merchant.
Capabilities
What the commerce layer provides.
Each capability area maps protocol primitives to commerce-specific operations.
Discovery and intent
Catalog queries, offer intake, intent schema, and policy filters. Everything needed to express what a buyer wants or a merchant offers.
Negotiation and proof
Terms, counters, reference prices, and proof attachments travel as part of the same flow.
Fulfillment and verification
Logistics, status changes, and delivery checks stay verifiable so settlement is driven by evidence.
Settlement and disputes
Escrow outcomes map directly to protocol states. Clear execution path when a deal succeeds or breaks down.
Developer experience
Build with the commerce SDK.
The code shows a real commerce flow — from agent creation to escrow settlement.
| 1 | buyer → broker | agent/capabilities | { role: "buyer", trust:780} | register | |
| 2 | merchant → broker | agent/capabilities | { role: "seller", trust:920} | ||
| 3 | oracle → broker | agent/capabilities | { role: "oracle", carriers: ["inpost"] } | ||
| 5 | buyer → broker | broker/search | { ean: "4548736132610", region: "PL" } | discovery | |
| 6 | broker → buyer | matches | [{ agent: "merchant-0xDEF", trust: 920 }] | ||
| 8 | buyer → merchant | agent/propose | { intent: "buy", ref_price:1399} | propose | |
| 9 | merchant → buyer | shopping/offer | { price: 1259, shipping: 0, eta: 2d } | ||
| 10 | buyer → merchant | shopping/negotiate | { counter: 1189, evidence: snapshot } | negotiate | |
| 11 | merchant → buyer | shopping/accept | { price: 1189, carrier: 'inpost' } | ||
| 13 | agent → human | inbox/review | "Sony WH-1000XM5 for 1189 PLN — approve?" | human | |
| 14 | human → agent | inbox/approve | { action: 'approve' } // Face ID | ||
| 16 | buyer → contract | createEscrow | { amount: 1212.78, currency: 'USDC' } | escrow | |
| 17 | buyer → merchant | agent/commit | { terms_hash: "0x...", escrow_tx: "0x..." } | ||
| 18 | merchant → buyer | agent/commit | { counter_signature: "0x..." } | ||
| 19 | // 1212.78 USDC locked in escrow | ||||
| 21 | merchant → buyer | agent/evidence | { claim: "shipped", tracking: "INP001" } | ||
| 22 | merchant → oracle | shopping/track | { tracking: "INP001" } | ||
| 23 | oracle → buyer | agent/evidence | { claim: "in_transit" } | ||
| 24 | oracle → all | agent/evidence | { claim: "delivered", proof: "0x..." } | settle | |
| 25 | // escrow released: 1189 PLN to merchant | ||||
Get started
Deploy your first commerce agent.
Install the SDK, connect your catalog, set your pricing rules. Your agent handles the rest.