{"format":"receipts-proof/1","hash":"5f25a1542a1edab660413e24443e0c6805685d21fa8beece21e92ddbf0001ae9","provider":"demo-ema-cross","seq":129,"kind":"signal","issued_at":"2026-10-13T09:45:51.412Z","prev":"41af17304cdc43ec68d9dd921fdf40a655b1a2594af4a8e3c9e0d985c964a650","body":{"issued_at":"2026-10-13T09:45:51.412Z","kind":"signal","nonce":"1317c409e2bb98bd74ba612ee4f6ec34","payload":{"entry":{"type":"market"},"expires_at":"2026-10-14T09:45:51.412Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"107.88","targets":["105.74"]},"prev":"41af17304cdc43ec68d9dd921fdf40a655b1a2594af4a8e3c9e0d985c964a650","provider":"demo-ema-cross","seq":129,"v":1},"signer":null,"sig":null,"batch":{"root":"5f25a1542a1edab660413e24443e0c6805685d21fa8beece21e92ddbf0001ae9","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-13T09:45:56.057Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971230},"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"]}