{"format":"receipts-proof/1","hash":"a1e03337ca78539b54ebaa54641e8370595d50693671909503972253ea035570","provider":"demo-bollinger-squeeze","seq":119,"kind":"signal","issued_at":"2026-10-14T23:00:19.910Z","prev":"9be23c85259078ba793018f61eb9bd50892f2e1ea18f073ee6fe4806df94c9b4","body":{"issued_at":"2026-10-14T23:00:19.910Z","kind":"signal","nonce":"a51696803d1a3edb3dd9ad677c6b7da6","payload":{"entry":{"type":"market"},"expires_at":"2026-10-15T23:00:19.910Z","market":{"kind":"perp","symbol":"ADAUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"0.2276","targets":["0.2314","0.2332","0.2351"]},"prev":"9be23c85259078ba793018f61eb9bd50892f2e1ea18f073ee6fe4806df94c9b4","provider":"demo-bollinger-squeeze","seq":119,"v":1},"signer":null,"sig":null,"batch":{"root":"a1e03337ca78539b54ebaa54641e8370595d50693671909503972253ea035570","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-14T23:00:42.869Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971480},"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"]}