{"format":"receipts-proof/1","hash":"5acaebd226398a5e7d075b651fb114342e6f0acb4a2e8d81a334477326d3e144","provider":"demo-bollinger-squeeze","seq":76,"kind":"signal","issued_at":"2026-10-06T22:41:04.811Z","prev":"80ee78cfaea84456a39d0c6acdcd9a46013867e8920e03e09c59b973fe2ca32e","body":{"issued_at":"2026-10-06T22:41:04.811Z","kind":"signal","nonce":"2d901beef41c48633b4d2ca915072f16","payload":{"entry":{"type":"market"},"expires_at":"2026-10-07T22:41:04.811Z","market":{"kind":"perp","symbol":"LINKUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"short","stop":"13.952","targets":["13.812","13.742","13.672"]},"prev":"80ee78cfaea84456a39d0c6acdcd9a46013867e8920e03e09c59b973fe2ca32e","provider":"demo-bollinger-squeeze","seq":76,"v":1},"signer":null,"sig":null,"batch":{"root":"5acaebd226398a5e7d075b651fb114342e6f0acb4a2e8d81a334477326d3e144","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-06T22:58:40.869Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970251},"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"]}