{"format":"receipts-proof/1","hash":"b6f215c8c3c4f720eeb13bf11eeb8b06623693f0ed684c458c86d7eb198aa307","provider":"demo-rsi-reversion","seq":124,"kind":"signal","issued_at":"2026-10-12T21:55:11.130Z","prev":"800e06afffbb801ece9da7908c86359a13db760bf58fc2575c429b6d8f82baa9","body":{"issued_at":"2026-10-12T21:55:11.130Z","kind":"signal","nonce":"5b4cd1b41573bf813dabcee252792138","payload":{"entry":{"type":"market"},"expires_at":"2026-10-13T09:55:11.130Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"106.79","targets":["107.77","108.26"]},"prev":"800e06afffbb801ece9da7908c86359a13db760bf58fc2575c429b6d8f82baa9","provider":"demo-rsi-reversion","seq":124,"v":1},"signer":null,"sig":null,"batch":{"root":"9379f677406c25ed2408b20468e079ed2bdd8ca1ec2fc9daea96d600a8187fbf","index":0,"leaf_count":3,"proof":[{"side":"R","hash":"8f7be9857e0e2bca9c09c9bf60f30305d8393ec141610be7a02aa1b9fcca91f7"},{"side":"R","hash":"e310043196ef43e2727a87162623caca30069d50dc27a47ce0d3cf63b1278635"}],"sealed_at":"2026-10-12T21:55:14.091Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971145},"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"]}