{"format":"receipts-proof/1","hash":"bfbb3f96b9cd3b08ed14e3f622a1afd982361e764c2787695d10a19cc007a552","provider":"demo-rsi-reversion","seq":15,"kind":"signal","issued_at":"2026-09-25T11:20:58.958Z","prev":"673e55cb4a2b63da9c91f408d6e830c7fcec86a643ef3c0c03ba315e76b0e00b","body":{"issued_at":"2026-09-25T11:20:58.958Z","kind":"signal","nonce":"e35329fa5583e24525619eeeac3cac26","payload":{"entry":{"type":"market"},"expires_at":"2026-09-25T23:20:58.958Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"122.21","targets":["120.43","119.54"]},"prev":"673e55cb4a2b63da9c91f408d6e830c7fcec86a643ef3c0c03ba315e76b0e00b","provider":"demo-rsi-reversion","seq":15,"v":1},"signer":null,"sig":null,"batch":{"root":"23e547717ebb5d201970f5c801387227af9d0b6e54f61e56a941d0a07e59382a","index":2,"leaf_count":3,"proof":[{"side":"L","hash":"176107278d0dff3ca1e202ff96f961b2a329b78f359a283ecdb0f19ed09a852a"}],"sealed_at":"2026-09-25T11:21:58.882Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968549},"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"]}