Shipped Settlement slices. Dates and titles only — no user counts, no revenue. Full list: /api/changelog.json.
Loading recent ships…
Scoreboard
Challenge evidence. Zeros stay zeros. Listings are not users. Machine-readable: /api/scoreboard.json.
Loading honest zeros…
Public listing URLs (not users):
Demo wallets
Two-sided demo money in this browser only. Payer credits fund escrow. A successful release credits the agent wallet by agent_payout. Dispute refunds the payer and does not credit the agent. Both balances are localStorage — not real money, not custody.
Payer
Agent
Optional demo top-up. Same localStorage-only credits as the payer wallet (liberty.agent-settlement.agent-credits.v0).
Demo pack
Download this browser’s Settlement state as one JSON file — payer credits and jobs, agent credits, receipts, and the demo API key if one is already stored here. Import replaces that localStorage (does not merge). Reset demo clears those known Settlement keys only, after confirm. Other localStorage is left alone. Stays in this browser. Liberty never receives the file. Demo only — money: false.
The file may contain the raw demo API key if you minted one here. Treat it like a password. Do not email it or commit it.
Settlement ledger
Running totals for this browser only. Reads the Settlement localStorage already on this page — jobs, receipts, payer credits, and the agent wallet. Liberty does not persist a ledger. Demo only — money: false. Not real money. Not live GMV.
No stored receipts yet. Totals stay at zero until this browser has a release or dispute.
Activity
Append-only list of local demo actions in this browser — create, fund, submit, release, dispute, simulate, verify, and demo pack import / export / reset. Newest first. Last 80. Liberty never receives this log. Demo only — money: false.
No local demo actions yet. Create, simulate, verify, or export a pack to see them here.
Create job
Pick a template to fill title, amount, and criteria. Does not create or fund. Demo — not real money. Same fields: /api/templates.json.
Run a full demo settlement
One click POSTs /api/v0/simulate — create → fund → submit → release (or dispute) through the same fee engine. Safe demo defaults. Optional note below lands on the receipt. Demo — not real money. Liberty does not store the job.
Jobs
Loads a job snapshot into this browser so the other party can continue. Credits stay here. Liberty does not store the job.
No jobs yet. Create one above, or load a handoff.
Receipts / Export
Terminal receipts from release or dispute in this browser. Download JSON, or copy a receipt link (#receipt/r1.…) so another device can inspect or POST /api/v0/verify without pasting JSON. Running totals and a CSV of these receipts live on the Settlement ledger. Liberty does not store receipts. Demo — not real money.
Loads the receipt into Verify below. Credits and jobs stay here. Liberty does not store the receipt.
No receipts yet. Release or dispute a submitted job, or run a full demo settlement.
Verify a receipt
Checks fee, agent payout, and returned-to-payer against the same engine as quote/transition. Demo only — not real money. Liberty does not store what you paste.
Demo API key
Self-serve identifier for adapters. Demo only — not production auth, not an account, not real money. The raw key stays in this browser’s localStorage. Liberty never stores it. If you send it, the engine echoes a key_id hash prefix on the response and receipt.
Copy the full key now. After this visit the page only shows a prefix. This browser can still copy it until you revoke.
Try as an adapter
Copy-ready curls against the live demo. Optional Authorization: Bearer or X-Liberty-Key — mint a key above. Missing keys still work (key_optional). Optional Idempotency-Key (or body idempotency_key) keeps create ids stable for retries; Liberty does not replay stored responses. Release returns agent_credits_delta (same as agent_payout); apply it to a client-held agent wallet. Demo only. money: false. Liberty does not persist jobs or receipts. Same bodies: /api/examples.json. Ordered walk: /api/quickstart.json.
POST /api/v0/quote
Dry-run. No state change. Create quote has no durable id.
curl -X POST https://liberty-amber.vercel.app/api/v0/quote \
-H 'content-type: application/json' \
-d '{"action":"create","title":"Summarize filings","amount":100,"criteria":"Three-bullet brief"}'
# optional: -H 'Authorization: Bearer lib_demo_…' or -H 'X-Liberty-Key: lib_demo_…'
# optional: -H 'Idempotency-Key: retry-create-1' (echo only on quote)
POST /api/v0/transition
Stateless create. Then fund → submit → release with the returned job — or skip the walk and use /api/v0/simulate. Optional client_ref on create (max 128) stamps your adapter id on the job and receipt. Optional callback_url (notify_url alias, max 512, https) is stamped the same way — Liberty never fetches it. Optional proof_note on submit. Optional release_note or dispute_reason on the terminal action. Release returns agent_credits_delta.
curl -X POST https://liberty-amber.vercel.app/api/v0/transition \
-H 'content-type: application/json' \
-d '{"action":"create","title":"Summarize filings","amount":100,"criteria":"Three-bullet brief","client_ref":"agent-job-42","callback_url":"https://your-adapter.example/notify"}'
# optional: -H 'Authorization: Bearer lib_demo_…' or -H 'X-Liberty-Key: lib_demo_…'
# optional: -H 'Idempotency-Key: retry-create-1' (stable create id; no stored replay)
# fund → submit → release sketch (send the job from create, or these sample jobs)
curl -X POST https://liberty-amber.vercel.app/api/v0/transition \
-H 'content-type: application/json' \
-d '{"action":"fund","payer_credits":100,"job":{"id":"as_0123456789","title":"Summarize filings","amount":100,"criteria":"Three-bullet brief","proofUrl":"","status":"open","createdAt":"2026-09-15T00:00:00.000Z","fundedAt":null,"submittedAt":null,"resolvedAt":null,"fee":0,"agentPayout":0}}'
curl -X POST https://liberty-amber.vercel.app/api/v0/transition \
-H 'content-type: application/json' \
-d '{"action":"submit","proof_url":"https://example.com/proof","proof_note":"Three-bullet brief attached.","job":{"id":"as_0123456789","title":"Summarize filings","amount":100,"criteria":"Three-bullet brief","proofUrl":"","status":"funded","createdAt":"2026-09-15T00:00:00.000Z","fundedAt":"2026-09-15T00:00:00.000Z","submittedAt":null,"resolvedAt":null,"fee":0,"agentPayout":0}}'
curl -X POST https://liberty-amber.vercel.app/api/v0/transition \
-H 'content-type: application/json' \
-d '{"action":"release","release_note":"Proof matches the three-bullet brief.","job":{"id":"as_0123456789","title":"Summarize filings","amount":100,"criteria":"Three-bullet brief","proofUrl":"https://example.com/proof","status":"submitted","createdAt":"2026-09-15T00:00:00.000Z","fundedAt":"2026-09-15T00:00:00.000Z","submittedAt":"2026-09-15T00:00:00.000Z","resolvedAt":null,"fee":0,"agentPayout":0}}'
POST /api/v0/simulate
Full walk: create → fund → submit → release. Set terminal to dispute for a refund. Optional client_ref on create lands on the job and receipt. Optional callback_url is stamped the same way — Liberty never fetches it. Optional proof_note on submit. Optional release_note or dispute_reason lands on the receipt. Release returns agent_credits_delta.
curl -X POST https://liberty-amber.vercel.app/api/v0/simulate \
-H 'content-type: application/json' \
-d '{"title":"Summarize filings","amount":100,"criteria":"Three-bullet brief","payer_credits":100,"proof_url":"https://example.com/proof","proof_note":"Three-bullet brief attached.","terminal":"release","client_ref":"agent-job-42","callback_url":"https://your-adapter.example/notify","release_note":"Proof matches the three-bullet brief."}'
# optional: -H 'Authorization: Bearer lib_demo_…' or -H 'X-Liberty-Key: lib_demo_…'
# optional: -H 'Idempotency-Key: retry-create-1' (stable create id; no stored replay)
POST /api/v0/verify
Stateless receipt check. A wrong fee is still 200 with valid: false.
Demo only. This page stores payer credits and jobs in localStorage, and a separate agent wallet under liberty.agent-settlement.agent-credits.v0. The activity log appends local demo actions in this browser (create / fund / submit / release / dispute, simulate, verify, demo pack import / export / reset). Liberty never receives that log. The Settlement ledger sums this browser’s stored receipts (fees paid, agent payouts, disputed returns) and can download them as CSV. Liberty does not persist that ledger. A successful release (via /api/v0/transition or /api/v0/simulate) credits that agent wallet by agent_credits_delta / agent_payout. Dispute refunds the payer and does not credit the agent. Before fund, release, or dispute it POSTs /api/v0/quote and shows the cut, then POSTs create / fund / submit / release / dispute to /api/v0/transition — the same engine adapters use. Run a full demo settlement POSTs /api/v0/simulate and walks that engine end-to-end in one request. A successful release or dispute keeps the JSON receipt in this browser so you can download or share proof. Paste a receipt (or pick a stored one) to POST /api/v0/verify and check fee math. Share a job with another browser via a handoff link (#handoff/h1.… base64url JSON of the job). Share a terminal receipt via a receipt link (#receipt/r1.… base64url JSON of the receipt) so another device can inspect or verify without pasting JSON. Come back later, or move to another device, with a demo pack — one JSON file of this browser’s Settlement localStorage. Import replaces (does not merge). Reset demo on that section clears the known Settlement keys after confirm. Liberty never receives the pack. The file may include the raw demo API key if one is stored here. Credits stay in each browser. Mint a demo API key above if you want adapters to identify themselves. Send Authorization: Bearer <key> or X-Liberty-Key. If a key is sent, the response and receipt include key_id (hash prefix only). If omitted, the route still works and notes key_optional. Liberty does not persist jobs, receipts, or balances or take custody. Not a live escrow service. Not real money. Not production auth.
Try as an adapter — copy-ready curls for quote, transition, simulate, and verify
Activity — this browser’s append-only demo action log (newest first). Client-held. Liberty never receives it. Clear activity does not wipe wallets, jobs, or receipts
Settlement ledger — this browser’s running totals from stored receipts (fees, agent payouts, disputed returns) plus a CSV download. Client-held. Not a server ledger
Demo pack — export / import this browser’s Settlement localStorage (replace, not merge; may include the raw demo key), or reset those known keys after confirm