{"format":"receipts-proof/1","hash":"0ee00f823b47c0f88fba73cc5f819084d0cfc450dd744cc8e18e865d9ed095ec","provider":"demo-bollinger-squeeze","seq":140,"kind":"signal","issued_at":"2026-10-28T08:30:23.969Z","prev":"8f4d14bba0977bc5bcf27a85606556965073a0d8c8371efc28eb4eef8aabb241","body":{"issued_at":"2026-10-28T08:30:23.969Z","kind":"signal","nonce":"3d9895dd0f388def99205fc3fc6a9580","payload":{"entry":{"type":"market"},"expires_at":"2026-10-29T08:30:23.969Z","market":{"kind":"perp","symbol":"LINKUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"11.764","targets":["11.882","11.941","12"]},"prev":"8f4d14bba0977bc5bcf27a85606556965073a0d8c8371efc28eb4eef8aabb241","provider":"demo-bollinger-squeeze","seq":140,"v":1},"signer":null,"sig":null,"batch":{"root":"0ee00f823b47c0f88fba73cc5f819084d0cfc450dd744cc8e18e865d9ed095ec","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-28T08:31:14.048Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":973528},"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"]}