{"format":"receipts-proof/1","hash":"e15844c3203c972a0627dba00cdb0a10033d10501ca03d39aab3815b45859cc2","provider":"demo-rsi-reversion","seq":72,"kind":"signal","issued_at":"2026-10-02T18:45:54.513Z","prev":"c6f7b9ee6527baddd1d5e069c2bf990c6a9f11a12b2b1f039a9d165fd83098bd","body":{"issued_at":"2026-10-02T18:45:54.513Z","kind":"signal","nonce":"5f0d2bc5d0a88afcc9b68fb5e08d4531","payload":{"entry":{"type":"market"},"expires_at":"2026-10-03T06:45:54.513Z","market":{"kind":"perp","symbol":"XRPUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"1.4462","targets":["1.4722","1.4852"]},"prev":"c6f7b9ee6527baddd1d5e069c2bf990c6a9f11a12b2b1f039a9d165fd83098bd","provider":"demo-rsi-reversion","seq":72,"v":1},"signer":null,"sig":null,"batch":{"root":"3e316c5b51c90a9b32579c86ca69afd5b6086591ec52c803cef9aedde744a1c2","index":2,"leaf_count":3,"proof":[{"side":"L","hash":"77fdbc25795abc3724ad5090a90fd87c7faf5bcd81338e5fe52615fa44a54d21"}],"sealed_at":"2026-10-02T18:46:54.511Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969627},"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"]}