{"format":"receipts-proof/1","hash":"b5afe76bee88504d291e59ceae41770dfbe18e3ded44351e575a4c34b54a2434","provider":"demo-ema-cross","seq":160,"kind":"signal","issued_at":"2026-10-14T12:45:36.718Z","prev":"27a4079af3e072cffaf40bec8cd0e55094467f705d34239d2327ec9f9bb29384","body":{"issued_at":"2026-10-14T12:45:36.718Z","kind":"signal","nonce":"60bd5f0e9ab06bfa6e1464166753609e","payload":{"entry":{"type":"market"},"expires_at":"2026-10-15T12:45:36.718Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2498.08","targets":["2449.28"]},"prev":"27a4079af3e072cffaf40bec8cd0e55094467f705d34239d2327ec9f9bb29384","provider":"demo-ema-cross","seq":160,"v":1},"signer":null,"sig":null,"batch":{"root":"3790203ede52248e736055ab7779582bb1925ed9682c17e522293884d3746c2c","index":1,"leaf_count":4,"proof":[{"side":"L","hash":"27a4079af3e072cffaf40bec8cd0e55094467f705d34239d2327ec9f9bb29384"},{"side":"R","hash":"0049bc783467b5ff9e38865697e443f783b30167836bab993f88d0a5007e1b71"}],"sealed_at":"2026-10-14T12:45:38.648Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIN5AgPt5SJI5zYFWrd3lYK7GSXtloLBflIik4hNN0bCz/8AguwcZip9YfyQjwIK2d8RvzcypTvvc7v1UVyqA0tpCm34ECeVKOwHBuPIJVCPAQZsAedkLWDrrv52YSkqlLkQjxIIRYr6jc7eVYEHIrHyWACuY+1XxvhHHZUZI7v6IZE7A9CPAg0udkKBo/dSputlu6Es3tCyO7xn6MufN4wMikIin1dNEI8QRqz3lz8AgXSVvHHdF+7wjwICq2Mb9+JHQFThHDu8V+G9Aj3qIdyZ3z0a4KP3R+Z58/CPEg3hby7XUwB9UkDQRiL1B6gikvcbfjdE1Ct1JWUvOfCKII8SCHh+S3aA/5n1QOMsvpM1yMkNpmbm39sOux5ku9DiFLbAjwIONi7DbfhPyf1kqtqDXgCU1JDbjDx42DxW1yRYqyvsEYCPEgai9DipPnRxY3maFLdJfZpvIPpJvT6BqTM/qi8ccp54kI8SCSin/Iks4q+SLV3LRgLWGxaX08NNmnuUTCcT1+iJYZXQjwIEB/ETBt/3ig+EFhRZHaki/tyYBEVPOsZxYOQ2nmiKDLCPAghHvR+QQK9y3TQoRfvFJOazuabpwy0cQEvavIeH+fZrEI8CDMv++rGJ0+z90i3XATfadmkAb3YeMmtoHwVbKET6VcPQjwIK+QTOvzX+foJ+Oi85+1/qOeG9mNbY/vkGtvscFWpv8MCPAg64wz/xRr46SWtAyZVK4cpdi5C0TGuXs25WTSdWgrnDwI8CBPaUVzidz/CXBXNeG0jLJUrCal4h604Y0eM/Ge1b0cxwjxWQEAAAABgi45VhS8PA65ptRvGRTok5VLVGclepfAyrqMBz/wVN8AAAAAAP7///8CQwUAAAAAAAAWABQZaP4Nj++2VoIPB8V93h6xv/aOdQAAAAAAAAAAImog8ASR0g4ACAjwIFeGFu0s1DHjfFW7iJlJpeUAE+JUAb1AKGuvSMxOmP3vCAjwIJAd1wXkG5EMVwRszGq+8KpwXF8bqwwNQp1W3/dBFinkCAjwIDAIKiRNqc3FNuCSZYRF0Jv6sMMbdb/SsgLHaDXMAskUCAjxIF11yPuoGoGrrapHLFhK5TmgT+4YVCU/BGSifiafar3YCAjwIHtcDivsWd6bE8ufBzrXMy+EXaQKnGKyKnlaK7C9s27HCAjxIDbF80KMslIfrkyGBl6IwsX7hza1eytRL+hzA7uLziJyCAjxIGUwwiDe7Nq41n6vhGDQQxwEoOzCL7TNCAxmdv8vPDHgCAjxIFWesTr97Kx6R1h4GMEZuHFFOE9cSy26B1y4YYLuJT8BCAjwIJ30oZS+xjdw4ONnMzJQj12mVTsHOgGGy7yx2f36j7fNCAjwIFmi5WXPY29b6yoQINfVq6uqMyAuuHuuR6jTAcDjqtV6CAjwIPTOMwHvQoYPNns2B3SvG3xHcNun5nLH2pZdFk65V/imCAjxIBwi8gpAz2e5dmPQ2i0/2VinDqn7VnSzDLA4xz4feechCAgABYiWDXPXGQEDkqU7//AIb1Vb07IfO/EI8SA49/rMkCx3PebDoXYtS7ubVHMAmMb3iy2kg7ws9cYOngjwIHNz9gmBvnUYoUXm5HNDme9l27wuDulhCxpira+Mel3qCPAQESQ9evYxB8ev3n3yZooPkwjxIFy1qsrvnIasyxkc7FBaQXV7MV2a5F/qI0vX0QHYPfAuCPAgyjVKA66y3mGz7//Upi1bNfzw/DJ0vldY7wpQHI6QppMI8CC6RLfzq6qiAY92lhdg8zF8J22sCvyF5uk3+zNr9xlxcgjxBGrPeXPwCBodzpf1RYBtCPAgHKtHV6/Q9r3DL8+LOmfyDOe4MDnB6JfaFvQh0lrLsPAI8CDTpN/DQ6kHcBXMWwW0WGwnhMe0xR7zHfBSW15q6hEZWwjwIFcurfgfhnlNTqHiVUvvu5zQ3KzcZ7G+DuJ9+KDeHDHyCPEgzu3ZnXppm6/MFTezDdSGheotjV+WHdxR9ifCCQwVW54I8SBsiXDq5XMpojmTJnDUZpfpCtpLfE6HUSHv17GXLOrxtgjxIOb+VAxAqG0UMScoJv4RV2mYACK6BIrVFKlHKWMRvBOxCPAgaL75lAnaQ3j7sO/djX8WvsnQHRCYpcNh5oOAXNzPWq8I8CAT2Lu73YrYHuEfn7ZUzqiYFydbjVsI9dpBD+rQNj+99QjwIAQUisGlabmZ0TyxgygkooFbfL7HcRdmahishMfSUyRWCPAg0dEx6C10YiQxpX5DukXsWYjolv2pJ83xKCZ4M7rxcpcI8CDGIUIq2Vq/m302yqEo7xwASHHSYyFvoSf6p3g0QmIzFwjwIBU7Kl+qtpJPCS4sZl55tyr1AQK/ML0iMoRDk/bSOLLHCPAge/q3dBjO5Ppi8d0TQQiLwLR6RAimCEd7Q6lG82qlOFwI8VkBAAAAAZ4V1KROXlPlDFooESjdKGBeP05o5f4Q+IZhJ9Bo2c5VAAAAAAD+////AjSHAAAAAAAAFgAUJwQFI+O6XMqvWTd755y3JPAbAxwAAAAAAAAAACJqIPAElNIOAAgI8SA07bpUI2rqP8kMD9M3mFi1rOwkTuEFgtYCjwkAhQnlGggI8CD3mkLTTJT8i0g2LEwFjj5u4P+gwuASvotStGW4xiiA9AgI8SDS+Fegi2G7VrZAd3DN2GmSdWbpgv68zQjNxOXZwwsUqggI8CBt788wws5RcHCFePDumL0JK6y82NVDSRsfbh2s17smowgI8SAk8ZbnEo71bXZanvJ00eeaV1b+ROenFt122EAZsbA/8QgI8SDizccIlvjn6UYr3p7KTWaAXO19XHJ5CmEwFhgytyuzjAgI8SAvN3Q7TLb2E9M4mHm5L7uUDMdGmZ0GtkmnrJdrlWkHNggI8SDhMYAD34MWFW1JFxWiLq/gc5ygFT8jyPI7vRsvllggYwgI8CBEDgT0wfxkf3BUXEmfSVU/HXypIaegngOU1g2sz29PKQgI8CBeUc7xht1m5EBGOTaGobwlAaITWzOoKqf/3fA2mKcelQgI8CA+NCGJCeXCQQzQBH0Fx8JZd6gmMTdWk/hf2DcW1eHmhggI8SBvqjsibMzdZY1PvTpb3n+HWn2mk0XAj9PNCb8hnXo6owgI8CC5/BWK1VAHj7982cXlT9ZOg7alO5OVp7tFdkFL9FfNJAgIAAWIlg1z1xkBA5WlO/AQ5eWFNapbV1SAKmgKFbBf7AjwIIobio4M99L4TctkfYATQ1PWlH5CSCCIZ4x2s0kbRvD9CPAgGl8+QVR1RY1JLXpyJ04TOh4uaVuig5WQRgsHTlzVjTQI8CBwC938reiZFWprxGE7YjFgiVKmnh2Km67QfJlpdhTnUQjwIH8uXNAmlSO+vflWOStmTa6zv5irQBQ7cjgjjFRThhDLCPEEas95c/AI6zeNqBAPeK0Ag9/jDS75DI4pKGh0dHBzOi8vZmlubmV5LmNhbGVuZGFyLmV0ZXJuaXR5d2FsbC5jb20=","chain_anchor":null,"bitcoin_block":971410},"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"]}