Contract price check
Before an agent pays, compare the offered price with the agreed terms you supply. The rule and its tests are public.
Contract price checkPre-action verification
Permission decides what an agent may do; it doesn't establish whether the premise behind the action is sound.
Free during the beta.
Replay of a real receipt issued by /evaluate on 2026-10-02, not a live query.
pip install tanilo-receipt-verify
curl -s https://raw.githubusercontent.com/TKCollective/tanilo-receipt-spec/a565999/examples/live-receipts/evaluate-demo-2026-10-02.json -o receipt.json && curl -s https://tanilo.io/.well-known/jwks.json -o jwks.json
python3 -c "import json; from tanilo_receipt_verify import verify; r=verify(json.load(open('receipt.json')), jwks_by_issuer={'https://tanilo.io/.well-known/jwks.json': json.load(open('jwks.json'))}); print(r.status, r.canonical_sha256)"✓ valid sha256-baac7b81… — the signature checks out against the published key set, no network call in this step
A valid signature shows the bytes are unchanged since signing and were signed by that key; it does not show that the claim is true. History of this check
How it works
A term here is either one price per unit, or prices selected by quantity.
Before the agent pays, the offered price is compared with your terms.
A result is returned as a signed receipt when signing succeeds.
Against the published keys; retired keys stay published.
Product
Before an agent pays, compare the offered price with the agreed terms you supply. The rule and its tests are public.
Contract price checkKeep a record of what was checked and the result. A result is returned as a signed receipt when signing succeeds.
Verify a receiptShow that a receipt's payload existed by a given time. Queued receipt hashes are combined into Merkle roots published on-chain, currently run once a day.
AnchoringCheck a receipt's signature yourself, on your own machine. Verification runs offline against our published public keys.
PyPI verifierA valid signature shows the bytes are unchanged since signing and were signed by that key; it does not show that the claim is true.
Pilot
A free 30-day pilot on one workflow, with an agreed cap on offer volume. We start with historical or synthetic offers; live shadow mode begins only after data handling is agreed in writing.
For procurement and payment teams whose AI agents or automated workflows buy, renew or pay against negotiated agreements.
No pilot-support fee for this initial 30-day pilot within the agreed scope. We ask for structured feedback and permission to discuss a potential case study; any publication, attribution or use of your name or logo requires your written approval. Extensions and additional work are agreed separately.
Trust
draft-krausz-verification-state
individual submission on the IETF datatracker
One builder reproduced our canonical receipt bytes on shared test files; two independent checkers have been run against our evidence-pinning tests.
Trust