FUSIONIFY / CEILING

Metered billing
you can recompute.

You authorize a ceiling. Ceiling publishes what counted. You pay only for output that held up.

MAX UNITS
25
UNIT PRICE
$0.002
CEILING
$0.050

The upper bound
exists before
the output.

MAX UNITS
25
UNIT
JSON RECORD
UNIT PRICE
$0.002
MAX AUTHORIZATION
$0.050

THE PROBLEM

The problem isn't usage billing.
It's trusting the meter.

TRADITIONAL USAGE BILLING

Vendor defines the unit.
Vendor runs the meter.
Vendor produces the invoice.

TRUST THE NUMBER

CEILING

Unit committed before output exists.
Validator deterministic.
Output published.
Arithmetic recomputable.

RECOMPUTE THE NUMBER

THE MECHANISM

One commitment.
One verifiable path.

  1. .001COMMIT
  2. .002AUTHORIZE
  3. .003METER
  4. .004SETTLE

.001 / COMMIT

BILLABLE UNIT
one canonical JSON record
VALIDATOR
name: string
score: finite number
UNIT PRICE
$0.002
MAX UNITS
25
FAILURE POLICY
cut-on-first-invalid

policyHash0x2649acf4…f123

.002 / AUTHORIZE

25×$0.002=$0.050

x402 payment path — integration READY, facilitator preflight PASS, live settlement WAITING FOR TEST USDC.

.003 / METER

  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
  8. 08
  9. 09
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25

STREAM CUTscore_not_finite

.004 / SETTLE

17×$0.002=$0.034

$0.050−$0.034=$0.016UNUSED

RECOMPUTATION

The bill is just math.

17×$0.002=$0.034

POLICY HASH
MATCH
OUTPUT HASH
MATCH
ACCEPTED UNITS
MATCH
SETTLED AMOUNT
MATCH
FINALIZED
TRUE

RECOMPUTATIONPASS

ON-CHAIN / MONAD TESTNET

Recorded once.
Readable by anyone.

The registry enforces accepted units within the authorized maximum, and a settled amount equal to accepted units multiplied by unit price.

  1. CONTRACT0xbd06bb4d0a50f84fec7dcd3a916605ff662e7d61
  2. SESSION0xc44cd0b5674ecd5543c4ecfcf18d6897b42d367da8bd1fad15e58f065b5c528b
  3. DEPLOYMENT TX0x81926658e403c0db914f08a2cfb4779b5634363809701feaa982653cb94bd408
  4. COMMIT TX0x19aa15f6021deb6c368bed2fecb63bb1e07ab69fbaaad1f9a113a82b609b2c51
  5. OUTCOME TX0xa6b47e9695d056ce07b4478e29af3c34550c8100b753df7b475c4c2f9cbc9227
  6. POLICY HASH0x2649acf4fe4f9f179b61b2b717d3b58299298de37eefcc8118aaafc328c3f123
  7. OUTPUT HASH0xc63b3f62cfe8ee0fced6f8488804b36825f42f3f251de2196bea7e8903e1f986

WHY MONAD

Many sessions.
Independent state.
Parallel settlement.

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 — NOT LIVE TRANSACTIONS

sess_01SETTLED
sess_02SETTLED
sess_03SETTLED
sess_04SETTLED
sess_05SETTLED
sess_06SETTLED
sess_07SETTLED
sess_08SETTLED
sess_09SETTLED
sess_10SETTLED
sess_11SETTLED
sess_12SETTLED
sess_13SETTLED
sess_14SETTLED
sess_15SETTLED
sess_16SETTLED
MONADhigh-performance execution
x402machine payment protocol
USDCsettlement asset
PERMIT2authorization infrastructure

CEILING / LIVE DEMO

Pay for valid output.
Recompute every bill.

Run the deterministic session and inspect the same arithmetic committed on Monad Testnet.