{"format":"receipts-proof/1","hash":"3f110c04e32a7369f4dc432b81a5626ce2df7fa58e53ef47c59487a8e1c7758d","provider":"demo-bollinger-squeeze","seq":114,"kind":"signal","issued_at":"2026-10-14T05:15:19.047Z","prev":"e812650f67be10b853c575b14ca8295c7f3b5e8e58864e7251b4513088e3cf95","body":{"issued_at":"2026-10-14T05:15:19.047Z","kind":"signal","nonce":"18e0efa8fa2b8ce65b3a429765b34685","payload":{"entry":{"type":"market"},"expires_at":"2026-10-15T05:15:19.047Z","market":{"kind":"perp","symbol":"ADAUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"short","stop":"0.2373","targets":["0.2341","0.2324","0.2308"]},"prev":"e812650f67be10b853c575b14ca8295c7f3b5e8e58864e7251b4513088e3cf95","provider":"demo-bollinger-squeeze","seq":114,"v":1},"signer":null,"sig":null,"batch":{"root":"3f110c04e32a7369f4dc432b81a5626ce2df7fa58e53ef47c59487a8e1c7758d","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-14T05:16:19.066Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971356},"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"]}