Docs / Deep dive
Economics
LOPW moves money in exactly three ways: a seller locks stake, a seller pays fees, and a proven claim moves part of the stake to a buyer. Everything else is information.
What a seller risks
| Exposure | Bound | Where set |
|---|---|---|
| Per receipt | max_claim, and never more than the stake left or the launch limit max_payout | Each offer (maxClaim in the middleware) |
| Per epoch (one unbonding delay) | 50% of the stake held at the epoch’s start, with the first slash of an epoch always allowed | Protocol floor slash_epoch_cap_bps |
| In total | The stake | The seller’s deposits |
| Suspension | Any slash or fee that leaves stake below min_stake stops new offers until a deposit restores it | min_stake at registration |
A seller never owes more than it staked. The right stake is a business decision: it must be large enough that agents with a policy will pay (they read it before paying), and small enough that a run of honest claims would not hurt more than the breach deserved. max_claim sets what one bad response costs; the epoch cap sets how fast stake can bleed even under a flood of claims.
What a seller pays
| Cost | Amount | Note |
|---|---|---|
| Registration fee | registration_fee once (1 USDC on the first deployment; 10 USDC proposed for a production launch) | Transferred from the seller’s account at registration |
| Stake fee | stake_fee_bps_per_year of stake, accrued per second (100 bps = 1% a year) | Collected from stake whenever stake moves or anyone calls collect_fee |
| Transaction fees | Normal network fees for registering, depositing, rotating keys and withdrawing | Paid by the seller’s account |
| Payouts | min(max_claim, stake) per proven breach | The actual cost of a broken promise |
fee = stake * bps_per_year * elapsed_seconds / (10000 * 31_536_000) // integer division, capped at stake
200 USDC at 100 bps for 30 days: 2_000_000_000 * 100 * 2_592_000 / 315_360_000_000 = 1_643_835 units = 0.1643835 USDC
200 USDC at 100 bps for a year: 2_000_000_000 * 100 * 31_536_000 / 315_360_000_000 = 20_000_000 units = 2 USDCBecause the fee is taken from stake, a service staked exactly at its minimum is suspended by the first collection. Stake above the minimum by at least a year of fees to be safe.
What a buyer gains
| Gain | Detail |
|---|---|
| Information before paying | State, stake, terms and max_claim are readable for free. A policy turns them into an automatic decision. |
| Evidence after paying | A signed receipt bound to the payment, request, response and terms. Even without a claim, it is proof of what was served. |
| Compensation | min(max_claim, stake remaining) on a proven breach, in the stake token, to the buyer’s own address, in the same transaction as the claim. |
| Protection from decay | A service whose stake drops below its minimum is suspended automatically; policy-driven agents stop paying it at once. |
What a buyer pays
- The x402 price of the call, unchanged.
- The network fee of the claim transaction, including the oracle read for P6 (the first live P6 claim cost only the normal transaction fee, with no oracle charge).
- Nothing when the seller keeps its promise: the happy path has no extra transaction.
- Nothing when a claim is rejected except the transaction fee; no stake, no penalty.
A worked claim
The reference FX service stakes 200 USDC with min_stake 100 USDC, a 1-hour claim window and max_claim 5 USDC; a quote costs $0.01.
- Unbonding delay and slash epoch: 1 h + 1 h = 2 h. Epoch cap: 50% of 200 = 100 USDC.
- A quote 10% off the oracle is claimed under P6. Payout:
min(5, 200) = 5 USDC. Stake 195 USDC; still Active. - Nineteen more proven claims in the same epoch pay 5 USDC each: total 100 USDC, exactly the cap. Stake 100 USDC, still at the minimum.
- A twenty-first claim in that epoch fails with
SlashRateLimitedand can be retried in the next epoch; its claim window (1 h) may close first. - Meanwhile any slash or fee that takes the stake below 100 USDC suspends the service; the middleware stops issuing offers and agents stop paying.
For a buyer, max_claim of 5 USDC against a $0.01 call is cover of 500 times the price. For the seller, the worst case in one epoch is 100 USDC, and only if it breaks its promise twenty times to twenty claimants.
Incentives in one table
| Party | Wants | LOPW makes it true that |
|---|---|---|
| Honest seller | To be chosen by agents | Stake and terms are visible before payment; keeping the promise costs nothing beyond fees |
| Dishonest seller | To take payment and under-deliver | Each admitted or oracle-provable breach costs max_claim; lying consistently about self-reported fields escapes P3 to P5 but not P6, and the stake is what agents judge |
| Buyer | Recourse without a dispute process | A claim is one transaction decided by code; no one can redirect the payout |
| Claim submitter who is not the buyer | Nothing to gain | The payout goes to the receipt’s buyer, so there is nothing to front-run |
| Protocol operator | To never hold funds hostage | Pause never blocks claims or withdrawals; admin changes are time-locked; contracts cannot be upgraded |