Treeship
Integrations

Lobster Cash

Cryptographic attestation for every Lobster Cash payment

Treeship provides the attestation layer for Lobster Cash (by Crossmint) payment workflows. Treeship attests every step of the payment lifecycle. Lobster Cash executes the payment. The result is a complete, cryptographically verifiable record from human intent to settled transaction.

Install

npm install -g treeship @crossmint/lobster-cli

Setup

Initialize Treeship

treeship init --template packages/skills/lobster-cash/template.yaml

Run from a treeship checkout. There is no built-in lobster-cash-commerce template in the catalog (treeship templates lists what's real) -- --template also takes a file path, which is what this skill ships instead. Add the skill itself by hand: copy packages/skills/lobster-cash/SKILL.md into your agent's skills directory.

Verify the installation

treeship doctor
lobster --version

Workflow overview

Every Lobster Cash payment flows through five attested steps:

1. Wallet check

The agent verifies it has access to a funded wallet before proceeding.

treeship wrap --actor agent://payments -- lobster wallet status

2. Intent declaration

The agent declares what it intends to purchase, the amount, and the recipient.

treeship attest decision \
  --actor agent://payments \
  --summary "Purchase 500 API credits for $49.99 USDC" \
  --confidence 0.95

3. Approval

A human (or policy engine) approves the spend. The approval binds to the intent via a nonce.

treeship attest approval \
  --approver human://ops \
  --description "approve $49.99 USDC for 500 API credits" \
  --allowed-actor agent://payer \
  --allowed-action payment.execute \
  --max-uses 1

4. Delegate to Lobster Cash

The agent calls Lobster Cash to execute the payment. wrap signs what ran; attest action binds that execution to the approval nonce (wrap itself has no --approval-nonce flag).

treeship wrap \
  --actor agent://payer \
  --action payment.execute \
  -- lobster pay --amount 49.99 --currency USDC --to 0x...
#   → art_2f8a... (the execution artifact)

treeship attest action \
  --actor agent://payer \
  --action payment.execute \
  --approval-nonce <nonce> \
  --parent art_2f8a...

5. Verify

Anyone can verify the full chain: wallet check, intent, approval, payment, and settlement.

treeship verify last --full

What gets attested

Each step in the workflow produces a distinct attestation with its own proof type:

StepAttestation typeWhat it proves
Wallet checkEd25519 signatureThe agent had access to a funded wallet at the time of the check
ApprovalNonce bindingThe human approved a specific action, bound to a unique nonce
Payment executionEd25519 signature + approval-nonce bindingThe execution ran under this actor and is bound to the approval that authorized it (step 4 above)
SessionMerkle root + inclusion proofsEvery sealed step in the session is recomputably part of the same tree

There is no ZK proving in this flow. A spend-limit-checker Circom circuit exists in the repo, but the whole Circom/Groth16 proving path is quarantined -- its proving keys were never generated under a real ceremony, so the circuits are forgeable by construction, and prove/verify-proof fail closed on any build. Nothing in the steps above calls it; the proof that actually runs is the plain Ed25519 signature chain shown there.

The delegation boundary

Treeship and Lobster Cash own different parts of the workflow:

ResponsibilityOwner
Attestation, approval, verification, chain integrityTreeship
Wallet provisioning, transaction signing, settlementLobster Cash

This separation is intentional. Payment infrastructure and trust infrastructure have different threat models. Keeping them independent means each system can be audited, upgraded, and secured on its own.

Demo

Run the end-to-end demo to see the full workflow:

./packages/skills/lobster-cash/demo.sh

The demo walks through all five steps with a test wallet and prints the receipt chain at the end.

Verification

After a payment session, anyone can verify the full chain at:

treeship.dev/verify/[session-id]

Or via the CLI:

treeship verify <session-id> --full

The Lobster Cash skill source is available on GitHub at packages/skills/lobster-cash.