An LLM near money is one hallucination from disaster.
Agents now issue refunds, change orders, and move state. They also make things up. The failure isn't theoretical — it's a refund larger than the charge, an order reverted after it shipped, two currencies silently added together.
Over-refunds
The agent refunds 500 on a 200 order. Money created from nothing — and your reconciliation breaks.
Reverted orders
A shipped, finalized order gets moved back to "Accepted." The state machine corrupts silently.
Mixed currencies
USD and EUR added without conversion. The total is meaningless and nobody notices until audit.
Run the real guardrail, right here.
This runs the actual published @warp-lang/commerce-types package in your browser — vendored into this page, not a mock. Pick a scenario, tweak the numbers, and check it: the verdict is the real library's.
Open the full playground — guard actions, money math, the state machine & order audits →
A small model. Proven hard.
The guardrail isn't a pile of rules — it's five primitives and six invariants, frozen into one schema, generated into four languages that are proven to agree fixture-for-fixture.
- Partywho acts — buyer, seller, platform
- Valuewhat moves — money, goods, rights
- Intentwhat's wanted before it's agreed
- Commitmentthe binding agreement + its lifecycle
- Fulfillmentthe evidence it happened
What it checks — at two layers.
The audit layer checks every invariant below across all four bindings — that's the layer the guardrail composes. The compiler statically blocks what it soundly can. We show you exactly which is which.
Statuses reflect the published 1.2.0 release, read from the repo at build time — so this table can't drift.
Prove your own binding.
Every binding emits a verdict for all 54 fixtures and they must agree. The same harness is public: generate types from the schema in your language, run the fixtures in your CI, and prove your commerce code agrees with the model. The Go binding was built this way — by an outsider following the guide.
Read the conformance guide ↗Roadmap.
Stated in future tense, because it isn't shipped yet.
The runtime guardrail (guardAction) is TypeScript-first today. The other three bindings already share the model and pass conformance; the guardrail API will follow.
Catching cross-step violations — a cumulative over-refund, or out-of-order actions across a whole agent session, not just one action at a time. Landed in TypeScript on main; ships in the next release.
Sitting under agentic-commerce protocols so the commerce a model — or a human — generates is structurally valid before it's authorized.