Skip to main content
GET
Health check

What 503 means

/health reports readiness, not liveness. It answers 200 only when the routing graph holds pools the engine can quote against. A 503 means the process is running and answering, but has nothing to route with — almost always because it is still loading the pool set, or because the upstream RPC was unavailable when it tried. Loading retries in the background, so this clears on its own; it is “not ready yet”, not “gave up”.
This is deliberately stricter than a liveness check. An engine whose entire value is the state it holds can be up, responsive, and useless at the same time — and a check that only proves the process is alive reports healthy through exactly that outage.
Both responses carry readyPools and totalPools, which are the useful diagnostic: totalPools above zero with readyPools at zero means pools loaded but none passed their readiness checks, which is a different problem from having loaded nothing.

Response

Service is ready — the engine can route

status
string
required
Example:

"ok"

readyPools
integer

Pools passing readiness checks. Always > 0 on a 200.

Example:

308

totalPools
integer
Example:

343

Last modified on September 2, 2026