{"format":"receipts-proof/1","hash":"caad6ce5fee82559be2ae9534e219300ed2883b97657e42b4e74e636d8764b64","provider":"demo-rsi-reversion","seq":121,"kind":"signal","issued_at":"2026-10-12T14:45:09.344Z","prev":"e7c1bb2d4dd50c6c41f0f8761a32fed38b8998823cb85a4fe7bf978876ffbcfd","body":{"issued_at":"2026-10-12T14:45:09.344Z","kind":"signal","nonce":"4d3f771f7206e87590b5d50574be8ab4","payload":{"entry":{"type":"market"},"expires_at":"2026-10-13T02:45:09.344Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"108.17","targets":["109.51","110.18"]},"prev":"e7c1bb2d4dd50c6c41f0f8761a32fed38b8998823cb85a4fe7bf978876ffbcfd","provider":"demo-rsi-reversion","seq":121,"v":1},"signer":null,"sig":null,"batch":{"root":"caad6ce5fee82559be2ae9534e219300ed2883b97657e42b4e74e636d8764b64","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-12T14:45:12.838Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971107},"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"]}