Operators

Monitor your node

Health, the signed build proof, and the console that re-verifies both in your browser.

Two endpoints, and a console that checks them for you.

bash
curl -s localhost:3333/health
curl -s localhost:3333/build
terminal
{"status":"ok","witness_did":"did:key:z6Mk…","first_seen_count":0,"receipt_count":0}
{"version":"0.1.16","running_digest":"sha256:…","attestation":{…}}

/build is the node's signed statement of which binary it runs — checked against the digest you deployed.

The console

Open your node in the explorer at explorer.auths.dev — point it at your own node with ?witness=<your-node-url> on any member page. It reads the public GETs and re-verifies the signed payloads in your browser with the published WASM verifier. The node is treated as an untrusted data source; trust comes from the in-browser check, never the connection.

Container healthcheck

The image ships its own probe — no curl needed inside the container:

bash
witness-node healthcheck --url http://127.0.0.1:3333/health

Exit 0 is healthy. Compose already wires this on a 30s interval.

What to alert on

SignalMeaning
/health non-200Node down — your cosignature is missing from live quorums
/build digest ≠ deployed digestYou're running something you didn't deploy
Disk pressure on /dataThe anchor store cannot grow — anchors will start failing

If it fails: a node that answers /health but not /build was started without a build attestation — that surface is optional, not a fault.