Zapier search: Find Hash (tree nodes + central chain).
Middleware:
GET /zapier/v1/hashes/{sha256}?includeAttached=true&includeTree=true.
verae.archive.query with
kinds: ["tree", …] to every tree-node NATS
server.verae.archive.reply.<correlationId> with
{ merkleRoot, proof, leafIndex, chainSealJobId }.exists: true and
itemizedOnMainChain: false — this hash was in a bulk
summary.proofOk: true — the leaf really is under
merkleRoot.receipts includes kind: seal (of the root)
and kind: tree-leaf (the proof).archiveId tells you which tree node answered (for
support).If every node is silent, the hash is unknown or the archive fleet is down. The simulator flags “all archives silent” when puts were known to exist; operators should treat that as an outage, not a miss.