{"format":"receipts-proof/1","hash":"152484a1c174747b0b2192da52f156722cc628fe181f875d085c667cd7805755","provider":"demo-bollinger-squeeze","seq":134,"kind":"signal","issued_at":"2026-10-21T13:15:53.940Z","prev":"af1c5ddefa60aee212836e0a5fb0ecf6bfb351582cd356d545570b4e62fbceab","body":{"issued_at":"2026-10-21T13:15:53.940Z","kind":"signal","nonce":"e432d6f7891a23df7fe80a980bf8c6df","payload":{"entry":{"type":"market"},"expires_at":"2026-10-22T13:15:53.940Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"9.718","targets":["9.848","9.914","9.979"]},"prev":"af1c5ddefa60aee212836e0a5fb0ecf6bfb351582cd356d545570b4e62fbceab","provider":"demo-bollinger-squeeze","seq":134,"v":1},"signer":null,"sig":null,"batch":{"root":"7737e72a89ef8bb03dac027a84428d229409e6a871c352c9c87b1baa404414a3","index":0,"leaf_count":3,"proof":[{"side":"R","hash":"0a148601a31834f557f7c2d3e0b0f932520054657839ce7234673bb0a6b566ad"},{"side":"R","hash":"48f6286041fd6fa7a686a1fab4299fd59e0b2ab4ec345b189c1fcded5f5bbe41"}],"sealed_at":"2026-10-21T13:16:54.965Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIdzfnKonvi7A9rAJ6hEKNIpQJ5qhxw1LJyHsbqkBEFKP/8Aj8A5uD5ENyJgjxIBK3YuIgVSY0POhcuk1AR+uEr3anhiLx1JBc0L8TzDq6CPAQe8S0VbvCWfh4Ga6nScPQDQjwIGumIstiISTnMRWOq3gPzyGwo4Rp1TIodfbWTkwYbqj3CPAgvzm6Db+E5DenbW+iluXIkjLbgdPiPCNlMySMP/9QGT8I8SDgBYXCBPSGQF4Q1KwsyvToHYKYQ8uyA4zXP0gC4y/5eQjxBGrYu0nwCCv6qlwuSj+/CPAgk1AUj1g1ErnWCevTmKPx8+HOiZj/b6c7drVY13yuaXII8CAtZ72F8YGMiZEkKuwn5Y6D8Y6ZeHTDP+6FMkzznrtD0wjwIOFmZrCu/nxJzHdRbyUT28wJAiHEj9qGGdDkbUenfb9HCPEgxijgRmyKsSZvAlWD9N4VY9Ze8qnNlDwRESHZcduh9v8I8CAglZPkG2N1DTn64KgCE5hPz1GjCJVha4dFI1QpvWCpewjxIKxp9vN1mAPFnfV0/RxSxJh4MbkMvMrJKMOMzvHnpN2qCPEg7SwXbsXRbk0RiSC0jPAx2U7t/EKNFNHcJEuhZki3JkkI8SD8WSzPhnooI2dLsAmQ6rsMtZBg+QKq+4O4mCHFhIIcEwjxIAjSdY92oWOVfoiDni+AQFsedlf50QgYXnfkLpRZDe9vCPAg4yJFIox98LlWBEAKqRg44YzkQ2jVWcF7b9cjyHSPfU8I8SCf6Z+A0mhny8yNiDiC4wdDrw24zY56m2oxC89OjvZODgjxWQEAAAABVYYTJ467QDAtVywHMqyA4ikJi9h3pVRX8KY1CqUw5A4AAAAAAP7///8CV7cBAAAAAAAWABQ8SIohqxOY+RGQAMYD7UK0a+7IlAAAAAAAAAAAImog8ATB1g4ACAjxIB2nKS4j822FAFFp2eZqOVBHV3fLXjlckCQEnlmOZ9FqCAjxIERRQCHio9V1lkqz6fm42vJFQEk8dnbmlYMmme4agfRGCAjxIAwCfUbmpSAVVCq6tH1ADqKppYD8DR7SBtGXG94RR1aWCAjxIKKCiKSNzOphzimwHyOlqEghQ3hMFsOJoo9xId5jBHKtCAjwIFcMqAbZ9EgBqkY4WS/yw9VZZIv/2KIRgRJmWcDc8rqOCAjxICYKukMkoNUOBDecFxHPcdbXtUxqck62KNixJ0Aze2EECAjwIPZcegJEYC/Yv78uIjBlLyPuU6S8Sa7kk8BM+7CG788lCAjwIH36/azzhKW3DlSV/D7+CoYG0QZDNAuS0Xd4bPO0NdUKCAjxIIpkrRONNzXALWBUwqlyEcWefS+sPFbFcDAuIizdz+WjCAjxILOVOgdNy+VyCJLUIGqNrKOjzG32WbI5S2efhYHSRf4XCAjwIFzv+NjnIytVbeBcj9iuxlP5OSSGGfU9q7Ot5nNags09CAjwIDTkjg4jATIDTInb8sr2prn67hmMZXHi6nsY2TpgQFmCCAjwIONGugCkK4bNCPWHaNhKpiruqiEDkPcf+anGwteKdAkpCAgABYiWDXPXGQEDwq07//AIF4vmYsfsh34I8SB6N5LZK/nH4sq+rcvGaus4B914q52NW5CEfsTfGiqvKwjwEKF6kWMk6w01HSswPSmxI3EI8SBLHOvGhnD2BOrnLu2q+MdPKrt3zSCHhdKt8fS0eOyZ/gjxIPF0a/auIo2/RqpOnwUOYUM0NOl+1AI2B87D2FgxE+TQCPEEati7SfAIeIwOuvRCyKcI8CB548ZNEUrCMDUAnZyNc/B1dRPnkDnmXEtHnXCZUamTqwjwIIYkF/ndJsrbK3PTYPC4JAV5o75gCRzxEUfdPl/fLGNeCPEg3tg1TXThD3VvrbKstn3LveV1/dRU+43QqwrY/mUve90I8SCf4KFzhpgZdNfk7vmwMyKtDsYgfb8MakyTb275LusyyQjwILYB9KRQ6RQypOg3hKuzUNLSO0g2mwmmui2eLVmBCkNOCPAgXiJ70Z2DOEU2H92NxmlmWcDrFJnyWf/y+oikYy4DYD4I8CBAo/+25MLJq55dF8WVcey4x4MQhuV1dYbJiO3GtTWLOwjxIE/wxNuchlhckXgxnjeXH3ANisnXrwafT/WfWzzQ5YZlCPEg4QdoTZqRdyOY+EDkb0YYZJ988tlIfE09WcgmzRnCm78I8SB7cabK2DUNguTxH39X2h+GW6i5z+nhUL5/l79EbbG7bwjwIADDtPh42gYe8lXmVkcu4Oorfh9D0ycHjV+7vZFQ1n2kCPEgaUgSCzEcL7I6sUxTwooo9GcmKkFsAlADxwfiQB03c+0I8VkBAAAAAWfurYEI27OdOR93LrdKsVJtnXgCY4Yclb7AArJbvWnCAAAAAAD+////ArQpAQAAAAAAFgAU/xEBhUjpSA3GczctBV0wEtarYlAAAAAAAAAAACJqIPAEwdYOAAgI8SAQG8mn6DgTmKsv0/7gY2cWLI95zzn3t15uV7DHVV3MrAgI8CDszokSULs3tU8bCBHlIUL675vxdDIUvYaMyN87Rt2ZhggI8SAMAn1G5qUgFVQqurR9QA6iqaWA/A0e0gbRlxveEUdWlggI8SCigoikjczqYc4psB8jpahIIUN4TBbDiaKPcSHeYwRyrQgI8CBXDKgG2fRIAapGOFkv8sPVWWSL/9iiEYESZlnA3PK6jggI8SAmCrpDJKDVDgQ3nBcRz3HW17VManJOtijYsSdAM3thBAgI8CD2XHoCRGAv2L+/LiIwZS8j7lOkvEmu5JPATPuwhu/PJQgI8CB9+v2s84Sltw5Ulfw+/gqGBtEGQzQLktF3eGzztDXVCggI8SCKZK0TjTc1wC1gVMKpchHFnn0vrDxWxXAwLiIs3c/lowgI8SCzlToHTcvlcgiS1CBqjayjo8xt9lmyOUtnn4WB0kX+FwgI8CBc7/jY5yMrVW3gXI/YrsZT+Tkkhhn1PauzreZzWoLNPQgI8CA05I4OIwEyA0yJ2/LK9qa5+u4ZjGVx4up7GNk6YEBZgggI8CDjRroApCuGzQj1h2jYSqYq7qohA5D3H/mpxsLXinQJKQgIAAWIlg1z1xkBA8KtO/AQ4Rtev6OHjwkvANND8R4SlwjxIH2ZR4hmEckxJN16akMEDuidwlq2Sh+iq7rUJPU+pw/aCPAgoZrFpBN/vDcY4uLVPiPLZ20pblJadDSBEUGp8lcypDcI8SBhlbk7LlNd99dwo64bTYys+A8RSz52tIIXoQdq7naLTAjwIPSut6Q4MRyO7FPUp5uOCrE7Vho6blFehSFyeDcqVRnuCPEEati7SfAIJqDJQR+hPAkAg9/jDS75DI4pKGh0dHBzOi8vZmlubmV5LmNhbGVuZGFyLmV0ZXJuaXR5d2FsbC5jb20=","chain_anchor":null,"bitcoin_block":972482},"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"]}