Meet your money’s guardrails ↗
ProofSpend home/Thesis/How it works
HOW IT WORKS / 2 MIN READ

Give an agent a budget it cannot overrun.

Think of reservations like a hold on a card. Money is committed before it is paid, so two purchases cannot both claim the same remaining budget. Try the three steps yourself.

Try the numbers ↓
01

Reserve before paying.

The agent asks to set aside an amount. The policy checks both finalized spend and pending commitments. A request that exceeds the remaining budget is blocked before the balance changes.

02

Finalize or release.

Confirming a payment moves its amount from reserved to spent. Canceling it releases the hold. Neither action creates extra budget. This example allows one pending reservation at a time.

03

Keep the invariant true.

An invariant is a rule that must remain true after every step. Here that rule is spent + reserved ≤ budget. A production wallet would also check per-agent and global budgets in the same atomic transition.

THE SIMPLE MATH

Available = budget − already spent − reserved

A worked example

Start with $10,000 and $2,000 already spent. Reserve $3,000: $5,000 remains available. Pay the reservation: spent becomes $5,000, reserved returns to $0, and available stays at $5,000.

YOUR TURN / INTERACTIVE EXAMPLE

Reserve it. Pay it. Or release it.

Move a slider or choose a scenario. The numbers update immediately.

Spent + reserved must never exceed the $10,000 demo budget.

What this example assumes

This is an in-browser state-machine demo for one agent. Reloading or resetting clears it. It does not connect to a wallet, send payments, sign receipts, enforce onchain policy or coordinate concurrent requests.

The research formula, for the curious
THE MATHEMATICAL FOUNDATION

Every state transition must balance.

spentⱼ(t) + reservedⱼ(t) ≤ budgetⱼ

Σⱼ spentⱼ(t) ≤ Bglobal · Allow = all post-transition invariants hold

spent
Finalized provider payments
reserved
Pending commitments
budget
Per-agent spend ceiling
Bglobal
Global finalized-spend ceiling

The interactive example isolates the core idea. Its assumptions are described above; it does not implement every part of the research model.