{"format":"receipts-proof/1","hash":"7d361a8d0a7337901bf07881ccbb924b71f1f5e2fdaa5a8fc241fea58512252c","provider":"demo-rsi-reversion","seq":75,"kind":"signal","issued_at":"2026-10-02T23:59:24.619Z","prev":"b768beccc7565b27229f449c0f021485e64ff18da158a772e5e34a0a8286d072","body":{"issued_at":"2026-10-02T23:59:24.619Z","kind":"signal","nonce":"14d5c988ccdee3fef94c8bac9b8cec18","payload":{"entry":{"type":"market"},"expires_at":"2026-10-03T11:59:24.619Z","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.4874","targets":["1.4834","1.4814"]},"prev":"b768beccc7565b27229f449c0f021485e64ff18da158a772e5e34a0a8286d072","provider":"demo-rsi-reversion","seq":75,"v":1},"signer":null,"sig":null,"batch":{"root":"7d361a8d0a7337901bf07881ccbb924b71f1f5e2fdaa5a8fc241fea58512252c","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-03T00:00:24.624Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIfTYajQpzN5Ab8HiBzLuSS3Hx9eL9qlqPwkH+pYUSJSz/8AiSshcwnenuHwjwEPx75A42PorSdFztY7P7TAII8CCHuTNmhOpSex7iHukZYLG9ZeEzyRO3umwAhjHqxkHlfQjxIEhxnmvr5QC8OEQ5gllxH2TMn8yHjAU6d52NZmHvDhJMCPEEasBFmvAIFQktx6rRBHUI8SCk4AjP/ZJXNGkwn6CfTiaj/ThtzOJDLcH3JC92AijxhwjwIGguhR+ns5/jupDtQQ7z73tyrSjbeMl/brjSPWuHeJw/CPEgIM62tYmoO4DdiaUAHqTnZDAMhUJTJbsU7DkS7ddRErUI8SCHrHjBBDXf4MXq08XBPncciKURve5zGStAGqlt+IrWOgjxINS8GVWjVgwMO+gJMjZ5WEihuhOoiIgKp/3+3VHrothFCPAg0VRXGsMc0u5ftXIi1tVxUcpL6WSJ2Vnb0lUkkw5q9w4I8SCNSdMjqgErRJtAAP7+g1LueHe1dYOLlSBCMp9hJdFH2gjwINzlMgKXrCrDJjQ+vsSKVwr4+W5Vcbgm12y/bD50GZVXCPEgXU3af5IB9VPj70/ybvk4HcT4unaQLYTVHxlRVchizLUI8SB68aPIhuFTB7xiWNL1TREdfOY3leafZtSw7UuOcMXz1QjxIAASdrrikjoc4V8mtWa01nDh6OT8l/l/IbwwqvEpfOp2CPFZAQAAAAGC5PAulUJFKVcWNJTzk1Enpc6D8dpqLxtCoQigGl/D0gAAAAAA/v///wKvJQAAAAAAABYAFFvPU1yQBQUzc4kSuD03c56R/tNNAAAAAAAAAAAiaiDwBK/LDgAICPAgfa6EK3uSu0JmmPfX+fWeRvzqy7lT+4z9j3GoizHfzrgICPEgCLcyTZ0c0ajD0BmDIjY56QJIQn4t2LcvhgshP+uaKdMICPAg9jCbO5+8zTngbIhB24gm0btF86KGFJ34EbxVrgenIREICPEgpt8OHSWh1whLEAm5knrbSxSFiQnVpw/HdyP+WY4APq0ICPEgIaNoi4diRkTwTO44Tmqsys1d1/PA3ZsG2a/qL19QK8kICPAgdDGRFA80SQc27z4wTLiW266siT6CIaMWnByRDj5x7kMICPEgJ/ZEP+ZSyisLOc9gL5elhGfYwXFqzsWFXLOcpqT8WvgICPAgOuxiJyb0TN1St3KHUvndOuIUJUMV9Hiu+N8buklfLx8ICPEgH+R88aFIY5gA+hlg7VbU38qRTFZSCJlxs9DXta+G1fQICPAgEEc2MbphkBDlBndRFflQ3/zSA/QhVLA07i/5T63rR9QICPEgbpBaAnNgfOrIfaEjQV4UinrN9TKV6Jg/R9XvMRxiSxYICPAgwju/Gy0rsnv0+BtSLFqdjS+gMsQoXPBFodsi1ZIoX2sICAAFiJYNc9cZAQOwlzv/8Ai8VdOeWtlyFAjxIEYdJP5/DfAAcugd1izgKNo7KgmpwYnav3c9l5gJFzTcCPAQEOPfPeVNMUoDtKnOCPJBnwjwIOaNHaysdu0/GauIstd505k5fd1TQijpwB5mF4WvTF86CPAgSc8uiGlV/BJF9MgdID6d5TZJjDmB4VAU9hJzJ4oYigcI8SDL89hQm3nW0vLagGdRijoAOh9WdjE9MLmbK0kdwYY2QAjxBGrARZnwCDs/mYlSZ5kGAIPf4w0u+QyOLCtodHRwczovL2JvYi5idGMuY2FsZW5kYXIub3BlbnRpbWVzdGFtcHMub3Jn8BBQ2CdJxmQ92Djqx9rLx2hDCPEgUsMShyQ5axbh46uiZfFovBzaOUKlfG+pcwPQAggCi3II8CBRbcSkwwg18X5lV8lPudBVH+F6Y+kYz+yvhdFSi9iewgjxICtsQVxGYr1L9gpu7KGfDgWJfF1qh3KyveY5POqLfItZCPAgEgeR6UD2R47krM9iGoHiVvFsq3vomFE6qap0JMzm0XQI8QRqwEWZ8AgBML1gi+utyQCD3+MNLvkMjikoaHR0cHM6Ly9maW5uZXkuY2FsZW5kYXIuZXRlcm5pdHl3YWxsLmNvbQ==","chain_anchor":null,"bitcoin_block":969648},"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"]}