{"format":"receipts-proof/1","hash":"4163dce451e5107f45612d6982bfdc0c7ceeccf0a76ed1ae2b98bf97a1160daf","provider":"demo-bollinger-squeeze","seq":70,"kind":"signal","issued_at":"2026-10-05T20:15:01.437Z","prev":"80a0abd0b0625905d410144b3814621ee9abc7864fd1a30cc05a6f4afdda60b0","body":{"issued_at":"2026-10-05T20:15:01.437Z","kind":"signal","nonce":"9fe209d92b503b522b4cd09a50d58fe7","payload":{"entry":{"type":"market"},"expires_at":"2026-10-06T20:15:01.437Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"10.877","targets":["10.979","11.029","11.08"]},"prev":"80a0abd0b0625905d410144b3814621ee9abc7864fd1a30cc05a6f4afdda60b0","provider":"demo-bollinger-squeeze","seq":70,"v":1},"signer":null,"sig":null,"batch":{"root":"4163dce451e5107f45612d6982bfdc0c7ceeccf0a76ed1ae2b98bf97a1160daf","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-05T20:15:58.700Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970078},"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"]}