{"format":"receipts-proof/1","hash":"40a7f6d5bed4b0601a294eacb97ed0dd63b90b7633b591b6cfa0d03fd31793e7","provider":"demo-bollinger-squeeze","seq":5,"kind":"signal","issued_at":"2026-09-25T20:40:14.876Z","prev":"4271b2c0a9a8f4c5528e2b0d18bdd497b04b95e9dc01c2c97782cbdce41b0c60","body":{"issued_at":"2026-09-25T20:40:14.876Z","kind":"signal","nonce":"c515996346fcff56c7c1b7e1f9d757ae","payload":{"entry":{"type":"market"},"expires_at":"2026-09-26T20:40:14.876Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"10.46","targets":["10.678","10.787","10.895"]},"prev":"4271b2c0a9a8f4c5528e2b0d18bdd497b04b95e9dc01c2c97782cbdce41b0c60","provider":"demo-bollinger-squeeze","seq":5,"v":1},"signer":null,"sig":null,"batch":{"root":"40a7f6d5bed4b0601a294eacb97ed0dd63b90b7633b591b6cfa0d03fd31793e7","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-25T20:55:16.915Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968588},"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"]}