{"slug":"sicher-halowerk-com-v1-log-chain-verify-b7e09c","title":"Recomputes every record hash from a canonical JSON representation of id, sequenc","host":"sicher.halowerk.com","method":"POST","resource":"https://sicher.halowerk.com/v1/log-chain-verify","category":"other","description":"Recomputes every record hash from a canonical JSON representation of id, sequence, timestamp, previous_hash and payload, then checks that each record points to the hash of the record before it. If a root_hash is supplied, the same computed record hashes are folded into a deterministic binary Merkle ","price_listed":0.005,"price_asked":0.005,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":1165,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"records":[{"hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","id":"evt-001","payload":{"action":"created","actor":"build-bot","subject":"release-2026.08.19"},"previous_hash":null,"sequence":1,"timestamp":"2026-08-19T09:00:00Z"},{"hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c","id":"evt-002","payload":{"action":"approved","actor":"release-manager","subject":"release-2026.08.19"},"previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","sequence":2,"timestamp":"2026-08-19T09:01:00Z"}],"root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"records":{"description":"Audit records in chain order.","items":{"additionalProperties":false,"properties":{"hash":{"description":"Claimed SHA-256 hash of this record.","maxLength":71,"minLength":64,"type":"string"},"id":{"description":"Stable event id.","maxLength":160,"minLength":1,"type":"string"},"payload":{"description":"Event payload to include in the record hash."},"previous_hash":{"anyOf":[{"maxLength":71,"minLength":64,"type":"string"},{"type":"null"}],"description":"Hash of the previous record, or null for the first record."},"sequence":{"description":"Monotonic event position.","maximum":1000000000,"minimum":0,"type":"integer"},"timestamp":{"description":"Event time as supplied by the log producer.","maxLength":80,"minLength":1,"type":"string"}},"required":["id","sequence","timestamp","previous_hash","payload","hash"],"type":"object"},"maxItems":500,"minItems":1,"type":"array"},"require_monotonic_sequence":{"default":true,"description":"Require sequence numbers to increase by one.","type":"boolean"},"root_hash":{"description":"Optional claimed Merkle root over the computed record hashes.","maxLength":71,"minLength":64,"type":"string"}},"required":["records"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.005,"price_match":true,"latency_ms":1165,"error":null}],"description_full":"Recomputes every record hash from a canonical JSON representation of id, sequence, timestamp, previous_hash and payload, then checks that each record points to the hash of the record before it. If a root_hash is supplied, the same computed record hashes are folded into a deterministic binary Merkle tree with the last leaf duplicated on odd levels.","last_updated":"2026-09-14T20:03:09.043Z","schemes":["exact"]}