{"format":"receipts-proof/1","hash":"1c0f83efe11abbf64df97f37210cfbb1011950639955a1f9454157cabf1f4854","provider":"demo-bollinger-squeeze","seq":98,"kind":"signal","issued_at":"2026-10-12T11:45:08.625Z","prev":"505d7572936e91e8caf01d654463a2ebc53a50bd6b3fe27625defe180e68c952","body":{"issued_at":"2026-10-12T11:45:08.625Z","kind":"signal","nonce":"74720c3e2dcbf177897f63a4b323f7d6","payload":{"entry":{"type":"market"},"expires_at":"2026-10-13T11:45:08.625Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"short","stop":"11.064","targets":["10.87","10.773","10.676"]},"prev":"505d7572936e91e8caf01d654463a2ebc53a50bd6b3fe27625defe180e68c952","provider":"demo-bollinger-squeeze","seq":98,"v":1},"signer":null,"sig":null,"batch":{"root":"1c0f83efe11abbf64df97f37210cfbb1011950639955a1f9454157cabf1f4854","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-12T11:46:08.737Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIHA+D7+Eau/ZN+X83IQz7sQEZUGOZVaH5RUFXyr8fSFT/8AhWLrYkQn//LwjxICdeY7PdP6ixwi2jpKAUg0lSvGtdwtS4dbMflwOae1l2CPAQoWYwknT3ghvTPpaAGWfnJwjxIGsHdheAqJRIEcDKkWIaZNj1strjhrMZtnQs5aDAwyZVCPEEaszIgfAIN/Ep6j4rvfUI8CA6Jarx+o2vvuUzvcLh7IWaIEQr1Ixl9xwqx+wKCDJaogjwICy/ch9g8n9vTrpb+jk1a4F+O4NARjKcIhkSEGoVV1OJCPEgWKegyMDoGYX4k5xVwcq/grZKpnyp+dD6NDZ3Fuq1P6wI8CAxG/r3QduHbWOTOaNVKSwyNWr05qgcJ3xweFTzlP9tqgjxIFFNTNNwHOl934aGjAjlSZUypu36sFDpWHcjwDk5gzGFCPAg612T8uzBGpT7De5C6d5rsjYphm5xZwiHNxuOGN9dmVYI8SAQ5CEf9NUaRaAYKqiHwVYW15/0yTEDmsaEulMZbxpVKwjxIKnkJWKkIkatYan0FGiBFhay1yNp28kfmggDzcfkWjWeCPEgHrlel2HdFEmAt+xPEBsgQJBOP4+bVVINfCAYtR8OpjQI8CCIewcivyNdGrH8aCu6yUmRN/FEKU2XFnM9aIxiXwz1FgjwIJ0K/nLaOV4hlHCtj1rfPSmgY3z3ojvVca8cU/qdbGuwCPFZAQAAAAH28xYShiIRx40ftMidzYfAuhGbfATl+AEz6TancgUIMwAAAAAA/v///wLaPwAAAAAAABYAFETbEWyUehd3TP81Z+I5G+r/1M8iAAAAAAAAAAAiaiDwBFHRDgAICPAgYJmMVpTWLE99YxvDaQhM0GljPkwLaY8qFOhYOTFlAGkICPAgT9nVXiLf4VoF6D8nrR4oaPkJSNhPYhpD5gmEDk1dmtgICPEggAGBQt9H+Y1tlsMqkZhwExFXoGgmW4Vy84O/PLkN35MICPEgXx5ovholpya+6pGhRUCuYxjPhbRJtAdMb310m6nwWz8ICPAgaFPrm+VsyDfB0uvRvn4PZkCvAKmznrJRrPUMr9lhpmQICPAg50B8fBP1xQEApn/+wYdhFy6M3ztK0xfgS3nMcyDbSKUICPAgdzQGu0lSpEtHT75BylSB28AgfS7GQAdtlDOWfiihKjIICPEgvu5s2//LSDJD+5inqoWox0nwkFS6WNXq75yo2LvgBnwICPAguaqLGQeJ/teU66w0x1d2y87X6j9vKcMGk1Ea+iOAOOUICPAgGYpfYfMW67J6hlxj9dBxIWc6em2ZMO/mb+Y23X2WKQUICPEgcM4cSHX7eIcOWiuSYQxBBCPo1H3HJ5Mqyk9/hGXboucICPEgWiKdbQlTCgUk6cQlAnpaMPOtZREmSSjvpJtqplPNrs8ICPAgqfDFaT6QxLCXXNBoxCNymG273GU/m35+BmWKWh0iZFYICAAFiJYNc9cZAQPSojv/8AjyIjriSJgDegjwEHXdINEt8941Qij3rRtUXoEI8SBI7Trbk94PX7parpsECtxu2gS1LdGTv5rmoL2RYxRpPQjxIGnuIU4MTa/CLvZt1/PzyWoc/juiN8+Wgwk4r41m5YFSCPEEaszIgfAIt/mZzvZBqJYAg9/jDS75DI4sK2h0dHBzOi8vYm9iLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmfwEF6ppQ6STB99/Ywa40xsxUMI8SDKIfXor+Dm+e+9wuRWiAi6hltHX28z9Lwld0iJNB9BsgjxIIAU1WOpw+viiQrPlfRgxyWK+DSIvfBcQTwOTgOzhMSrCPEEaszIgfAI/REbe4myNvEAg9/jDS75DI4pKGh0dHBzOi8vZmlubmV5LmNhbGVuZGFyLmV0ZXJuaXR5d2FsbC5jb20=","chain_anchor":null,"bitcoin_block":971090},"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"]}