{"format":"receipts-proof/1","hash":"2fe7668f1c7c153f4c89d224f10320067c4a9330814b5ea8b907d943516e55d0","provider":"demo-ema-cross","seq":64,"kind":"signal","issued_at":"2026-10-01T17:45:21.512Z","prev":"dfa6e801ec956e8dcc6d17747d15bf91a35c0bc11e187ad4b392dd5a7b46623e","body":{"issued_at":"2026-10-01T17:45:21.512Z","kind":"signal","nonce":"f529df57eeac614a5c78c8c72dbbd919","payload":{"entry":{"type":"market"},"expires_at":"2026-10-02T17:45:21.512Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"2687.54","targets":["2747.07"]},"prev":"dfa6e801ec956e8dcc6d17747d15bf91a35c0bc11e187ad4b392dd5a7b46623e","provider":"demo-ema-cross","seq":64,"v":1},"signer":null,"sig":null,"batch":{"root":"2fe7668f1c7c153f4c89d224f10320067c4a9330814b5ea8b907d943516e55d0","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-01T17:46:20.123Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969474},"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"]}