Certification attests; it does not compute
The most common misread is that "certified" means the platform computed your result for you. It does not. The evidence doc names this a state transition, and the transition is the whole idea: a result moves from computed to attested-correct without the attester ever touching the computation.
Here is the sequence:
- The deterministic sim and the Grade run — byte-deterministic across engines by construction, so the result reproduces bit for bit.
- What comes out is an unsigned bundle: input roots, artifact roots, the engine and runtime versions, the judge, the output root, and a replay manifest.
- A separate control-plane verifier establishes correctness by pinned, deterministic recomputation — and only then signs that exact bundle.
No certification key ever enters the compute path. The thing that signs is not the thing that computes.
Attestation, not authority
The signature is an attestation: it says these bytes were established correct. It is emphatically not an authority signature — holding a certified proof grants you no power, no scope, no ability to act. A receipt is never a key. This line is load-bearing: it is exactly why a proof URL can be public, anonymous, and read-only without leaking anything, and why the verify key that checks it cannot sign anything.
Self-hosting computes the same numbers
Because certification lives outside the compute path, self-hosted Kestrel computes the same numbers the platform does. The open engine and the open judge are the arithmetic; the platform's added value is minting the attested receipt over a bundle it independently recomputed. You are never asked to trust the platform's math — you are invited to reproduce it and then let the platform seal it.
This is what answers the "seal it or it's fiction" reflex: a result you can recompute yourself, plus a signature from someone who recomputed it too.
See it in kestrel
Recompute an existing proof, then check its seal — two commands, two different guarantees:
npx kestrel.markets certify https://kestrel.markets/proof/art_f576347572a410a52647cf90
npx kestrel.markets verify https://kestrel.markets/proof/art_f576347572a410a52647cf90certify re-projects the Blotter locally and reproduces the result byte-for-byte
— you compute the numbers. verify checks the platform's Ed25519 signature over
exactly those bytes — you confirm the seal. The compute and the attestation
stay separate in your hands, just as they are in the platform's.
Keep both one command away: drop the kestrel.markets MCP server into your client and recomputation is available across sessions with no fresh discovery hop.