TRADITIONAL USAGE BILLING
Vendor defines the unit.
Vendor runs the meter.
Vendor produces the invoice.
Buyer receives the final number.
TRUST THE NUMBERFUSIONIFY / CEILING
You authorize a ceiling. Ceiling publishes what counted. You only pay for output that held up.
01 / PRECOMMITTED POLICY
01 / 04
A canonical record, a deterministic validator, and a fixed unit price define what can count.
THE PROBLEM
TRADITIONAL USAGE BILLING
Vendor defines the unit.
Vendor runs the meter.
Vendor produces the invoice.
Buyer receives the final number.
TRUST THE NUMBERCEILING
The unit is committed before output exists.
The validator is deterministic.
The output is published.
The final arithmetic is recomputable.
THE MECHANISM
.001
Precommit unit definition, validator, unit price, maxUnits, and failure policy.
policyHash
0x2649...f123.002
Maximum
25 × $0.002 = $0.050
payment path / x402.003
17 valid
18 rejected
cut-on-first-invalid.004
17 × $0.002 = $0.034
unused / $0.016
actual ≤ authorized maxRECOMPUTATION
0x2649acf4fe4f9f179b61b2b717d3b58299298de37eefcc8118aaafc328c3f1230xc63b3f62cfe8ee0fced6f8488804b36825f42f3f251de2196bea7e8903e1f986◆ ON-CHAIN / MONAD TESTNET
The registry enforces accepted units within the authorized maximum and settled amount equal to accepted units multiplied by unit price.
0xbd06bb4d0a50f84fec7dcd3a916605ff662e7d61↗SESSION0xc44cd0b5674ecd5543c4ecfcf18d6897b42d367da8bd1fad15e58f065b5c528b↗DEPLOYMENT TX0x81926658e403c0db914f08a2cfb4779b5634363809701feaa982653cb94bd408↗COMMIT TX0x19aa15f6021deb6c368bed2fecb63bb1e07ab69fbaaad1f9a113a82b609b2c51↗OUTCOME TX0xa6b47e9695d056ce07b4478e29af3c34550c8100b753df7b475c4c2f9cbc9227↗WHY MONAD
A single Ceiling session could run on many chains. Monad becomes especially useful when many independent machine-payment sessions are committed and settled concurrently.
SIMULATED CONCURRENCY VISUALIZATION
sess_01SETTLEDsess_02SETTLEDsess_03SETTLEDsess_04SETTLEDsess_05SETTLEDsess_06SETTLEDsess_07SETTLEDsess_08SETTLEDsess_09SETTLEDsess_10SETTLEDsess_11SETTLEDsess_12SETTLEDCEILING / LIVE DEMO
Run the deterministic demo and inspect the same arithmetic committed on Monad Testnet.