{"format":"receipts-proof/1","hash":"71283202b2007fd75469a5b3dce74423885db777c6199292907435b7e8bfe3ec","provider":"demo-macd-momentum","seq":51,"kind":"signal","issued_at":"2026-10-05T13:05:01.079Z","prev":"de5b46d3e4851c683c07e7c77f21d54061b349c4f5fcd464cf2bf281522876ad","body":{"issued_at":"2026-10-05T13:05:01.079Z","kind":"signal","nonce":"6fdab54cce51bfc468e7a4ffbf8121c8","payload":{"entry":{"type":"market"},"expires_at":"2026-10-06T01:05:01.079Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: MACD cross with EMA(100) trend filter, 5m. Mechanical rule, not advice.","side":"long","stop":"2711.08","targets":["2721.82","2729.86"]},"prev":"de5b46d3e4851c683c07e7c77f21d54061b349c4f5fcd464cf2bf281522876ad","provider":"demo-macd-momentum","seq":51,"v":1},"signer":null,"sig":null,"batch":{"root":"71283202b2007fd75469a5b3dce74423885db777c6199292907435b7e8bfe3ec","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-05T13:05:57.491Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970026},"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"]}