{"format":"receipts-proof/1","hash":"796bcba151fcc00c350c985373032772e87116d66191fea09dcb5aa7b5e667e2","provider":"demo-ema-cross","seq":56,"kind":"signal","issued_at":"2026-09-30T15:00:30.290Z","prev":"95c28c2556649bb4360089e8279fbb9bf6c37d7fd51a275b87173b3d2ce23708","body":{"issued_at":"2026-09-30T15:00:30.290Z","kind":"signal","nonce":"9eb6e2acd19c0426765fed2d885ebad8","payload":{"entry":{"type":"market"},"expires_at":"2026-10-01T15:00:30.290Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2702.7","targets":["2624.43"]},"prev":"95c28c2556649bb4360089e8279fbb9bf6c37d7fd51a275b87173b3d2ce23708","provider":"demo-ema-cross","seq":56,"v":1},"signer":null,"sig":null,"batch":{"root":"fe4fd5805689ab13ad22bf994e4e8075c8c918ffce01709552b32217f6e5c5a6","index":0,"leaf_count":2,"proof":[{"side":"R","hash":"eeaa0d6b3c38f4e3160afe7eed04a45f402b2cb134b9da9b5ba01b097006d7c0"}],"sealed_at":"2026-09-30T15:01:20.461Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969313},"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"]}