{"format":"receipts-proof/1","hash":"1dc47ba0188ec4b5f1c57fc93c25b5d394f03ac440ab7fbf8ffa24f2a44e801b","provider":"demo-bollinger-squeeze","seq":10,"kind":"signal","issued_at":"2026-09-26T03:46:47.834Z","prev":"76474a72d038f4abcd89d954d3c577fb4b98a079dd1c3957461d8f2191f3bbce","body":{"issued_at":"2026-09-26T03:46:47.834Z","kind":"signal","nonce":"62b49e90ed710ffa1d15eeaaeefd4d25","payload":{"entry":{"type":"market"},"expires_at":"2026-09-27T03:46:47.834Z","market":{"kind":"perp","symbol":"DOGEUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"short","stop":"0.09875","targets":["0.09713","0.09632","0.0955"]},"prev":"76474a72d038f4abcd89d954d3c577fb4b98a079dd1c3957461d8f2191f3bbce","provider":"demo-bollinger-squeeze","seq":10,"v":1},"signer":null,"sig":null,"batch":{"root":"1dc47ba0188ec4b5f1c57fc93c25b5d394f03ac440ab7fbf8ffa24f2a44e801b","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-26T04:02:23.935Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968635},"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"]}