{"format":"receipts-proof/1","hash":"32311d69ed43720658b117a75e35c49c56ac621933d463655c22ad913c52b6ce","provider":"demo-bollinger-squeeze","seq":53,"kind":"signal","issued_at":"2026-10-03T10:00:56.570Z","prev":"77bfe71243fae8594b7f741b435c0b61c574b4e6558249747f5d1a75fe5dd026","body":{"issued_at":"2026-10-03T10:00:56.570Z","kind":"signal","nonce":"11f94f3e3e3b85949bd863a0b9714ad2","payload":{"entry":{"type":"market"},"expires_at":"2026-10-04T10:00:56.570Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"10.883","targets":["11.017","11.083","11.15"]},"prev":"77bfe71243fae8594b7f741b435c0b61c574b4e6558249747f5d1a75fe5dd026","provider":"demo-bollinger-squeeze","seq":53,"v":1},"signer":null,"sig":null,"batch":{"root":"32311d69ed43720658b117a75e35c49c56ac621933d463655c22ad913c52b6ce","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-03T10:01:56.567Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969719},"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"]}