# Lazareus > Solana network and validator health checks, built for AI agents. Every > endpoint answers one simple question in a few hundred milliseconds — no > dashboard, no account, no subscription. Pay per call, on Solana, via x402. Lazareus is not a dashboard. It's an API designed to be called by AI agents before they act — before delegating stake, before executing a timing-sensitive transaction. Responses are small, fast, and structured for machine consumption first (a `format=llm` mode is also available for a natural-language sentence instead of JSON). ## Access - Human docs: https://lazareus.xyz/docs.html - MCP server (Streamable HTTP): https://lazareus.xyz/mcp - REST base URL: https://lazareus.xyz ## Payment - Protocol: x402 (HTTP 402 Payment Required) - Network: Solana (currently devnet — see /docs.html for current status) - Currency: USDC - Price: $0.001 per call, no account or subscription required - On an unpaid request, the API responds `402` with a `PAYMENT-REQUIRED` header describing the exact payment terms (amount, asset, payTo, network). Sign and retry with a `PAYMENT-SIGNATURE` header to get the real response. ## Endpoints ### GET /is_validator_delinquent Tells you whether a given Solana validator is currently delinquent (behind on the network, not voting correctly, absent from the `current` vote accounts list). Useful for an agent managing stake that needs to decide where to delegate, or whether to withdraw urgently. Query parameters: - `address` (required) — the validator's vote account address - `format=llm` (optional) — returns a natural-language sentence instead of JSON Example: ``` GET https://lazareus.xyz/is_validator_delinquent?address=so1arJJbp9sis5XpovLyjTZPk8bDjfs37Meghi5wXbu ``` Response: ```json { "address": "so1arJJbp9sis5XpovLyjTZPk8bDjfs37Meghi5wXbu", "delinquent": false, "found": true, "checked_at": "2026-08-06T15:24:26.014Z" } ``` ### GET /is_network_degraded Tells you whether the Solana network is currently degraded — combining average slot time, % of delinquent stake, median prioritization fee (congestion signal), and skipped-slot rate (block production health). Useful before executing a timing-sensitive transaction. Query parameters: - `format=llm` (optional) — returns a natural-language sentence instead of JSON Example: ``` GET https://lazareus.xyz/is_network_degraded ``` Response: ```json { "degraded": false, "reasons": [], "metrics": { "avg_slot_time_ms": 421.2, "delinquent_stake_pct": 0.06, "median_prioritization_fee_microlamports": 0, "skip_rate_pct": 0 }, "thresholds": { "slot_time_degraded_ms": 600, "delinquent_stake_degraded_pct": 10, "prioritization_fee_degraded_microlamports": 10000, "skip_rate_degraded_pct": 5 }, "checked_at": "2026-08-06T18:45:34.680Z" } ``` ## Errors Both endpoints share a standard error shape: ```json { "error": { "code": "invalid_address", "message": "Invalid address" } } ``` Known codes: `missing_parameter`, `invalid_address`, `internal_error`. ## Free, unpaid endpoints - `GET /health` — liveness check - `GET /stats` — total calls served, average response time - `GET /uptime` — hourly uptime history for both endpoints, last 30 days ## MCP tools The MCP server at `https://lazareus.xyz/mcp` (Streamable HTTP transport) exposes the same two checks as tools: - `is_validator_delinquent(address)` - `is_network_degraded()` Same underlying logic and response shape as the REST endpoints above.