{"format":"receipts-proof/1","hash":"187af30d499b99aac3474826e1ab1bc35590f21b10e8f2a07b061ec8f4e84396","provider":"demo-rsi-reversion","seq":39,"kind":"signal","issued_at":"2026-09-29T01:25:05.597Z","prev":"70c541f92449d95e9a9b2ccd95fa60cc5e6c33384f7354bd922e1ba0c8d9c40e","body":{"issued_at":"2026-09-29T01:25:05.597Z","kind":"signal","nonce":"c3d0c9b9bdb3860ec23a8d72efa0b3fe","payload":{"entry":{"type":"market"},"expires_at":"2026-09-29T13:25:05.597Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"2656.88","targets":["2675.8","2685.25"]},"prev":"70c541f92449d95e9a9b2ccd95fa60cc5e6c33384f7354bd922e1ba0c8d9c40e","provider":"demo-rsi-reversion","seq":39,"v":1},"signer":null,"sig":null,"batch":{"root":"ad5f043f132ca5da663e6ee418e21348f6b4618678c2d97bb409d1f8b2c3b9c1","index":1,"leaf_count":3,"proof":[{"side":"L","hash":"70c541f92449d95e9a9b2ccd95fa60cc5e6c33384f7354bd922e1ba0c8d9c40e"},{"side":"R","hash":"4cb32665fe2ac14a498d1e9e46ef2bc1e9ce085a4038143aca4070d23f4e78e0"}],"sealed_at":"2026-09-29T01:27:05.592Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969084},"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"]}