When no offer for a route is healthy, the catalog answers the call instead. Same JSON-RPC envelope, same receipt, same billing states — the response header reads X-Surplus-Route: catalog.
X-Surplus-Route: catalog