{"format":"receipts-proof/1","hash":"9b267ab3dff5ce1859e2c9e89fa741079e1bb9ceec9c0060ade9ce1d2d985bc5","provider":"demo-ema-cross","seq":30,"kind":"signal","issued_at":"2026-09-26T22:27:42.368Z","prev":"e9f455a392f7064251636d6b893bbebb9391eca10c8f1773f270d4efe16d4768","body":{"issued_at":"2026-09-26T22:27:42.368Z","kind":"signal","nonce":"2ac158ee522a2da5e876d420d79ecfaa","payload":{"entry":{"type":"market"},"expires_at":"2026-09-27T22:27:42.368Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"120.89","targets":["123.26"]},"prev":"e9f455a392f7064251636d6b893bbebb9391eca10c8f1773f270d4efe16d4768","provider":"demo-ema-cross","seq":30,"v":1},"signer":null,"sig":null,"batch":{"root":"9b267ab3dff5ce1859e2c9e89fa741079e1bb9ceec9c0060ade9ce1d2d985bc5","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-26T22:44:28.569Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEImyZ6s9/1zhhZ4snon6dBB54buc7snABgrenOHS2YW8X/8AgUu+4F7G3H0AjwEEqGxYaDnSXvTrujioh0DLII8CB4NDlaPuQdQRfjrZFDlEvpzVCHK/80ktAZsm8eSH1uuQjwIH5ajcTfq6nLqxPO/7G9PmdKqa+dPFeM1bo25/ildbK4CPAghVXB50Xg2yXoWkRyCS6DDAHKBfODTJaApObc80gZNqEI8QRquErO8AhjHOgli9VjxAjwIIyXri5kw++muu1RW7HF0vL7PTcyor5pGobHF7ZTTBCnCPAg1o3CupvCB0mgx5O2wFaiyHCIc53jL0g6nlXeW7MANjEI8CAa2pUnN9ea6uX9Jsx5nyA+1mb3M+zboTFDvJNKt4YBKwjxIE5q6eq0IUcwM/x7NcNBSmC0u28a94gOqhDnZ0C5jiDwCPEgETxU/8WDkl15HxYN6RwjPTYUudu1PV6wdayp+vqfvAwI8CB7DkfoyGm/b4uksmrCgvgIEaB691XNDDgECgO1vI4+XQjwIImQZMe5J1HgbgumjFA8bPTBNTx/2j+xAScc2WuzpOmzCPAg9uHFuWpGqOKjUeuVOfzbppscsFuYkeejcziyLPlmAqcI8SAkH4qpy3QyVY8SkU6O1OAyhoaDct84ch1Ft2VmRtBZWAjxICOScQfedNfq1Tp86vX996aoZISCo2/HtgTGcdMThX7JCPAgUBoZeCiOTWlh2Xy3pqZQT82/7U+qaZZSppfe5L1z6ewI8SDEHmVT3VA2J+eFbIUTywiIsUO0wxUj+TFhHCBFtb02GwjwIGC4PzEpzWuEkEiLh7EbOZa3/lWKA2aWvNAEJrhql9UnCPFZAQAAAAH7OtxH4S1SpauP+CvuULdZhwQE0/jDFKH/d+0JWxVYcQAAAAAA/v///wI+WgEAAAAAABYAFAVvnAoFg2DOI0ytbd6PHD4xwvXeAAAAAAAAAAAiaiDwBC/IDgAICPEgS/M/RoPL47C3dgeaOjTyrzEYW47qCOgu8kLOK3296MYICPAgZHvdfqMh39BZ9vv6dD9lhBEDl+y7fAFmwDqGki64RE4ICPEgAHo8oAH8WYzh0NcQ64V2nnW6BRb2ek8S99G2yw9h5G0ICPEgXSiUTtWoDCtOFC9O08BM1kNQh9sfA+TwqNuFEeHGQkQICPEgIrr6lxqAVGwAzgxqet7AYc7aq/QOX76p+Lwz+xOvnaUICPEg06BduEjCUdQ+Hhn2dSDU2IUXwJHtVYHfxCMhI5oGwmAICPAgFzJuZOaUG6RTX3OTkgWw+8I/dcq/HRIcnuxX9w9RAJoICPEgUAOhiEMkSx2/wlBp/ikgjaMRl69ldLf5EwJ6LVsqVyYICPAgaJSWyh/LOUMk2jHBY9sFku9OeFy43WGSISlN7OJAKvEICPEgIElB4+Fd0MOVXyzcUSOLPfg+tdewd2bAnLfVnrBr8eAICPAgQicvWqJxQGHpZlQzokSmwUMUyZzGArMch5EKZnGrVjUICPAgnQT9rbjsuJ/yV3MbWOhf4a466tTeul6clbEIamVcGBsICPAgHwVEL9oKd0gXp4NdsOc7RmV+k3JRULODoIGuJh+swwwICAAFiJYNc9cZAQOwkDv/8AjzFSaBY02MLgjxIPfhF1j7FQBh5JDHiMHfumFY8tSgR0OyxfJu5VzDmBSSCPAQnjin/0WBrv1IhEK1zace2AjwIDD9wfx21nEZPhUhqvnV5lEDdKo/RK55W74Gmr76Ur7rCPEghOLXnXENDBqnOCUZenU4Lie8IESPhOh2fLFUzbwPtTUI8QRquErN8Aj6OE2imj/iMgjxIL3QIgrpfIZWaZoqiCR9x+ATELX33H8yRwJyBXpUA8BxCPEg2pTZOR8JviofGN+H9aeJlc+2g7z1nrFCwDa3IfQqI1UI8SBH4UqzjSWGp5VKVJuoSnqSZL1qBZtXGYuf5Q9VGVSCBQjwIDLdlBJgofTuY05DGzKKwepKuSlMt1PWOOQ9weaaW7zCCPAgO5svVonh6fDHzCFaNOpfNMZ0XIxhob7qiohtiQItgk0I8CDuh4lyv/C1wMIgX/a6sAHR+EVGQZSQNKAqsCWl3NavMwjwIPLQUrIRXfh1YX2JCd5RvXBYKJCDFVfjozfmlZKERHERCPEg04UM88K3UPzBxg6wUIFTU+NdMbd7ZHEq745ga6xLmTUI8CAwTRqdUny83ukfgrkL5pLaUHAXCwVGvkcCyDlyoXx4CAjxIP29C23HYpgd4DXcTkRTnjpmDsuyo/8TV415IDxlMLuqCPAgLyMOzI31owm3JdE1N5Ir90YdOWSOWSvB/skrxktLSAoI8CAPkp8guxttyCKpm+bBbfd/OTW4i85NW6tYnzqh+BljoQjxIMN9faJEDbSWXGiswiet6xL/eTjYoJdPELv0ild+fhfzCPFZAQAAAAFRHEI1KaGxr5hIduWr3XWKhjgwCb44RT7XJ/3ys6d5pQAAAAAA/v///wJFOQAAAAAAABYAFJMOikdzkoyB+DSR2cy7fwzapzrgAAAAAAAAAAAiaiDwBC/IDgAICPEgqRt2B2E8hIT7asAyim2Ui49iUCNmFyTElhREGCJHAlYICPAgsyItHVdQTDym+rRPSX7FXdJihmOZ2cIXCvt2L+MNf04ICPAgw+jpBc3N+6pOqzri30geeQYOvQ13TVKcxM0l8g8S39YICPEgqDWyP8XuQnBpTiuSHEsy9da0ST2edUVPbyd6MHfASC8ICPEgNgdfOaKnjf72WPxk8FfiAykQJa/Ue/aNvsjO6OfkgOEICPEgntvi2otXiywq6QMRjDA1IlCcxK55LdqO6TpvvZVWK/YICPEgyFaOr8cSRoZPrW2dlBBM5p0OsbtrYuxtahVvfpiRwMIICPAguvjY/UefnHp1pimFHCqg/MpNOfJerrN2pZ6C0pbnzSoICPEgslz0o+0QkLKB3XHVBAWNp+GeXWoeadA7RvVlNVvC1n4ICPAgpBqLMSTKJEzvnnSI1aunVGTeNPEoz+eSmjxidIO/zqAICPAgnEhkl4ZwZyban81/xuxI9YyrI5OCzlIWXWvTKu4DDuMICPEgUilJk6EuSo7BBJ9Nl3kalsBr7sPWdCSUDFVGr43GCLMICPAgHwVEL9oKd0gXp4NdsOc7RmV+k3JRULODoIGuJh+swwwICAAFiJYNc9cZAQOwkDvwEIvnfYaa30t+FLIeRr7hn4AI8SBH3Yj0ef3FuyxaiZhFeP5fap2UeYqq5TTsyHYIrN8DgwjxIEThIH/zMPIk6dB/E/rykMl3sh6Bc+WJT6Crq0Ot2C7hCPAgFHahPiR7S4t3vnpA7YpX5gNGyN6ltm9gJ/tFnl6jSPkI8QRquErN8AjGCzPYuP0WxQjwIAXHytqHzoEGVRGsmsgXklwPJJmZdkXmarZdodX5LupvCPAg+WcDECAZ/zPcuGgC56fAn4OyI9FLa8wJ35CVNnPCMssI8CAOrRqFUWgp3xbXBzi2gNzxbxX5G7X3SkZPkDuwxfN9WwjwIOI6+0zl7rxBZsAR6YKFQrxC+oz2Cg0TV8/sNA+II7CdCPAg3HXBYMUJPw2QvfR+qLzUtlFGIt42kD3I63XHBraZjFwI8SBtHB5RY9yEly5XfyedkVvmFB8wFJafqNGcUC13u+yFkgjxIChlZN5hZWhTYMqntbsoN0jN52lL233qwY+SBdKcS9qaCPEgfVFw7iUdemDp5YFyb7GUQW3Qx5Zb8YrcHgkrZqPMh3MI8SDxCl3GocdER1fnt+USAt76NdE3t/z0JBYF8jjwVJfcjgjwIJnEIHBSNSTUkwnPveWda5CLUpAfBOF+IE3TUvUwzmNlCPAgbutY7/PFxZcHG/oQRUJy8Z96tXtK+bvZg6kGgtZRzm4I8CAjygb5/FvQRrjSz6VXXjGSMgkrVjhXwvjvJL5Bg3TRJgjxIM/lMmyU3Lqya3ey//SFlSpTUAL4K92+ClfQWXJP+ZKqCPEgfgdhvMUdGw0E91usHEjhB9XSjw9Mvz9SpDXfFcphuIUI8VkBAAAAAfxMQ/U6ihpii2+lRf1UvYuXqLslJMVdBWA7oLub6MYlAAAAAAD+////AkwoAgAAAAAAFgAUdlmG4xsIeHlxiBgSx/OEYwAAhqUAAAAAAAAAACJqIPAEL8gOAAgI8CDydj3kK4P6zB5SrvUPR/48DtlSWD725tdxyP8U246HmwgI8SCYKSrP9Q0emWua/D37xbAiJ2vOLM6D/Ru8a29lUxl2cQgI8SAvcqSOcZ6NZRUmQeh1GnDwqiapEtKL5uaPRif/LOsLKwgI8CBM8zBpBJwwc5K8GxMM7ZUq8vBHslowrARC8amDWvlpSggI8SBlmwlIdUJCFdd4RtQn79eDXG4LBeS7u9CPRPVIm0vMQAgI8SCnz0iKFhPCqIcRI/ImB4rv4rtU/YFzEkMoybP2wnNjvwgI8CCMd+AAzsOb+G2lX/DbH+fb/8XOJ/4c2m7LmpUwT+31vggI8CB9OCQaW61o6qKCwReOu15HLXBRPNOP/L8ZxZGuLD8ZwQgI8CDLtCRJ5jCcBzv7p6zEMJu4t0eTFnkFl2MzWBrabgI/kwgI8SABqPqRNBlv0FneNX1ozh7o9Uxwar8JXkus0L44/i7KRQgI8CA7e4ED7wGgbU+DXm/9dWB41dXQDW3FK0bM/38M73go8ggI8CAVkILsEJjhIBS3ShxxdhKKQgl623/g320GRGv8U3z1dwgI8SC+qfxAEpRteYhb9d9zA2WyAWVPveiRaa0S+oNH+H2YkAgIAAWIlg1z1xkBA7CQOw==","chain_anchor":null,"bitcoin_block":968752},"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"]}