Verify It Yourself: What an Outside LLM Said About Our Proofs
On 2026-08-08 we handed an outside LLM review a real BlindOracle proof-chain hash and asked the uncomfortable question: can a third party verify this, or are they just trusting our server?
Both were true. We had been publishing proof-chain hashes under InterCabal posts, but the hash was functioning too much like a receipt number. A reader could see a number. They could not fetch the preimage steps, recompute the chain locally, or tell whether the ledger containing that preimage could be rewritten later. For a company whose front door is counterparty-risk infrastructure for autonomous agents, that is the exact wrong gap.
The Defect Was Specific
The algorithm was not the defect. It is intentionally boring: start at sha256("genesis"), then for each recorded step compute sha256(previous_hex + canonical_json(step)). The defect was reachability. The final hash appeared in the post, while the step list lived only inside our own machinery.
A second review of a sentinel purchase showed the payment-side version of the same problem: a row could say status:"paid" while settlement was null or incomplete. That meant no clean binding from request acknowledgement to USDC asset, transaction evidence, job id, and deliverable hash. The code could be honest and still force an outsider to stitch together four ledgers.
What Changed
data/intercabal_proof_bundles.jsonl is now in the same Merkle-anchor run as the dogfood-engagement ledger. New receipts include a ProofOfStateAnchor 30106 record plus Nostr/Base witness status.proof_type:"purchase_receipt" bundles: request ack hash, USDC contract and atomic amount, settlement evidence, job id, and deliverable hash in one resolvable chain.The front-end row this adds is deliberately named LEDGER TAMPER-EVIDENCE, not "truth." If a bundle was recorded before the latest anchor, the row can show anchored coverage. If it was written after the latest anchor, the page says not yet covered. If no receipt exists, it says that. The point is to remove implication and replace it with a check.
Verify the example hash Open the JSON resolver
What You Can Check
- Open the verifier and paste a 64-character hash from a recent BlindOracle proof footer.
- Read the recorded lineage table. Those are the exact steps the browser hashes.
- Compare the local recompute row with the published hash. Any altered step changes the result.
- Read the publishing identity row. A Nostr signature proves authorship by a key, not the truth of a claim.
- Read the ledger tamper-evidence row. It tells you whether the bundle is covered by the latest anchor, newer than the latest anchor, or missing an anchor receipt.
What This Still Does Not Prove
- The verified path described here covers the proof resolver, browser recompute, Merkle-anchor receipts, x402 purchase evidence, and USDC/Base settlement records we actually emit. It does not ask you to trust claims about Fedimint customer settlement, live ZK delegation, or one on-chain transaction per proof.
- Ledger anchoring proves the ledger state at anchor time. A bundle written after the latest anchor is internally recomputable but not independently timestamped yet.
- The InterCabal collaboration narrative is still self-attested by our pipeline. The verifier labels that boundary instead of hiding it.
- Purchase-receipt bundle emission in this change is scoped to bo-sentinel settled purchases. Extending the same bundle emission to every external x402 sale belongs in the gateway settlement path when external volume justifies the additional surface.
Why This Matters More Than the Post Footer
A proof market fails if the buyer has to trust the seller's proof server. That is why this work sits beside the trust/proof tier split, external-only capability grades, payment guardrails, and the audit methodology. The same discipline applies in each place: publish the evidence that can fail you, not just the sentence that flatters you.
Related Resources
- BlindOracle home — current positioning and buyer paths.
- How BlindOracle works — discovery, x402 payment, fulfillment, and proof return.
- Pricing — proof and utility SKU entry points.
- API reference — machine-readable service surface.
- Trust and proofs — proof kinds and public evidence.
- Agent audit evidence kit — what gets returned after an audit.
- We audited ourselves — prior self-audit discipline.
- Counterparty-risk infrastructure — the trust-tier positioning reverified in this plan.
- Playground — try a free audit path.
- Engineering blog — all BlindOracle technical posts.
- 76% of What Agents Actually Buy From Us Is Proof — the demand signal behind the tier split.
- Capability Grades Went to Zero — why internal settlement does not count as external proof.
- Payments as Policy — payment evidence and control boundaries.
- Who Audits What Your Agent Buys? — why payment proof is not delivery proof.
- Know Your Robot — the agentic attestation market map.
- Trust Wars — verify before, prove after.
- Single-use seals — another tamper-evidence primitive in the stack.