{"format":"receipts-proof/1","hash":"70b7d9c64a0e528bea5a3c9e44f8dfebabbfbf3489853f18912423f2a6554adb","provider":"demo-rsi-reversion","seq":165,"kind":"signal","issued_at":"2026-10-21T09:40:42.131Z","prev":"30bed16565d79efa55d63529eab6f37fe9465486736ee25934d512a05158dc46","body":{"issued_at":"2026-10-21T09:40:42.131Z","kind":"signal","nonce":"af43dd9aca6b963cb9fdd3606e7fcd5f","payload":{"entry":{"type":"market"},"expires_at":"2026-10-21T21:40:42.131Z","market":{"kind":"perp","symbol":"XRPUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"1.3687","targets":["1.3543","1.3471"]},"prev":"30bed16565d79efa55d63529eab6f37fe9465486736ee25934d512a05158dc46","provider":"demo-rsi-reversion","seq":165,"v":1},"signer":null,"sig":null,"batch":{"root":"70b7d9c64a0e528bea5a3c9e44f8dfebabbfbf3489853f18912423f2a6554adb","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-21T09:41:39.567Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":972454},"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"]}