{"format":"receipts-proof/1","hash":"1d369862a9cacb8eecae9d1fc78c75cbec82b8232d8bde4c7028409cce33c1f3","provider":"demo-bollinger-squeeze","seq":11,"kind":"signal","issued_at":"2026-09-26T04:15:25.934Z","prev":"1dc47ba0188ec4b5f1c57fc93c25b5d394f03ac440ab7fbf8ffa24f2a44e801b","body":{"issued_at":"2026-09-26T04:15:25.934Z","kind":"signal","nonce":"b9b133c8ee8d4aebfbcf1cbbd51d3561","payload":{"entry":{"type":"market"},"expires_at":"2026-09-27T04:15:25.934Z","market":{"kind":"perp","symbol":"LINKUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"13.938","targets":["14.238","14.388","14.539"]},"prev":"1dc47ba0188ec4b5f1c57fc93c25b5d394f03ac440ab7fbf8ffa24f2a44e801b","provider":"demo-bollinger-squeeze","seq":11,"v":1},"signer":null,"sig":null,"batch":{"root":"1d369862a9cacb8eecae9d1fc78c75cbec82b8232d8bde4c7028409cce33c1f3","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-26T04:47:31.231Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIHTaYYqnKy47srp0fx4x1y+yCuCMti95McChAnM4zwfP/8AgME1CSi4s/hgjwEEWjxy0oAbWiRvz/dh0vuxAI8CC1lNl5qDk4REuINu9Q3fsVb3v6aSzajSDxcX2AO8sk9wjwIASxq3ooL9HbUcVHwZWDFCs/njIsj8s5LFpk5sccdIBmCPAgEQTQ1cAHFeGeO2RURPOICvuinUOKVXujBkXpmDlJmqwI8QRqt05k8AgKB0/UyNZZ/QjwINkK1yuJhiwcjk7eEbYES8L9uuvJDZ6FdsvK7A+8ULw8CPEguxDpOqnvicoyD3NjB4WR+Z/9SN1U/6bhQzt5rZwoBPoI8CCiMkEmWr+UFBntXsS0nyZRlaq7dxbhUX/ozTYa+MUJ5QjwIAnzwugVKLcgfdotOSVkr/gdF0qpOlJDKLgLr4eZq2YLCPAgmiQYubS4o8cT6YvOo6oZ7t4A48gJAZD7aullm+wsl9sI8SDOzwusi6vWQyuXqmR5697bXpHFwc5/3qvQlIccoZNwZgjxIOeYqCjgDGlgZxY9kE46IxhUfvoETz1zVW1d12gBk2PFCPAg/tywJKiMGr79voVNoE1v5YYUSLgdkf3Hd2M5/iK5fN8I8SBYWEM1dlT8K2YEJ21yEOYy2FXaQD4VApwJyAIPvobrXwjxIMVKOkYWIRsoYgJ7AsZP9ULW3y7NYZgoVpWg6PtrMVolCPAgkLmcYNN5DTNhqb+muNjVcksWvNXukzMaT/wD1iiPplcI8VkBAAAAAZk07HzTEULECyhH2X9wP27vR2artrAhpWsTuNJyZz81AAAAAAD+////Ah5uAQAAAAAAFgAU3xmBOOuMsSjmdlUhleelyFa4608AAAAAAAAAACJqIPAEwscOAAgI8CAkh0cCtM+TQFdRvar242Q9s15ObdSEiSAr0J/OGIxUcQgI8CAmwO4/idSBa9Gwn+NIFxz/Ci7stYZqDi0VhoS1bIrgIQgI8SDn0jP/0+yiF4SzDVKnsgeJaMZ9ZQSLXsu8VMrXHoyc8QgI8SBZUA13j9euSVJd5vjAY9oE4I+lUHepNyA0lDrPxkOS9wgI8CAQt0yH2PmBXMWVtWjQB93FRa9EIT7x2zd+a3Tsodn02QgI8SATx8GNDPXbZmSfRRizu4b9qtnTfNXTC7VU2HzP90heSAgI8CD1OHBNnVKl9JXwZMORp+0iJu4pNq9WeATYkIFIQh5riQgI8CCLAzKhAQa2skBMGJ1xIxmB54V1eEySluLdESknyHvXRAgI8CAV8TcRgdQCgCiYmc9EA/Zsx4OvMqewzKaFWhI56au7yQgI8SAoG9iCDdcFJZZgajCbOM3BZYV/q5i3vwhlvcV4lYqyUAgI8SDysT6KXt9DGtz/98Ht9gViLZ+gjzAsqyCTgW/B5ICvtAgI8CAgWAKYWeQhp9X3JR6yQnWofJJsDJ/LxPTskJ2Lj+ilFAgI8CBUxK+WkiBJWoeK46oVKv+88uNyo/jzPlabkgo1UTyyWwgIAAWIlg1z1xkBA8OPO//wCE5iq7GnSVj6CPAQ6FFRaWrAuT58rycVOVlmqwjwIGcDh0tBW7nN2C0r0+n/NM9JYi2bvNBff9vmFrk+0CPVCPEgIxpnKSn3ckttmtXPZaqIXu7FbCzq2OZh61l5Uq2xqfgI8CAzMY6B5QiZKqVjW64ZTmE7QSLUyeeA8alDPr5JsZc/LAjxBGq3TmPwCODvhghOTWNdCPEgDWTv+73oBUXKud9DM+erBmZnL0C5b7FbHqX7zrydiQUI8CApnsmpFZO61bw6DtvNTnHcPU7K5cy3aK31YbQnxYtfnQjwIHio/AM/5xXDac/5HSvw7KIZ3/QSLjrQ7CTT6IYH8f2VCPEg3UWez74wsc72o4R0Ly+UfwVUL79Bj3PCB8+442iDPPAI8CBT/T2X9SKgaESapgUOYeWZGzhbN/JP/Q5TtzDONuP3qgjwID6FsRaI4XcwNpDRER1wfUzANa3G2NzfdcWnTjSiHftrCPEgIqYfTekOXAxvqdP7uk2Z1YsJ0n37zysmrMG5iei49nsI8CAD4LqX5YSGveLCnwdzW4OwBlr0urQf3lt0ylRz5tzF0QjwIFuPkAIzfGbaTMiaofump1Lym+sEgfRelqvbpJPvxEVsCPAgaD8/zAJtXcOkZE1ay/Q6tGkWQvKYN+AUhyGNuUo1mxwI8CCqSDm3UWUhSLEfYF8Km56tvNI8doS4uEZml4094hMQ7gjwICIEBmdIxpxTjdj65WQYiicgVtRt+Msem5s4e/fnKeZ4CPFZAQAAAAFkvhXlVGe3vRcoMTbLfVScbuihCww/u/WRSHWwjKq9/wAAAAAA/v///wKlMwAAAAAAABYAFDI32VLjEX/qp+Wr2OL6Xp6Ltz/7AAAAAAAAAAAiaiDwBMXHDgAICPAg40khLIhZ/iHZtSrnCBGZtioa/osgTEY56eBH3inqCRIICPEg3A0oxQfvDW3Ca4gPXZXRr1FyuikVDNnlgRHEYXCtdpYICPEgpxwviSOYciR4n61Ff+bcAKg94k6fAxOGiKt2rBBd3pcICPAg/HgnKfytuOuP0RJjKn2m0e2PTkDWThsmQeKxSvk9BoEICPEg7RXu0sn3seSSllzoXl7y0LJ4DZGvDZNPQydIPMYK8S8ICPEgdaBQOWWSjOdCaZvigJRlw3b5l32YbZhDSTfcliR2SUgICPEg0Pegw9uKwKNTwLwL9B1d9F2sTcjv7IbSmiJSrPOlxI4ICPAgu2UpYxc11nF4EbcwLo7316vb9wKRpYEPu9wRRim/2SAICPEgG7fVvKAJk7l9bk3Js5UIbQsoUpAOTKG0fxFUtN4DTBQICPEgzq62767Io3nOYYU8BdUfj3bDJBcShRxPjbao8SHG7X4ICPAgATWr+vLvN5k+HZDRhTd/qyAn6cAwsWaIqUudB9KE1HEICPAg4XCVxsw28X8orrQ+JJjatIkk8Dtwbj01Exd2cOZiS2sICPAgxoTDLXpOUuDIZ5jVCB8ZyEKk9kUuj/t6ElxUtqc3xAQICAAFiJYNc9cZAQPGjzvwEEHzJn8kSn/gVXWZvbES3+YI8SDPaQ+/fvh27OYi06+Rp5jfmeh86p/m7NcH6/VJmc3V5AjxIDievmd6sqSkwp7XPLRkMk13bzN7iuaLOu5kofiYSHI9CPEEardOY/AIWe48BFvgi4cAg9/jDS75DI4pKGh0dHBzOi8vZmlubmV5LmNhbGVuZGFyLmV0ZXJuaXR5d2FsbC5jb20=","chain_anchor":null,"bitcoin_block":968643},"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"]}