Blueprints decide what an agent may do in a store. Card networks decide how it may pay. Treeship is the record of what happened: every tool call, every refusal, every human approval, the cart that went to checkout, and the hand-off between agents, signed by your own key and checkable on any machine without asking anyone.
For Anthropic's commerce-agents. Other stacks use the CLI, the MCP bridge, or the A2A bridge. Install.
Payment networks sign the moment of payment and keep the proof on their rails. Everything before and around it, and everything on the merchant's side of the counter, is what Treeship signs. Each card says what shipped and in which release.
Signed before and after every call. A refusal is a signed receipt naming the gate, not a missing log line.
One operator, one action, one change, one use. The journal refuses a second spend before anything is signed.
At hand-off, the cart is signed as a digest with its count and total. The order chains onto it. Payment stays with the host.
Who handed what to whom, and whether the receiver verified the sender live, recorded as signed custody.
A closed session is one package: receipts, Merkle proofs, spent approvals, and its own page that verifies in the browser.
The CLI, the browser, and any Ed25519 library recompute it on your machine against your own trust roots. Nothing phones home.
A payment step bound to the approval that authorized it, exported as the bundle an auditor or a dispute needs.
Arguments, result text, session id, payment URL, order reference, cart lines. Digests only. A receipt never proves the price was right.
A designed interface is never evidence that a capability shipped. Every row below says which is which.
| Integration | What Treeship gives it | Status |
|---|---|---|
| Claude Commerce Agents anthropics/commerce-agents |
Receipts for every tool call on the Messages API, the Agent SDK and Managed Agents; single-use merchant approvals; the checkout hand-off and the host's order; a Claude Code plugin that wires it (/add-treeship-receipts). |
shipped0.30 |
| @treeship/mcp any MCP tool server |
A drop-in MCP client: every tool call receipted with intent and result, approval-gated calls bound to their grant. Covers storefront and merchant MCP servers on any agent platform. | stable |
| @treeship/a2a Agent2Agent servers and clients |
Task intents and results attested, foreign work refused until the sender proves live key control, custody recorded on the hand-off. | beta0.27 |
| Mastercard Verifiable Intent agent attestation scheme |
treeship vi: the agent's P-256 key, a mandate check, and the Layer 3 pair signed for the network and the merchant, with the spec's own agent_attestation claim carrying a Treeship receipt that names the session, the chain head, the Merkle checkpoint and the approval use. Verified both ways against the reference SDK in CI; an independent implementation of the open v0.1 draft, not an endorsement. |
shipped0.31 · spec v0.1 draft |
| Zerker Reason authorization certificates |
A Reason action-authorization certificate signed and chained as a Treeship receipt under a registered predicate, so the policy decision behind a purchase or a price change verifies independently. | beta |
| Robinhood Agentic Trading trading MCP |
Local receipts, approval binding for order placement, and audit trails for agents on Robinhood's trading MCP; a receipt template ships. Robinhood's own rollout is gradual and theirs. | template |
| Lobster Cash agent payments |
Attestation for every Lobster Cash payment through treeship wrap and a published skill. |
skill |
| Visa Trusted Agent Protocol · Google AP2 · OpenAI + Stripe ACP payment-side protocols |
Complementary, not integrated. They sign agent identity and payment authority at the merchant's edge and on the network; Treeship signs the agent's steps, the merchant's approvals, and the cart, offline. A deployment can run both. | adjacent |
Full list, including coding agents and memory providers: docs.treeship.dev/integrations. Statuses are the ones in the feature inventory the docs are generated from.
Treeship does not gate. Your rules, the blueprint's gates, the network's authorization keep deciding what runs. Treeship signs what they decided, at the moment they decided it, and chains each receipt to the one before.
The one method every tool call passes through, the click that sets an approval, the moment the cart meets checkout. A receipt before, a receipt after, digests only.
Every receipt names its parent. Closing the session folds them into a signed Merkle root and a portable package with its own verification page.
treeship verify on any machine, the browser verifier on the receipt page, or your own code against the reference verifier. No account, no network, no trust in us.
Both demos recorded on Anthropic's mock backends, no model, no API key, then the sealed session's own receipt page. Every id is real.
python -m treeship_commerce.demo. A product id the agent never saw in a catalog read is pushed at the cart; the reference's provenance gate refuses it, and the refusal is inside the signed receipt, not a log line. treeship package verify then proves the refused add is in the sealed tree.
python -m treeship_commerce.demo_merchant, then treeship package verify and treeship approval uses. Every id shown is real..treeship package's own page, verifying in the browser with no network and no server. The approval gate reads from the same evidence package verify checks.Every receipt is a DSSE envelope signed with Ed25519, content-addressed, chained to its parent, and folded into a signed Merkle checkpoint when the session seals. treeship verify walks the chain offline against your own pinned roots. A published session renders at a permanent receipt URL with the same verifier running in the browser. The hub stores bytes and serves proofs; it never issues a verdict.
What a receipt proves: this key signed, at that time, that this tool was about to run with arguments of that digest, and then what the gate decided. What it does not prove: that the answer was correct. A wrong answer with a perfect receipt is still wrong. Treeship authenticates statements; it does not adjudicate commerce.
The trust boundaryOn Anthropic's reference, pass the receipted executor_class and nothing else changes. On anything else, the CLI, the MCP bridge or the A2A bridge sign the same seams.