{"format":"receipts-proof/1","hash":"41342cd09c7846a891cbee0080eb2f103a38181312b9750d463caed1cbefded3","provider":"demo-rsi-reversion","seq":69,"kind":"signal","issued_at":"2026-10-02T08:25:45.893Z","prev":"023c51a66a2a49353611dfab735de4cc6ee05d4a13e51ff10e4a06e5f3402dc7","body":{"issued_at":"2026-10-02T08:25:45.893Z","kind":"signal","nonce":"4b54b9895a1231fe6b6cbc1eab972600","payload":{"entry":{"type":"market"},"expires_at":"2026-10-02T20:25:45.893Z","market":{"kind":"perp","symbol":"DOGEUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"0.09782","targets":["0.09682","0.09632"]},"prev":"023c51a66a2a49353611dfab735de4cc6ee05d4a13e51ff10e4a06e5f3402dc7","provider":"demo-rsi-reversion","seq":69,"v":1},"signer":null,"sig":null,"batch":{"root":"7b3d1224b6d7e4937bfd5fe15826158230b0a76c8f30c437034da1a68f68782c","index":2,"leaf_count":3,"proof":[{"side":"L","hash":"61e1121bc60f05d8489a2c25dd5b7ad76360fdaf114dc324fb39d549f80f884a"}],"sealed_at":"2026-10-02T08:26:45.619Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969564},"how_to_verify":["hash = sha256(\"receipts/v1\\n\" + canonical_json(body)), keys sorted, no whitespace.","body.prev must equal the hash of the same provider's event seq - 1 (64 zeros for seq 1).","If signer is set: sig must be a valid Ed25519 signature by signer over the UTF-8 bytes of \"receipts/v1/sig\\n\" + hash.","Fold the Merkle proof: node = sha256(0x01 || left || right); the result must equal batch.root.","Decode opentimestamps (base64) to a .ots file, then run: ots upgrade file.ots && ots verify -d <batch.root> file.ots","Or run: node scripts/verify-bundle.mjs bundle.json"]}