{"format":"receipts-proof/1","hash":"0292f0b742b3774082e1051fa1f583eeb4ae1b9459ff092944f1851194f6e856","provider":"demo-rsi-reversion","seq":42,"kind":"signal","issued_at":"2026-09-29T07:15:50.338Z","prev":"18e5684f27e8d7ee85a93db47db35c34bb656e5ce3dff79b5adb8f03df8f0094","body":{"issued_at":"2026-09-29T07:15:50.338Z","kind":"signal","nonce":"b1d74472df4f9138a0ca6b2cbfd31cd8","payload":{"entry":{"type":"market"},"expires_at":"2026-09-29T19:15:50.338Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"2717.05","targets":["2700.59","2692.37"]},"prev":"18e5684f27e8d7ee85a93db47db35c34bb656e5ce3dff79b5adb8f03df8f0094","provider":"demo-rsi-reversion","seq":42,"v":1},"signer":null,"sig":null,"batch":{"root":"0292f0b742b3774082e1051fa1f583eeb4ae1b9459ff092944f1851194f6e856","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-29T07:17:40.336Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969120},"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"]}