{"format":"receipts-proof/1","hash":"63d89167ae9cc982f76659a36bff51c06847fd0e049c3bc1ff738d4397696159","provider":"demo-rsi-reversion","seq":183,"kind":"signal","issued_at":"2026-11-08T13:25:48.741Z","prev":"354a4b38f99c217260b46c6aed13cff29c5d3699b12962121147700b256c9aab","body":{"issued_at":"2026-11-08T13:25:48.741Z","kind":"signal","nonce":"01fe867fd7116c6d897bc9d6d72d44d2","payload":{"entry":{"type":"market"},"expires_at":"2026-11-09T01:25:48.741Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"76105.4","targets":["75977.6","75913.8"]},"prev":"354a4b38f99c217260b46c6aed13cff29c5d3699b12962121147700b256c9aab","provider":"demo-rsi-reversion","seq":183,"v":1},"signer":null,"sig":null,"batch":{"root":"63d89167ae9cc982f76659a36bff51c06847fd0e049c3bc1ff738d4397696159","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-11-08T13:26:48.728Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":975069},"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"]}