{"format":"receipts-proof/1","hash":"290b54549fae5ae17f5474ecc03c4218fce7121cb84d30f75c9ec36440ee75b0","provider":"demo-macd-momentum","seq":10,"kind":"signal","issued_at":"2026-09-27T13:35:39.278Z","prev":"305785648ced77b1775119baac12285a63c054228a95f60589fb561cc6b30479","body":{"issued_at":"2026-09-27T13:35:39.278Z","kind":"signal","nonce":"f2c4d6934e8876815f9923aef6f77f99","payload":{"entry":{"type":"market"},"expires_at":"2026-09-28T01:35:39.278Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: MACD cross with EMA(100) trend filter, 5m. Mechanical rule, not advice.","side":"long","stop":"84825.1","targets":["85105.7","85316.1"]},"prev":"305785648ced77b1775119baac12285a63c054228a95f60589fb561cc6b30479","provider":"demo-macd-momentum","seq":10,"v":1},"signer":null,"sig":null,"batch":{"root":"290b54549fae5ae17f5474ecc03c4218fce7121cb84d30f75c9ec36440ee75b0","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-27T13:36:39.354Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968848},"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"]}