{"format":"receipts-proof/1","hash":"3d70986de473ee1ff129b5ddfa06ff37cf0e4f3e6d89e6f98734e437c27c1e69","provider":"demo-bollinger-squeeze","seq":80,"kind":"signal","issued_at":"2026-10-09T13:00:50.863Z","prev":"1df1a95ed57bb4b393e6c2dfb19e8096778c818c64408194c3cea1b1649b85f7","body":{"issued_at":"2026-10-09T13:00:50.863Z","kind":"signal","nonce":"e7c527997121828436be628364c8189e","payload":{"entry":{"type":"market"},"expires_at":"2026-10-10T13:00:50.863Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"short","stop":"10.359","targets":["10.189","10.103","10.017"]},"prev":"1df1a95ed57bb4b393e6c2dfb19e8096778c818c64408194c3cea1b1649b85f7","provider":"demo-bollinger-squeeze","seq":80,"v":1},"signer":null,"sig":null,"batch":{"root":"3d70986de473ee1ff129b5ddfa06ff37cf0e4f3e6d89e6f98734e437c27c1e69","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-09T13:01:50.889Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970635},"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"]}