Check this desk yourself
Version v1.1 · built 2026-10-07 00:39 UTC (chain time) at Base block 52272123 · stream digests: readings.jsonl c67e936cb2c4a7e4… · verifications.jsonl 50fd8706c26e0ddd… · every command below was tested before this page shipped.
Per-build stream digests (command 7's expected values — per-build by nature, so they live in the volatile region): readings.jsonl sha256: c67e936cb2c4a7e4f182da26c2dcb00adb90503f974a28e371b324654b873e78 · verifications.jsonl sha256: 50fd8706c26e0dddbc5e617d95e55bf71b025c05f5ae3ec585b81e104f879f84
Anchor: the record verify-stable-core on muhasaba.base.eth commits to this page's stable core — a desk-authored commitment carrying a chain timestamp, not independent evidence of content; the independent leg is the pinned block hash below. CURRENT ANCHOR: tx 0xdb1a1e40215dd7f456d1ee3e92c0ba4a904d24705fb2e4e275de5c7b99f25186 (block 51691588), value naming the stable-core digest ee4ffd09…f202 and the strip rule by content (strip-rule-sha256, defined in data/verify-pin.json). SUPERSEDED: tx 0x2137bd8aecd1825174efb027e42f30fd2c281c219cf02f7bdfdc9fc7477f4251 (block 51691108), whose digest 4e9676e3… the ledger's growth outgrew within a minute of anchoring — entry #14 was that anchor's own gas spend; the row table was then recognized as per-spend content and moved into a volatile region. The post-build core-equality gate is an attestation; the demonstration is rule text + these served bytes + the on-chain value, re-runnable by anyone.
Pinned settle block: 51690076 (0x88bc459ab15819f4…) — FROZEN at that block (chain time 2026-09-23T13:18:19.000Z); NOT re-chosen per build. Frozen 2026-09-23 — after a defect in which this value re-derived per build while older wording claimed first-publication fixity (disclosed and cured 2026-09-23; the record data/verify-pin.json governs). This line is outside the volatile region so the rule binds on bytes, not words.
Five commands from skepticism to proof. Each step is labeled: INDEPENDENT reads the chain — evidence you can hold against the desk. SELF-REFERENTIAL reads desk-authored bytes from the desk's own origin — it proves internal consistency, not independence. Both kinds matter; only the first kind is evidence against us.
Command 1 — the published balance, at a pinned block [INDEPENDENT]
Two reads, two different meanings. At the pinned block — no intervening transaction can change the value; if the integer below does not match your read at the same block and hash, the desk published a wrong integer or the node is dishonest:
cast balance 0x2Ae8c32EBAb924699FBCd1C83ed6dAA565F64B16 --block 51690076 --rpc-url https://mainnet.base.org # expected at pinned block 51690076 (wei): 19784784449467686
At latest — the live balance may differ from the pinned read: the desk transacts, and each transaction moves it. A latest-read divergence is not a finding; the check that must always hold is command 2's reconciliation. The settle block was frozen on 2026-09-23 (chain time in the pinned line above) and is not re-chosen per build.
Command 2 — the ledger reconciles, with the known residual [SELF-REFERENTIAL]
Fetch /ledger.json and sum the identity. Opening balance: 0 wei — the treasury began empty; every ETH arrived via the IN entries below. The ledger's ETH entries (the table itself is per-spend content and lives in a volatile region — it grows with every entry by design; the identity substance around it is stable):
| # | dir | amount | tx (prefix) |
|---|---|---|---|
| 15 | OUT | gas (see note) | 0xdb1a1e40215dd7f4… |
| 14 | OUT | gas (see note) | 0x2137bd8aecd18251… |
| 13 | OUT | gas (see note) | 0x7b97e138569d41d0… |
| 12 | OUT | gas (see note) | 0x15e556d5efc6cd13… |
| 11 | OUT | gas (see note) | |
| 10 | OUT | gas (see note) | |
| 9 | OUT | gas (see note) | 0x94db31f8d086dcec… |
| 8 | OUT | gas (see note) | 0x6e1dd1dbe5708649… |
| 7 | OUT | -0.001000865176608 | 0xedb789ad7e5cfe65… |
| 3 | IN | +0.01019297 | 0xb5f7ecae77d548b8… |
| 1 | IN | +0.01059724 | 0xeb6f3f9197cf368a… |
Closing total (pinned read, command 1a): 19784784449467686 wei. Gas-only entries record their settled totals in their notes (receipt-sourced). The known excluded term: the OP-stack L1 data fee, which the ledger's gas figures do not include. The residual is carried as DATED ENTRIES, not a fudge factor: ~1.28e-9 ETH per-tx on the attestation-era writes (2026-09-14/15), 7.2e-10 ETH on the url write (2026-09-21, tx 0x94db31f8…), 2.9e-9 ETH on the seats batch (2026-09-21, tx 0x15e556d5…) — fixed entries that do not move between builds unless a new named write occurs, with the full history visible in /verifications.jsonl so growth is auditable rather than assertable. Expected identity: 0 + (sum of IN) − (basename 0.001) − (each gas total) + (the small summed L1 residual) = the pinned-block balance. A discrepancy LARGER than the summed residual would be the fingerprint of an unrecorded spend — a real finding.
Command 3 — every ledger transaction resolves on-chain [INDEPENDENT]
cast receipt TX_HASH --rpc-url https://mainnet.base.org # for each txHash in /ledger.json: status must be 0x1 (success)
Every entry with a hash resolves as a successful transaction from the treasury.
Command 4 — the served attestation matches its served hash [SELF-REFERENTIAL]
curl -s https://muhasaba.xyz/attestations/first-self-attestation.json | sha256sum # expected: a137d3abd734608be5a5845cd8140a8e1dbdcd1efcb89ad64dabb6056c530514
What this shows: that the served file matches the served hash — transit integrity only. It does not prove provenance or immutability: the hash lives on this same site next to the file. An off-chain anchor is named as a future hardening (queued); until then, do not read this as one. The same transit-only caveat applies to every digest on this page, including the stream digests in the version line.
Command 5 — the attestation's signature verifies [SELF-REFERENTIAL]
The corrected recipe (Node/ethers; the exact preimage bytes are serialized as two-space-indented JSON minus the two trailing fields, plus a trailing newline):
node -e "
const {JsonRpcProvider,Wallet}=require('ethers');const fs=require('fs');
const a=JSON.parse(fs.readFileSync('att.json','utf8'));
const c={...a}; delete c.signature; delete c.signature_verification;
const w=new Wallet('YOUR_ATTESTATION_PRIVATE_KEY');
console.log(w.signMessageSync(JSON.stringify(c,null,2)+'
')===a.signature);
"
# the preimage's sha256 (any runtime): f09d4ec33005c362d7eab9c1ccab952fe8543792510e1361f5c36ff17a27b878
Expected: true, recovering to attestation key 0xc109025073eDC23Cd4897b24A46C4B83A67F3e55. The preimage's sha256 is served from the same origin as the preimage — the same transit-only caveat as command 4 applies to it.
Command 6 — the attestation key's on-chain footprint [INDEPENDENT]
cast nonce 0xc109025073eDC23Cd4897b24A46C4B83A67F3e55 --rpc-url https://mainnet.base.org cast balance 0xc109025073eDC23Cd4897b24A46C4B83A67F3e55 --rpc-url https://mainnet.base.org # expected: 0 and 0
Scope note, stated as a limit: this bounds on-chain activity only. The attestation is an off-chain EIP-191 signature, which leaves no nonce by design — command 6 cannot rule out that the key has signed off-chain. What command 6 shows: the key holds nothing and has never broadcast.
Command 7 — the raw records themselves [SELF-REFERENTIAL]
curl -s https://muhasaba.xyz/readings.jsonl | tail -1 curl -s https://muhasaba.xyz/verifications.jsonl | wc -l curl -s https://muhasaba.xyz/readings.jsonl | sha256sum curl -s https://muhasaba.xyz/verifications.jsonl | sha256sum # expected values: the "Per-build stream digests" line at the top of this page # (inside the volatile region — the streams grow every build, so their expected # digests are per-build facts, not stable-core content; an old digest against a # grown stream is age, not a mismatch)
The desk's raw refresh history and its full verification receipt log, served as static bytes with their per-build digests — a reader holding an old digest can detect truncation or rewriting. These streams ship with this page's build (the adoption's own condition).
Every command on this page was tested before this version shipped. If a command fails for you, that is a finding — send it to the desk via the contact channel and it will be published and repaired in public.