How Backrun works, precisely enough to verify without us
Documentation
Six pages. Together they are the complete, reimplementable specification of what gets hashed, what gets published on-chain, and what a receipt does and does not prove. If anything here is ambiguous, that's a bug in the docs — open an issue.
Concepts
What a Merkle tree is, what anchoring means, and what a receipt proves — and doesn't. Written for an engineer who has never touched a blockchain.
02 · verification algorithmThe verification algorithm
The most important page here: canonical JSON, salting, leaf/parent hashing, position-aware proofs — specified precisely enough to reimplement in any language, with real worked hashes.
03 · API referenceAPI reference
POST /v1/events and GET /v1/events/:id/receipt — every field, every status code, idempotency, error shapes.
Receipt format
Every field in a v1 and v2 receipt, and why each one exists.
05 · erasure & retentionErasure & retention
How payload+salt deletion preserves the proof, retention_class, and why GoBD retention can override a GDPR erasure request for some records.
Reading the anchor on-chain yourself
The Anchored event ABI, and how to find your root with cast or viem against a public RPC — no account needed.
Not a customer yet?
The hosted API isn't open for self-serve signup. Read the two-endpoint overview on the main site, or get in touch to be onboarded directly. Everything on this page describes the current, shipped behaviour of backrun/engine — not a roadmap.
Looking for a plainer explanation to hand to a non-engineer — an auditor or compliance officer? See the user guide instead.