{"format":"receipts-proof/1","hash":"76474a72d038f4abcd89d954d3c577fb4b98a079dd1c3957461d8f2191f3bbce","provider":"demo-bollinger-squeeze","seq":9,"kind":"signal","issued_at":"2026-09-26T00:15:29.616Z","prev":"db1ebe61b755c91f6fbe8c457ddfe80bb698e8c224e972e59acb4b328198e2fc","body":{"issued_at":"2026-09-26T00:15:29.616Z","kind":"signal","nonce":"168d78a52aef4236aebc71fdeb316085","payload":{"entry":{"type":"market"},"expires_at":"2026-09-27T00:15:29.616Z","market":{"kind":"perp","symbol":"LINKUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"13.869","targets":["14.097","14.21","14.324"]},"prev":"db1ebe61b755c91f6fbe8c457ddfe80bb698e8c224e972e59acb4b328198e2fc","provider":"demo-bollinger-squeeze","seq":9,"v":1},"signer":null,"sig":null,"batch":{"root":"76474a72d038f4abcd89d954d3c577fb4b98a079dd1c3957461d8f2191f3bbce","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-26T00:46:27.909Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968614},"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"]}