{"format":"receipts-proof/1","hash":"80ede296ebc9cbbc72264f63c9cad1cecd4258108bd1ce633e2d27118a6e7204","provider":"demo-donchian-breakout","seq":10,"kind":"signal","issued_at":"2026-09-28T03:25:39.710Z","prev":"8d806db5d01dcc05f6bffd7b42523ec1b9fb348e0fa9a49445b9603e77a4c5a3","body":{"issued_at":"2026-09-28T03:25:39.710Z","kind":"signal","nonce":"ba2f0b8e708cbfbf3d2c1a2afdf18f97","payload":{"entry":{"type":"market"},"expires_at":"2026-09-30T03:25:39.710Z","market":{"kind":"perp","symbol":"BNBUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"short","stop":"780.3","targets":["759.43","746.9"]},"prev":"8d806db5d01dcc05f6bffd7b42523ec1b9fb348e0fa9a49445b9603e77a4c5a3","provider":"demo-donchian-breakout","seq":10,"v":1},"signer":null,"sig":null,"batch":{"root":"dca8d4c8f5fe5fa96398a01dd273e6f7b3bafbfb2879aa018f4ec8aee8bc491b","index":1,"leaf_count":2,"proof":[{"side":"L","hash":"8d806db5d01dcc05f6bffd7b42523ec1b9fb348e0fa9a49445b9603e77a4c5a3"}],"sealed_at":"2026-09-28T03:41:23.408Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEI3KjUyPX+X6ljmKAd0nPm97O6+/soeaoBj07Irui8SRv/8AgfJ90eB6T8zAjwINU/j3Z9C/o8RGpG0vdhE3LXyq3RjVbXYOY9onsoux6VCPAQDZfCatjxOQ5ERUMmxkhuQAjwID5Colfb6thUu348y9V0CpwdmBkiZqKOkBk2BAAkxaCmCPAgLQ9Kg15Bxv7el+7qsPZ9f68hIV2TWnFPLKGrqGkHjOMI8CAJDo2ORJ93yWoMVUM8DId4sjksuWKMjjLHlA6TjkxzlQjxBGq54eXwCECu4f2SG2A6CPAgfWiq18BCxQJ2ysbwc3JA+V9r5dMJNImf0fM8NRHsI5sI8CArXMMqdYEELg3YDDdnFWMVCueEqVRPoJlfsNkY/1R17AjxICY25lm0ps189Lj+UD3Ioi/+0O1Ih6hVD7RGdKeNh5STCPEghRMqAkcyFpi5eEJ3n5j/kaPWzFlLZmidalKqMBGtnG0I8SDcEOKh5vUmGtWahtbJ1zpNbcJ4BjsDSTzxoikNpQ/hqAjwIGFlSV1+UTLcs9W34p3yWXSV0MomMe/8zpgRZIJFZsEiCPEgqm/maUivyRe4vpPrvrSF8yONiYYIfWwY4dYX2lM0bgwI8SCH96+som2OrXmDouh+k4TnlmFVDfd69tccwJBooImjSQjwIP+QpjHaPerc3We158v2kff20TlYgEWMMrSh41PjtDDGCPAgJ1T4ULR3AgZuj2hgQJoOriXnR8oVBqWQKVRR6iF9WMsI8VkBAAAAAQ6HXQQeF1ZmqDkG4VjiWfHIlQDai3mn4H+ZZJNHZ3eDAAAAAAD+////AlM5AQAAAAAAFgAUWIrIRh5+6G4waNFB4NY38pmlXYEAAAAAAAAAACJqIPAE4MgOAAgI8CBWaMFTfu8mEI0uU87lXNIDln9RZa0MctDGU/PS31KQcQgI8CBdZ3TclNO7tOhZ+CyrktTBuSxpCO6sEE9kTSiE2R9ddggI8SCzSl750+bboU4Z8VOZtyrZQOeC+VcQp47XTo9kxbTAjQgI8SDnwdcsucdrLe+VurXSm3j9heJY1NSvIQJE5R0kmLVgIAgI8SDx1070C8mVUKIM3VPuTLxnEYhD7KKMyeaAY8umlnD6QwgI8SC2UhC2PvUwM8+nCIly/DCBjf7RlkMf3VAP3LR7JhYenQgI8SCJeHr4loBB5n31NIHVMHl+yKY802BH1gAddNhYIGodPwgI8CBt2vc3lB5+H//HN12kozoUnL4IxiCgnD3y6sottbENiQgI8SAOZpnREKg7pSdgRuT8E/qHl++VpbspR9HynFwSg5wWKAgI8SBD6sL2Rj0OjeqOqSPddiGaqalXuiaSLYeI6UcZMMOKxQgI8SDpyED6OIR7EJBzQIPmdUe7Dz6Y8SLOM4ZAOwQxsqG4oQgI8SAwfad1vEjyORXcCqkhtQjrzUMbzNrKiuwo+eGf4jr+7AgI8CCpRYBheEiiuOpD5eoZ8LqDv1FTW9wwAtgJg1v8WvqP2QgIAAWIlg1z1xkBA+GRO//wCOS5VKzsFOE5CPAQ3NuTRZ5DjVN/adXimEHLdgjwIMdAZepm28GEZEeWSejvSzmnIwwdZIJGEtMkYQmiFYyRCPEgkeMUV8en87WlS7jwXepvFk27C6x5WR6HbZspudB0xCwI8QRqueHk8Ah5RsMyAj676AjwIP3oInVzAkdxngW5J/OziyZu9e1uvXZ18ISSB4bEts85CPAgRj86XCwyYmZoDLOdz3Ff+zWUTz2kYMITv2B1GsLG5tUI8SAz/KYrvTk6D6f5xg6QflxR+UawJkfXDi0taUIJ8m6T3gjwIEunwKPSYyOlTjIDfiiMVgRLHEt2ghePBCuEW6Xukc8yCPAgvjEWDzIt4nDT1xm8IypbRxf++GkNd94rhFIzTC7MDL8I8CCQD9okRWjU2Wt+4VhUT7x0pxE8JmJWuRYARX6slr5JMQjxIA7ZONU/vcKnoXsDmSFXIC4ZJ2eODYSbf8O2kzX0MzucCPAgnd+pkJuoaZsmYGT8Xhm8oD1X215AgP5dC+UsRb7BIC8I8SD2KNdZWd7OWWjfWrZXk73C/Z4YUWUo4XlwhdCf7izBNQjwIO2PKzH2lp5AMSjaCwnPysSBcxNXdcMPnqv9hWnhTw35CPAg+oYsTLKMifvaNtX8agdsIgseoS9jAHB6DbiqPaknE2oI8VkBAAAAASCuoPEmqyNZJs2KrYSdrYXvVBKsDDqZ4KDar8DBmTXdAAAAAAD+////ArUwAAAAAAAAFgAUFO6FdhAg9DAYnGnKYCWuxhmCA7AAAAAAAAAAACJqIPAE4sgOAAgI8CAvtjVh/fdICOoIcLmkFW5sboKH+0T++im4Cn3Yj8AP7AgI8SDOnaulibXqu52KXT+xFzBoHSsaS36zg+9+j/QXpuOppwgI8CCj8SZ1CXaJG6wUx4+v5egwWBQ0o6iTbhz7aUhdnkquoAgI8SARqKwkLv+Ugpk3h74VVJdukFuRiLvqYjPseixvGglL0QgI8SA/06WBaqItmteH1tuySVrzd3G4fBULErY7WVbsNoVFBwgI8CDuGpCt+dTF8LRU8i2W29iZxGusKq/Dd51pwh9MsyH3/wgI8CC7MaapJvPui7UGE7X6N83DNaxIZhVlMPzKNC3Huht0rggI8SA3dRld5R5qoykkV54LKHQon5U8VL9sakJSNcvV2btxDggI8CDw4T2y/V/9jftCTesD2a3d10cWmytOxDsUAwhDG51QOQgI8CBw3+Vem0A8I+xjBsL4vB4UQmrs7chXEJxWaMCNwQAqCggI8CBhhusmQqdXTdSYW2tYHEh2I2AL9UvCVmYQhh3SpP2BjwgI8CBElc346rsYhVVxNB68jd59cTL1pjXRvL5mi4bEoAFDHQgI8CCWbA58a4kP6J808Ly+M7MqSdXMf5EEmfFOikhY7JYCVwgIAAWIlg1z1xkBA+ORO/AQjAF9QY76UGP2ZGHI/TJz+wjwIDvV+zSPxwW9dBUinTWpMj31yqbNk2wyBJvO50j9RXZpCPAgpUgWEYkUC+3Z6sDJ/gHd64t3IzerczCiFh8xgVxujP8I8QRqueHk8Ah3HGklSXk5QQCD3+MNLvkMjikoaHR0cHM6Ly9maW5uZXkuY2FsZW5kYXIuZXRlcm5pdHl3YWxsLmNvbQ==","chain_anchor":null,"bitcoin_block":968929},"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"]}