Verify
Check a receipt against the books
Once a UTC day has closed, every usage row and every ledger entry of that day is sealed into one Merkle root. Paste a proof from a receipt or from the API, and this page recomputes it in your browser.
Each closed UTC day is sealed here. The roots are not on chain yet: a proof can be checked against the root this deployment stored, which is not a public record.
Check a proof
Margin by day
Read from the sealed days, never computed for this page. Billed is what the meter charged, the requests the house paid for included. Upstream is what the providers charged; a row nobody measured counts at its billed figure, so no margin is claimed on it.
2026-10-18
On chain: not yet
- Requests
- 275
- Billed
- $0.105399
- Upstream
- $0.168283
- Margin
- -$0.062884
- Implied margin
- -37.37%
Root
1d68783f35e17f6b14bb0bd33ad174351e41ed18000fa7972e98dfbbc56bac402026-10-17
On chain: not yet
- Requests
- 260
- Billed
- $0.54713
- Upstream
- $0.546708
- Margin
- $0.000422
- Implied margin
- 0.08%
Root
d6c0f82c8d8bf3163d5c1118ddb873c63020259eb3e905466a5111acff26da552026-10-16
On chain: not yet
- Requests
- 449
- Billed
- $5.726751
- Upstream
- $5.785049
- Margin
- -$0.058298
- Implied margin
- -1.01%
Root
eb073de7af0c7b91e6069d4ec96bda1f2dbdf1bd18b83ac504de7f54fd2bc4512026-10-15
On chain: not yet
- Requests
- 396
- Billed
- $0.029916
- Upstream
- $0.029134
- Margin
- $0.000782
- Implied margin
- 2.68%
Root
9da86ce9c8234fd252647c5bd52e939037f45383cadd9fe4ae1a4353608e14a4
How a proof is built
Each usage row and each ledger entry is a leaf: its fields in a fixed order, with the account only as a keyed digest, never an address. A leaf is hashed with SHA-256 after the byte 0x00, two nodes after 0x01, and an odd node is carried up as it is.
The day's root is the SHA-256, after the byte 0x02, of a header naming the day, both trees' roots and sizes and the day's totals, so the root also seals the margin by day.
A sealed day holds no address and no account number. Erasing an account leaves every sealed day as it was, and the proofs it was given still verify.
The fields and the endpoints are in the docs.