{"format":"receipts-proof/1","hash":"f8cb1e15c57ad3b8572173113c57a7ba4a2b51b95433e2843b4cc3cf1ce9ffba","provider":"demo-rsi-reversion","seq":66,"kind":"signal","issued_at":"2026-10-01T21:50:32.320Z","prev":"c52a82f83add6c81a198b705cdf19abde08e6df2d2a600f5f294e05dce202b0e","body":{"issued_at":"2026-10-01T21:50:32.320Z","kind":"signal","nonce":"9927a8adde17d1a0e6d89fd67a187ad7","payload":{"entry":{"type":"market"},"expires_at":"2026-10-02T09:50:32.320Z","market":{"kind":"perp","symbol":"DOGEUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"0.09365","targets":["0.09423","0.09451"]},"prev":"c52a82f83add6c81a198b705cdf19abde08e6df2d2a600f5f294e05dce202b0e","provider":"demo-rsi-reversion","seq":66,"v":1},"signer":null,"sig":null,"batch":{"root":"f8cb1e15c57ad3b8572173113c57a7ba4a2b51b95433e2843b4cc3cf1ce9ffba","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-01T21:56:30.479Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEI+MseFcV607hXIXMRPFenukorUblUM+KEO0zDzxzp/7r/8AjICOFLD1zGsgjwEJpGFJ2g38HFFaLBN9B7UFoI8CBX2lUY82ai0eYyg1HloPD/0Z7pJFxvYwey20WS2EjqVAjxILgQwYuHJQBzHXlrrDfj1wMXSTT3JEtZo0i0h9+c/y0ZCPEEar7XD/AIWT8EJSF07/QI8CD+BfQwq1/N4JHlD+UxsXzfAmV9ONkkMkrUXJASiwenYgjwIDthFv2TAb4rysqrdK2eaOsVXNIiP3a+NSyAGYZlT1LkCPEgm/Mx+Jt3tpY5roA55r8P0QVLV84cr8Y7vu3bUho0FY8I8CDSj2dRctiq+FKIQBESZdZFiX2tDwFlkwRMVAgqe0ACFwjxIMuLta7GoRhDnI/jj096CCkJcaprxXX/aQmB2zz20XUTCPEgJYwOPUwgOmjPye0fo+tRCw4YDE5/z6b1o9xEmdFRaJYI8SAVsN3x3u0LTm8C6EwV4Lo+huK4H2tal//DrYa/813EWgjwIKIEotZDMZlGV+Gtf2fHRxMb5G0J7IrOBIwWurxexS33CPAgOnyekAPJuhmgXAXPJ5S1gQ+RR6rttDtgDXeHA10nyUAI8SBmR2lZ2JdN/pg+pyLWoKicsvHD+icjeZm+zJx95cP5fwjwIKmWS7IkamR5bizBaLWnYQI5qO9tM25ggaCL76YNHQQRCPEgapDKocx5bcx42lezB7FP1vJeaT1EZIxaryjEZFY4dMEI8SBR8KGmDgax6udeZaGGx+6xfJAz3CPRcJbY1wPgT5CIsgjwIG75MAuc7765x8eXPJwqRhnfUW4UXTEwkqp8nMOga0A/CPFZAQAAAAHuPFWDcdxeLCemc7eQzzbI0aRh8HOmtW7LQAQsYOhgBgAAAAAA/v///wL6PwAAAAAAABYAFPniJKkwqE9CNNwv9ZP/4qAlyhLOAAAAAAAAAAAiaiDwBBvLDgAICPEg62o55LTyRlhs7ggbpDKBk8g2m2eodvgp1ZamskWgn3kICPAge0wcjMiVuVz4z2QsTRis/pZ+m1nOxjuiGOG92iUoVJ8ICPAgWdLiUdoy5WvmnDUBcCD4GXk06FEfbQetqraz8lsyEnMICPAgQRSyDLd6afgorAMn8aKqlxcmH9JK++pBndtDAlyeSWEICPEgTwW2FNQL+RD0phJiTSg/E7rmnvnOHOKy8ewv0LZ2Am0ICPEgmLwZLF6tjvIOgMt4CC8UI3W0hxGw5s2Jh5xNamIGc8cICPEgL0MEd+U5BegjYBooi7pmTOhZQNSMNk1C53+DkFJxeRYICPEgtBUIWggUjUVrES56LBJqP0FjFeRkH2RLZSJyiHJVmpEICPAgDsdGGLWhTk7YuBjTO2OJC7uVXW5CpEOacAp9fjtqLzcICPAg+IAX9AUxdFzMPJoNKAvHGWvh3VHpJiFw1ffylx9gzeEICPAg1aNh050zYs8RiuqRKUyumRXL0LOvRrknN9TvgMOR3eEICPAge6Gt+77+fHgH2dE2F3kMJRPCg2POQDa6u/14Y7t2pKYICAAFiJYNc9cZAQOcljv/8AiwpVrFLOSL1gjwEDbcSK8RSoUywe2gjAv0nuYI8SBbt2batl3o9aR5hOXLDiW4G3MOlwoTDz5vTWCu6qpjfwjwIINFoq1qjDXvn3jwpPsH7DY6qHM7Lcjby/gFSURPl8/6CPEEar7XD/AI3Ywn1o8qp2QI8CAK14Maafvm6E6h6tpp9N1q7DnJNwaYtsriZOMZF3LmWgjwICairFlK8GGG0SXqt5+qSwfwpEg77sBOb6KOGOkn9hRuCPAgrn6WNCthR9MiZMudEMSvjc6Tvj66WGs5fiJ7rebGMwQI8CCiL8q1LWgxlpuKd9j4NDK2ZJH+xXxqAMwip8+Fs/aiVwjxIDHZDtQZFi/s/lPaOnXnT3iq1suqiivlh0tjMAvL9wfSCPAgLruPIRnmpx5nY7NQzvOEiG1oREQTwYTs17Re+A2SkcII8CBMWpzskCGUhrCKZqcielLQ7FaZ6Gl7x8w+abYNGBGXoQjwIC1uyhj1lxBPGl8xVAA3MWvGJkVxLS7IiZiXg7PJm1fICPAgp5nheJrJEWH1xFnanP+UHlX3QWpAdJkax3alXXkfUUQI8SADR58rGp28V364q+CXz08x9x2hUmXi3EZ+ZOAr1RjINAjxID9am78fAMfrsJXWKkF3a80nIJpuFJn/72u1xA56zj56CPAgRQMpd3IHmkTN1OGWzlOw43IUHzvzC8ckWFJQ11O5TMEI8CBz9pWxdNg7Rau+HvBvZVblCVuh2OSDNoD9GaShjTgB2wjxIAFZgntcDtCXNFtxayp21Uu4/lDVBFH5u528cCwL8msfCPFZAQAAAAFO+KLHZV6WDSSi46hVklvZv6zj4yIXW+g9i7yEDusYnAAAAAAA/v///wL7XwAAAAAAABYAFO6q3I5eMh/hGVduiN14SVtI/6vZAAAAAAAAAAAiaiDwBBzLDgAICPAgPZ+iZIStkqMWnv1W1DUk4Ot2QUoimeBFzDYXqGlFGdsICPEg3KWe/mRZ6PkLqpUfwbaOx5HYWTbKWrhdg04cgBOT95MICPAgVcJmubwyDifLQzGsTFkRG8U7bf8U4LvwtWVQMjvQWdUICPAg5GUU1M5GPjHuf77XTca/AH/JvVGTleczvoJq7tcmjOIICPAgkWIqZgwzeTC0Ea2wBKbpHPcuNNzNGYa/PusQj+MZlfMICPEgsR8iMZUxApws6s0+cKQEJwazY3ATDMUw2Po4udLDE5UICPAgafsEXRF6u4hg4Rd9IRh7/uCKr9ezayQ+/WVcyXdh744ICPEgu+xUIo+VUbkTmpCJWGkeFPnuO63ggEN7lYbbTea3EVQICPAgymDBk/Vo+sK1MyI4oLVt/haMCA/PzIx8amHftS6GyCAICPEgw1S99IOpF0w0KF5NscLtnPI+9JYqQEHbobnMAakzo/YICPEge+phQuOS+oxqnlELC8W15dohy+Aop9sp1BoK17zTZ5QICPAg8vEsYQjnuS2uqiO3hKnI+tiFOe3rkqw9r/tafCezk6oICAAFiJYNc9cZAQOdljvwEJZgPBBrcW8XdouRKJQUMZAI8SBnhzmHY2u9lh39fMUOKGoShxt4eyobpAEBfVu3pSvv9gjxBGq+1w7wCFOttIrpy26jCPAg5D5L+duPm9xLeVzCWh80Gv3VKFRoaRxQUgWLeO5CuBoI8CB5RIwsPg+ZChg3db644i2b4FbFdZBmeyqNAdUPcvGtLwjwIH9QR6hs+N3Z+2DVS53apqUvufmP8AJ0rL6RhGn8t8WQCPEguxpuxeH5q5dQZ7WWNEaXlOmaJv/ITaVuA5UbwUzVA3UI8CB5TZ9GG4/lRsje9uXPZ8X7+jKT42qD0iWWkSeYjpK+rAjxIDNvaGQJMfknEwnqmmcK5NWJHnXSGcd9LQUMne/wMWeMCPEgOBBgr4+9y/LLkyP7g0hurAeKQaGuVJnaKpJwgv8ARfUI8SDK1ABAM8xf8p+6fCY3a1RQHpDdmhaRCejDfw9pV+0i9wjxIOweBUIJlssRLlYXxTlhFjp3NdSsZM60E1DsBZE6SwtRCPAgnbUejXotHF/BBpknonDPE/4LBJWeyx74cg3jG7o18zgI8CB7LaPCzqjf64LZ9XAb/7Tp0aUhpHJ+EedU0nVvQZaSUQjxILgOoqBCmpiK/+4gy+CABzkuhMKqZH7X+N6cfdHZi991CPEgNVkovjw2tcM6l+o9a53PiHnIMZMly4wT1LXZghc06ykI8CDc7d3qdQtoCxgjqw9hIIWpHFjcIsZdl7b/ELVZTbnOwgjxILjZIdj+gYkxiYASE7H/vaX+bzdsT7Jr6ZEYJouPwszfCPAgIIC2XrRbem0ZReKbEH8KbtFDicZOvzv15sxkl531vywI8VkBAAAAAWCXYjPty/tNerf5pzuqemxpJWbpvgijcM9D9SA9IQzGAAAAAAD+////AgYhAgAAAAAAFgAUOLoPX9LzqbEXS7zhCajLQMqPcRYAAAAAAAAAACJqIPAEJcsOAAgI8CAztlt2ctDw1KJjHNH+hQBtrqJOHpuIAKewttfg6RgU7wgI8CBp7goLnk1Uv5OAUFwFhJUWdt9XzinFr2AVDTKdYsI+uggI8CAUql2bJPZuHL0L8r59vfiYeL5P3BuKi5RJ/A9zt7v4CggI8CCb/4m1GUBbMnRoD03J427upybJWI1uT6xbH5JsjDMZtggI8SBkwgIPNBDu8DtAdowtqjsgbwq5LXl7ST1I8kqf7joRjwgI8SA2uRJOgzfL2xA5haVHGR19peBiJaPebdPsxEQnBlKfQAgI8CBifOaACYJx6hvcXEAjzHcAuAEwRh/NKPpGnn2AwS1jCAgI8SAmolQ4ifN7iU0bbpbEsaVRD5+965Nwtr9leNTa07iFrQgI8SBioS57FACHE2/HTbTKtbpsqiPVpfTtRltfCcqY0dUZ8wgI8SDSQHlgqHG5oNnNfV2lbyeqP7Uv81StEDq3yuiswvfiDAgI8CBWFYEWi+30tUo5RoqTravJqwLNEo9K0uEZdF3D5ico3QgI8CC2UivsJTxou/LA+HRpGhdz92p8l4zDunEz3PVIHKVNpggI8CChI5ezRMSozKoAo9epkCct4g8IkbaVomguYAKErFwLvAgIAAWIlg1z1xkBA6aWOw==","chain_anchor":null,"bitcoin_block":969500},"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"]}