{"format":"receipts-proof/1","hash":"4e66c9644d81ad2d45e7f4df1f1d72d22c147c4f600cd7365953194e2a99052d","provider":"demo-bollinger-squeeze","seq":72,"kind":"signal","issued_at":"2026-10-06T07:59:24.268Z","prev":"f2394ec53349e02b0c2a382d87f755c48185648ca4afbe88e66b6d98df4b44ec","body":{"issued_at":"2026-10-06T07:59:24.268Z","kind":"signal","nonce":"d183abb593ba2fbd0166da5a155ce8bb","payload":{"entry":{"type":"market"},"expires_at":"2026-10-07T07:59:24.268Z","market":{"kind":"perp","symbol":"LINKUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"13.867","targets":["13.977","14.033","14.088"]},"prev":"f2394ec53349e02b0c2a382d87f755c48185648ca4afbe88e66b6d98df4b44ec","provider":"demo-bollinger-squeeze","seq":72,"v":1},"signer":null,"sig":null,"batch":{"root":"4e66c9644d81ad2d45e7f4df1f1d72d22c147c4f600cd7365953194e2a99052d","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-06T08:00:24.126Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970149},"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"]}