{"format":"receipts-proof/1","hash":"9848cb43cace77f2b93bebf8743a31ba6c8492a59e0e24ea6658f7e7142f1a3f","provider":"demo-rsi-reversion","seq":190,"kind":"signal","issued_at":"2026-11-08T22:15:04.151Z","prev":"3d91a54e1b670dc433029ef40d57c0cd2a448d7e7ded714732a30e78f060a2fa","body":{"issued_at":"2026-11-08T22:15:04.151Z","kind":"signal","nonce":"8cef6bfbc842de9e1b9306dbd299aae8","payload":{"entry":{"type":"market"},"expires_at":"2026-11-09T10:15:04.151Z","market":{"kind":"perp","symbol":"XRPUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"1.1049","targets":["1.1319","1.1455"]},"prev":"3d91a54e1b670dc433029ef40d57c0cd2a448d7e7ded714732a30e78f060a2fa","provider":"demo-rsi-reversion","seq":190,"v":1},"signer":null,"sig":null,"batch":{"root":"434446effb218eb481a41e000dc35a0be481405ef792dc954db7c6bbd97c9a86","index":1,"leaf_count":2,"proof":[{"side":"L","hash":"3d91a54e1b670dc433029ef40d57c0cd2a448d7e7ded714732a30e78f060a2fa"}],"sealed_at":"2026-11-08T22:21:03.969Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":975108},"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"]}