{"format":"receipts-proof/1","hash":"e04c3524cb35e78ec08b50a7ab02b09e46f318b9a3880da9f01e1b0f4dd56466","provider":"demo-donchian-breakout","seq":47,"kind":"signal","issued_at":"2026-10-13T06:10:49.495Z","prev":"84a0366122b3a690e58168961512f17d62c255c2c9076e23c18fba342ea03ccf","body":{"issued_at":"2026-10-13T06:10:49.495Z","kind":"signal","nonce":"9650d1299a6f59cf780328a132284283","payload":{"entry":{"type":"market"},"expires_at":"2026-10-15T06:10:49.495Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"82470.4","targets":["85411.8","87176.7"]},"prev":"84a0366122b3a690e58168961512f17d62c255c2c9076e23c18fba342ea03ccf","provider":"demo-donchian-breakout","seq":47,"v":1},"signer":null,"sig":null,"batch":{"root":"e04c3524cb35e78ec08b50a7ab02b09e46f318b9a3880da9f01e1b0f4dd56466","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-13T06:11:49.959Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971201},"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"]}