{"format":"receipts-proof/1","hash":"c992dce6a17f798b1fc457ea143292d34a4422320e02b6872b6bc0f08a17c2bb","provider":"demo-bollinger-squeeze","seq":26,"kind":"signal","issued_at":"2026-09-27T19:00:39.854Z","prev":"54be6e1f9bd04dbf0a8e1b0601888b5807ed36166eaa46d92a496deb32d76cf0","body":{"issued_at":"2026-09-27T19:00:39.854Z","kind":"signal","nonce":"cafb0e6d0dc33f8b84c345e4d4739305","payload":{"entry":{"type":"market"},"expires_at":"2026-09-28T19:00:39.854Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"10.963","targets":["11.129","11.212","11.295"]},"prev":"54be6e1f9bd04dbf0a8e1b0601888b5807ed36166eaa46d92a496deb32d76cf0","provider":"demo-bollinger-squeeze","seq":26,"v":1},"signer":null,"sig":null,"batch":{"root":"44ac256629dea9dc4827301c2bb95858d083a4c282f66594c12d35cbac0314af","index":1,"leaf_count":2,"proof":[{"side":"L","hash":"e2d31f97ae4c45a7b3ef4cef3cc0204fb3e7181fd039a0e1b3dad856032d6321"}],"sealed_at":"2026-09-27T19:01:39.871Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIRKwlZineqdxIJzAcK7lYWNCDpMKC9mWUwS01y6wDFK//8AjZzLOBmtwVLgjwEOnEYDso/EmqeJvtKDb5u28I8CAj4ZBWiGkFzzAYlL3XYsLCeMIIiEC8QA2X31RRCqT+7AjwIFpax394ki2ITjYxWzbD1KureS+eBy0QCVzgxhX3AfNWCPEEarloFfAIuckb1e4QIUAI8SBckpfahAUmOY0/osRMDFZbRq2FliEhKsqXa5ODBuCpHQjwIEj6Iak+uBUTsAWCo9iQxwi/YZkzqGVfW2juhGYpcR3dCPEgcHdPPOg1GWJYm2BeIoG+cJXSVbZ4h7Ow3khjImBek2oI8CDceQF7jClT8u4ymz8A8JuOG5O14PiNN44Lh3hS7AmhZAjxIJ7srH0he3ldSHOosfhe1WR6R+llZgyKdkHWIwmw9TYeCPAgPwkggoUcgENLGyR/cUur6mj2iaFrBXTjs9jfgv7lf7wI8CAiVtNizwGyN0mNYgx4OYEKOQ1bNDblvUO/oY7MLgxsAAjxIEHAjW9sT3PFQf0/vk7WstYPrMymssTpjt79GI2Z0JzdCPFZAQAAAAEu+NUwTufuR6PbePttYFJoIdVG+8ermg8H6YTV84WYUgAAAAAA/v///wJDQwEAAAAAABYAFEqgjT4Qp91c77sVX4UOhVKB7hoxAAAAAAAAAAAiaiDwBKzIDgAICPAglSdUQSWu7syjvqBdUEODSr7rAI55XPc4Fjz0jm30QmEICPAgyy+FMurSl92RDbhPsGurrbD9j2CWBbK5doIbtSvDsagICPAgSRe3h+j0V+L0K17pXDbdfv2ERhcT2TC5LpMtIIUGmNEICPEg7kzLqZrCJmgHgN3XzK06KuHuZJaVP2VoV/BVL1qUxnEICPEgU316/MprSTHgyjUlGQN/kqBZSxQxU+NKhr2udV9Jks8ICPAgffkAC86cH3fp5oq2wWu8dhzpU6HnJ1Njg6FO7F2T1mYICPEgFUFforBfwUCW9UKbdIS59avosKrAjqps15ub8RVTk4AICPEg0Q4KkzBBqsY0Ol1FuYwgg9VrDf6asAGG1gio7RnjWbYICPEgxueC4HplPJOGdpAmI3ysizO1ONTAMs0LjBI8ckmo9VIICPAgQQ4yNUgL7z6mmR8Ygym97g0g5AtJtrAeTrTvLPk6gJwICPEgIItA2GayBz835g+NMTuDY909L9Zo9OidPpsfXjWri5kICPAgLiBpa2oBwXL04slR0/1HP92gmzvdQT6mAnClGHS1syoICPEgdf42QB4W9FfiQVuG+/cQWMR/xgY82FRvB27CcqxGd/gICAAFiJYNc9cZAQOtkTv/8AjoyDIFOmN3kwjwENzaeBjEO87XSglc9+5IPtII8CADD2m7Z0DoCFuBA0RiVzqs2/koCW1KWvxKKA6MJEBxTAjxIKOKEhIIruXICwcu46Nss+VuuT/e99fm5ewiuUBZbj8GCPAgaE1MolpIT7HnNIj2a6cYVwHC3Ew8VZbkZj+n3KJc2PYI8QRquWgV8AhfW/xocNoW6QCD3+MNLvkMjiwraHR0cHM6Ly9ib2IuYnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZ/AQR/1amZzbSo2NcVD56iqvrQjxIOdrvPFiLK/6pXceWLOD/rWICVlzLYyZu8AEm/YHFaDmCPAghFGaRdt2K+xfOEkWBtgET6UFPne08P0ubpPP5jtkGC8I8CB5wa9b0Cxqman7BNM4rlOPb7b0qJIuwQ3ISWFoNWTMCwjxBGq5aBXwCNnqf3wT1FiDAIPf4w0u+QyOKShodHRwczovL2Zpbm5leS5jYWxlbmRhci5ldGVybml0eXdhbGwuY29t","chain_anchor":null,"bitcoin_block":968877},"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"]}