Developers, TrustPixel
Developers · exchange API v2Product / 04

Seven calls from sandbox key to signed evidence.

The full reference lives in the documentation. This page is the shape of the API: the objects, the sequence, the error classes, and what the sandbox will let you rehearse.

Quickstart
{{ langNote }}
1 · issue a mandate for the principal
2 · discover supply within that mandate
3 · read normalized offers and eligibility
4 · record a decision, receive a hold
5 · execute the transaction with a payment path
6 · subscribe to state webhooks
7 · fetch the signed evidence bundle
{{ langFile }}sandbox
{{ langCode }}
Core resources
Transaction model · Intent → Mandate → Discovery → Decision → Transaction → Fulfillment → Proof
POST /v2/mandates mandate Issue delegated authority: scope, cap, rules, expiry. Returns a signed mandate.
DELETE /v2/mandates/:id mandate Revoke or narrow authority. Propagates to calls in flight in under a second.
POST /v2/discovery offer[] Query connected supply within a mandate. Returns normalized offers with eligibility and freshness.
GET /v2/offers/:id offer Re-read an offer with its binding total, component breakdown, and change policy.
POST /v2/decisions decision Record the agent's selection and rationale. Returns a time-bounded hold.
POST /v2/transactions transaction Execute against the supplier with a payment path. Idempotent by key.
PATCH /v2/transactions/:id transaction Amend, cancel, or refund within the same mandate. Re-checked on every call.
GET /v2/transactions/:id/evidence evidence Fetch the signed bundle: mandate, offer snapshot, policy decision, payment, confirmation.
Error classes

Failures your agent can act on

inventory_goneretry_safe · re-source
price_changedre-quote · re-check cap
supplier_timeoutretry_safe · idempotent
policy_violationreasons returned · no retry
mandate_revokedhalt · escalate to human
payment_declinedalternate path · release hold
Events and limits

State you do not have to poll for

transaction.confirmed      supplier accepted
transaction.amended        change applied
transaction.cancelled      by agent or supplier
payment.captured           funds taken
payment.refunded           partial or full
fulfillment.updated        supplier operational state
mandate.revoked            authority withdrawn
evidence.available         bundle signed and ready
Deliveryat-least-once · signed · 24h replay
Discovery rate limit120 req/min · burst 300
Transaction rate limit30 req/min per mandate
Versioningdated releases · 12-month support
Protocols
MCP servertools scoped to mandate
UCP commerce profilesoffer · mandate · proof
OpenAPI 3.1 speccodegen supported
Webhook signaturesed25519
Sandbox scenarios
Forced price change between offer and execution
Inventory claimed mid-transaction
Supplier timeout with duplicate-execution risk
Mandate revoked mid-flight
Partial refund and re-amendment
18 scenarios total · deterministic replay by seed
Get started

Sandbox keys are issued without a supplier contract. Production access follows a review of your mandate model and failure handling.