{"format":"receipts-proof/1","hash":"ed5b34cd94dc20e7eb082cec72939cad695dd63012f68d0c6797e1eaac797b9c","provider":"demo-rsi-reversion","seq":52,"kind":"signal","issued_at":"2026-09-30T09:40:50.640Z","prev":"578b57cc28ccd3b8b971b6848d03ffc64c290b26b4f63287490940022777acff","body":{"issued_at":"2026-09-30T09:40:50.640Z","kind":"signal","nonce":"ecc24fc97ad0d8332f97889f449f1296","payload":{"entry":{"type":"market"},"expires_at":"2026-09-30T21:40:50.640Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"2695.42","targets":["2680.24","2672.65"]},"prev":"578b57cc28ccd3b8b971b6848d03ffc64c290b26b4f63287490940022777acff","provider":"demo-rsi-reversion","seq":52,"v":1},"signer":null,"sig":null,"batch":{"root":"ed5b34cd94dc20e7eb082cec72939cad695dd63012f68d0c6797e1eaac797b9c","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-30T09:41:40.703Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969292},"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"]}