07 / 10
Verify it yourself
Kiln publishes its accounting so you do not have to trust it. Weights, manifests and proofs are canonical bytes that anyone can recompute.
Receipts
kiln.cash/proof lists every finalized epoch with five receipts:
- Fees in — the confirmed fee receipts.
- Costs out — each conversion and delivery cost.
- Stocks bought — the net Stock Token units received.
- Shares set — the frozen weight of every wallet.
- Stocks sent — each delivery transaction on chain.
Public endpoints
| Endpoint | Returns |
|---|---|
/api/public/config | Token, launch status, lanes, fee model, finality policy, configuration problems |
/api/public/epochs | Finalized epochs with provenance |
/api/public/epochs/:id/weights | Canonical weights for one epoch |
/api/public/manifests/:digest | A kiln-manifest/1 document |
/api/public/proofs/:seq/:address/:asset | Your Merkle proof for one root |
/api/public/treasury | Treasury view with fee basis and observation time |
All endpoints are read-only and unauthenticated.
Rebuild it
# self-test the verifier
node packages/core/scripts/kiln-verify.mjs selftest
# recompute the root and totals of a manifest
node packages/core/scripts/kiln-verify.mjs verify-manifest manifest.json
# check your inclusion proof
node packages/core/scripts/kiln-verify.mjs verify-proof manifest.json proof.json
# rebuild an epoch's weights from chain history
pnpm --filter @kiln/solver snapshot -- --token <KILN> --epoch <ID> --rpc <RPC> --json mine.json
Compare mine.json with /api/public/epochs/:id/weights byte for byte.
What a proof proves
A Merkle root commits to a list of entitlements. It proves your entry is in the list. It does not, by itself, prove the list was computed correctly. That is what the weights download and the rebuild are for. If you find a discrepancy, report it on @itsKilnOnchain.
What a proof is not
A proposed manifest is not a published root. A published root is not a delivered payout. Only a confirmed Stock Token transfer to your wallet is a delivery. The site labels each state.
Next: Risks and restrictions →