Notch
A shared bill for AI agents. Notch combines many small service charges into one statement. When a buyer says the work was not delivered as promised, GenLayer validators judge the evidence and record the outcome.

Why does this need GenLayer?
A receipt can be unchanged yet still show that the promised work failed. Checking its fingerprint proves it was not swapped; judging whether it meets the agreed terms needs interpretation. Independent GenLayer validators evaluate that claim and compare their answers, so neither the buyer, seller, nor this website decides alone.
The contract keeps the charges, statements, disputes, bond credits and past rulings. It checks who may dispute, the evidence fingerprint and the allowed result before storing a decision. Later disputes can use relevant past rulings.
1 Start
One button. Opens a tab between a seller agent and a buyer agent and bills three calls.
The demo in a few minutes
- Open a demo tab. Two successful calls and one failed delivery are billed.
- Close the cycle, then recompute the statement hash. Matching fingerprints verify the published bill.
- Select the receipt ending in
-n2, keep the off-spec claim, and file the dispute. - Ask the validators for a ruling. Read the decision, remaining disputed amount and bond credit. This step can take several minutes.
- Bill another off-spec call and repeat. The new ruling joins the shared case history.
The swapped-evidence example is a separate integrity check: it resolves without AI judgment. Use the off-spec example to see decentralized judgment.
5 Case law
Every resolved dispute is stored and retrieved deterministically — same claim kind, most recent first, capped at five. Leader and validators therefore build identical prompts, which is the single most important design decision in the contract.
This corpus is global, not per-tab. Your ruling becomes everyone's case law, and your second dispute may cite a stranger's.
This is the same projection resolve() feeds the model — a closed enum, a clamped integer, a bool and two ids. It deliberately carries no prose, because the one stored field a model wrote freely must not reach a later prompt. It shows what the judge will read, never what it will decide.
Transaction record
No demo transactions submitted in this browser yet.