{"format":"receipts-proof/1","hash":"ce72564ac9bb26ee9bc9cd819337418208d8c62ffa8308000eaa684009f8df44","provider":"demo-donchian-breakout","seq":6,"kind":"signal","issued_at":"2026-09-27T08:21:14.453Z","prev":"f61207c322d10940d869835e881871e566592f989299f0d3c9479e2070140ca0","body":{"issued_at":"2026-09-27T08:21:14.453Z","kind":"signal","nonce":"bf93664e4e275b6de7a14061ad5f813c","payload":{"entry":{"type":"market"},"expires_at":"2026-09-29T08:21:14.453Z","market":{"kind":"perp","symbol":"BNBUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"773.94","targets":["786.29","793.71"]},"prev":"f61207c322d10940d869835e881871e566592f989299f0d3c9479e2070140ca0","provider":"demo-donchian-breakout","seq":6,"v":1},"signer":null,"sig":null,"batch":{"root":"ce72564ac9bb26ee9bc9cd819337418208d8c62ffa8308000eaa684009f8df44","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-27T08:51:42.797Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIznJWSsm7Ju6byc2BkzdBggjYxi/6gwgADqpoQAn430T/8AjyCVW7gbQsaAjwEIHk/tgtCWxtXTSO+vafZqcI8SC3TuFb0+OjunDuyNsbHY7tGUfH3i5ruMN1IfVFo9/bBQjxIN/0+9id53XLNSWCvJhtQeRezEfu0N0b9xotn3ZiV7zeCPAg+cdL351tIfNDhU0AmabHcRz7pbCO1SjW7fpvietNOUoI8QRquOBH8AhBXpjyQ56znwjxIKVK9XwvLFE4T0Jxes7V6WGpnyxtQ4c0PYPyjjQhHlzyCPAg+9gISRfvQyHUzm0H/JyouNgqjAUgS3W+IJ846jP4eOUI8CDMPWV7R6rmSX7+IWux248rH5WrbLT76dTKWl6DfIICPAjxIAKWWJMro1FMG4CAuc/FuLSZiwcxr0CRcVIGPTKlleFtCPAgTAovfqghlr2IQKEymVT7vYkpM5ZCcT3YbRDx0WfqW/sI8CAWFjcfpMLhX3ArWcJzfNDQZfZzmmwPMJa0CdBEz5NqBgjxIN+OQSjzag+P/CEMgjgfyEkOnZ2jsDPI9fd/N7ltunGJCPAgH/BdcPR655JQCM7+ZBLVG1BOh7oroeWN4L/WqZUeQBsI8CB5/zKUGkyEWk4FZHCFEXtvzWFL31jl9Pw1/+kfeI93EwjxII70G9yiJk/nHt33jouto3ql9v93LTmuMVVm6mUsgs9uCPAg442qnRNnFgw6eTcFfILgrFD6YSTUHFuHeWUDz/MSZSAI8CBHj6MPh+5wjZN1PGtmxxu1rvd6pZBQ/HcmT9VRPGvXQgjxWQEAAAAB2W/vwbmhyzdUs1kZoZfg+oLmw71FHEuSFz+GlqR90bYAAAAAAP7///8CB04BAAAAAAAWABQWK2gZqp+fM1ORyNnnHB/AmiQYTQAAAAAAAAAAImog8AR2yA4ACAjxIPHXwmTVu2/33mQkYl2aSnxmECBog83PF5C23x2dXOYUCAjwIG7GD6qZZR5ul2wEUddkZf0AeZT+4v+KRKxNBwLEnnVWCAjxID1PCsaMZ7NLEEm1qOt7krnjIMe4dvgg825MDpHC+jJMCAjxIJZpSbhzvRs7ATqXo4xwGfw1wi3HWCwwzOv7yf0oGZ6HCAjxIKnk41zGSp2cB1/Q/6ID1pimMGUpHzFbbBP+Fkqull7HCAjwIJ1dzslICwbeFSj5EMMRqzydheupm7Kw4jcnyIex0SXLCAjwIBMcqMV//0awOYuOxWbP+1a3Zh2UKtp93LZkaz4nVwy3CAjxIJpu6Fr3nERffVp5mU3AAGo+V+TerjbRYlK6qUFKcUA8CAjxIKZuN7e0C6iNMihXMhOQfQMTxracElo0G5FmIrOscQXNCAjxIDBccY/wEnBH7OiyY8QAkh96zueOrhQKC375WFa67UbZCAjxINzWSy//dbBGLLxVkixichMGYz62AqcQMvZH13JTkoogCAjwIAL+uKutNOTcEXHPaEFv9+96Yd2+W+WLjCy5X1jXs/cECAjwIPOLmMvCu/kygMgkA+E1Kw27/ASsmJNvv9bMNO5/0dXoCAgABYiWDXPXGQED95A7//AIGvSpUoCWcZYI8CB/NjIBoKtdxOYEXZmMvUmoZkntUDKpXB5ZK0maYwjaBgjwEEV4rgemWDmxz+k5XwKxyVkI8SAzGwXylsaGeGnWo11N6EfR6224aaqbn5Iod0FXj753QwjwIJaJjbrP0X42c7jNJRbiVUrZWHmorJyKRkxT/RD+RRd2CPEEarjgSPAIEgqdB4HIM3YI8CCAkHabfTTi+Itr8p2XYeAoTiQm15G/lNRC6sfCxj288QjwIENoTskIMkXEB8ljSDUpydFfFuGWwerLS2YqwkK4MZipCPEg5l4w6JC3p9KzTqjcvqo/wLi2zKF6vL6oP0ADREc9op0I8SDd2gU44s6JFhHv3u//kJjURhNgUoZULRlM+uG+YympmAjxINKPCaf1tZCqK4l+7Kkc9kAnz57oMtpmd80q/34PFn1hCPEgfVZjmRIKEQn2Y3XYs9LHtD2GcoaRDGFJXxYCaxsHhOAI8SDfihNCOWmVkM5mapeA217SHuUQg8d972ewpIy5XqHTHAjwIO1ZT+n8BN6c4knQOOS/xHqAq7qwRndTWjimBSN8qDGbCPAgChpflCnw4+k4oGI9wuSekB5VQ6/M/liuvXwNXOCF+PUI8CCeXycKvhrsTpsLdZanNIWY3+4zbNSY+KudwrwaF4pu8QjxIFTC8Foxj+DxR8tbfr9QTDNNkgvv9IGJb6mv7bgKNKsaCPAg+GN2E8OVNOzWI+r36fwix+5ALEz+9hCbla5az0YY4m4I8VkBAAAAAfQFkUFfp2askYQlFb+4JJllJA3jXGO5eHsDHOa7uAmWAAAAAAD+////Al80AAAAAAAAFgAUPzUQNXvqf4HdL0j5M//MpHqG8JQAAAAAAAAAACJqIPAEdsgOAAgI8CDT5JLY96SHSyRg6O+gXDljIXcLO6MPVv4DwV/ePe/dSwgI8SCxr3kKBhGYdvAhG6AGqkjjE7naNTd466o1rJKsngHA4wgI8CBoCqCZiECMO4VN5nWRzskADTxyGTio5n6YtvnC9Z/EOQgI8CBXDe3GQDeExTuS1q1x4MrLxcD6Y/ZzOmfRuZqQZB8+JQgI8CC0jVpeP/ABiGQAtWZeZosGPD2isyKypIJ5KTS07QMixwgI8CCSxVRezvAg/Ie9q73mH4KEO/Dcx6Woy10kTZ0YFgqRuAgI8CC2AUw/hxJ+clJTzH6P7IAh87RuoHt6p1+YEzj3aWhtNQgI8SBZxL94Vpig5OBDyslGNAINbsPmoJHgL7IRtEysTpb0ywgI8SC42LmOKdIFKdRUWA8J6I2GGUZxPPEsMWHzN3a57I3BpAgI8CAYv75CRb9y6bRttESqdoZWisThFN1eXsQmb91us3ad3AgI8SCHBDMG5xcQVOqHfBc/wa4xcTyvxbMe04Ur6kkm/BDb4wgI8CCE6NEYVO6UBaV0JOXY3xFypumOj81xpsLeWgiQwFSaJAgI8SBXXRoeevknjUvCbg3uShxhKjiA71ld+LbcIPb/NbZiOggIAAWIlg1z1xkBA/eQO/AQJMBLAxChQfS2g1vBmpijwwjwIKMG8L5ucOeR88+P38jL45e9j55dKM3FVJXULQQPhWmtCPAg5QA26NQoj6F3iwn/nHraAUQTlDMq+AcKr84U213TwZII8QRquOBI8AiNUrYCp6CqgACD3+MNLvkMjikoaHR0cHM6Ly9maW5uZXkuY2FsZW5kYXIuZXRlcm5pdHl3YWxsLmNvbQ==","chain_anchor":null,"bitcoin_block":968823},"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"]}