{"format":"receipts-proof/1","hash":"f9d95e4ba8b54b0248c2b87f174c91e91752d322cf3defae527b8350487aeec2","provider":"demo-rsi-reversion","seq":46,"kind":"signal","issued_at":"2026-09-29T13:15:15.584Z","prev":"8d73bb7ec93c485e350ee8cc2b1e10ab1bc4a6ac930f9735833100bec7361c08","body":{"issued_at":"2026-09-29T13:15:15.584Z","kind":"signal","nonce":"f0e9bc2d2f42a2bdf4bfb989c30b59da","payload":{"entry":{"type":"market"},"expires_at":"2026-09-30T01:15:15.584Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"121.43","targets":["120.39","119.88"]},"prev":"8d73bb7ec93c485e350ee8cc2b1e10ab1bc4a6ac930f9735833100bec7361c08","provider":"demo-rsi-reversion","seq":46,"v":1},"signer":null,"sig":null,"batch":{"root":"f9d95e4ba8b54b0248c2b87f174c91e91752d322cf3defae527b8350487aeec2","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-29T13:16:05.373Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969160},"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"]}