{"format":"receipts-proof/1","hash":"cd8a82ba8da0e9fe288ff8fe415d223d48169a637da815952acea6677d04378c","provider":"demo-rsi-reversion","seq":3,"kind":"signal","issued_at":"2026-09-24T08:55:22.241Z","prev":"cf093dce2fa9bae462bb0a7fa944d7525be902083a695b6b190683173dad39b9","body":{"issued_at":"2026-09-24T08:55:22.241Z","kind":"signal","nonce":"4fcafc3d34b538960c691bacc10109b8","payload":{"entry":{"type":"market"},"expires_at":"2026-09-24T20:55:22.241Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"113.25","targets":["114.35","114.9"]},"prev":"cf093dce2fa9bae462bb0a7fa944d7525be902083a695b6b190683173dad39b9","provider":"demo-rsi-reversion","seq":3,"v":1},"signer":null,"sig":null,"batch":{"root":"9fa607cbf3ad4a2a2b0c1b02174f127dc7cf1636a32dc5db50790d8d514d3e37","index":2,"leaf_count":5,"proof":[{"side":"R","hash":"d1be2a3835fd1e47c902c7770090e23981146cef9fdee12b53c7f1f7000d2fff"},{"side":"L","hash":"1b884dd4b2e7b93c4fd3750c52e7a6f552104cf7804ac908374871deba6ba410"},{"side":"R","hash":"4c1a5bf65c9370e91a62edf0ebbee848f02c4bfbd1e96751c385846d239d321e"}],"sealed_at":"2026-09-24T08:58:12.252Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968376},"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"]}