{"format":"receipts-proof/1","hash":"505d7572936e91e8caf01d654463a2ebc53a50bd6b3fe27625defe180e68c952","provider":"demo-bollinger-squeeze","seq":97,"kind":"signal","issued_at":"2026-10-12T03:03:00.611Z","prev":"d2aaa63f63170da984e1cb1981ae131d4d974f4ebc6f210d26b8852be5fcf1b8","body":{"issued_at":"2026-10-12T03:03:00.611Z","kind":"signal","nonce":"ca524f3b081336b37313de82076fa0a3","payload":{"entry":{"type":"market"},"expires_at":"2026-10-13T03:03:00.611Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"short","stop":"10.96","targets":["10.766","10.669","10.572"]},"prev":"d2aaa63f63170da984e1cb1981ae131d4d974f4ebc6f210d26b8852be5fcf1b8","provider":"demo-bollinger-squeeze","seq":97,"v":1},"signer":null,"sig":null,"batch":{"root":"505d7572936e91e8caf01d654463a2ebc53a50bd6b3fe27625defe180e68c952","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-12T03:18:54.676Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971034},"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"]}