# Lazareus > Network health and priority fee data for Solana, Base, and Ethereum, > built for AI agents. Every endpoint answers a question in a few hundred > milliseconds — no dashboard, no account, no subscription. Pay per call > via x402, on Solana or Base (whichever wallet you have) — independent > from which chain's data you're asking about. Lazareus is not a dashboard. It's an API designed to be called by AI agents before they act — before executing a timing-sensitive transaction, before attaching a priority fee. 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) - Networks: Solana (mainnet) or Base (mainnet) — pick whichever you have a wallet for - Currency: USDC - Price: $0.002 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 ### Solana ### GET /get_network_health/solana Returns a 0-100 Solana network health score combining average slot time, % of delinquent stake, median prioritization fee (congestion signal), and skipped-slot rate (block production health), plus the raw metrics and per-metric sub-scores behind it. 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/get_network_health/solana ``` Response: ```json { "score": 94, "status": "healthy", "degraded": false, "reasons": [], "metrics": { "avg_slot_time_ms": 421.2, "delinquent_stake_pct": 0.06, "median_prioritization_fee_microlamports": 0, "skip_rate_pct": 0 }, "sub_scores": { "slot_time": 89, "delinquent_stake": 99, "prioritization_fee": 100, "skip_rate": 100 }, "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" } ``` ### GET /get_recommended_priority_fee/solana Recommends a Solana transaction priority fee (in micro-lamports per compute unit) based on recent network activity, at low/medium/high confidence levels. Multiply the returned value by your transaction's compute unit budget to get the actual priority fee to attach. Query parameters: - `format=llm` (optional) — returns a natural-language sentence instead of JSON Example: ``` GET https://lazareus.xyz/get_recommended_priority_fee/solana ``` Response: ```json { "recommended_microlamports_per_cu": 150, "levels": { "low": 50, "medium": 150, "high": 400 }, "sample_size": 20, "checked_at": "2026-08-06T18:45:34.680Z" } ``` ### Base & Ethereum (EVM) Same signal, computed from EIP-1559 chain data instead of Solana's slot/ stake/prioritization-fee metrics: average block time, average gas-used ratio (how full recent blocks are — a congestion signal), base fee volatility (coefficient of variation of recent baseFeePerGas samples), and median priority fee in gwei. ### GET /get_network_health/base ### GET /get_network_health/ethereum Returns a 0-100 network health score for Base or Ethereum mainnet respectively, plus the raw metrics and per-metric sub-scores behind it. Same query parameters and response shape as `/get_network_health/solana`, with an added `"chain"` field (`"base"` or `"ethereum"`) and EVM-specific `metrics`/`thresholds` keys (`avg_block_time_ms`, `avg_gas_used_ratio`, `base_fee_volatility`, `median_priority_fee_gwei`). Example: ``` GET https://lazareus.xyz/get_network_health/base ``` Response: ```json { "chain": "base", "score": 96, "status": "healthy", "degraded": false, "reasons": [], "metrics": { "avg_block_time_ms": 2010.4, "avg_gas_used_ratio": 0.42, "base_fee_volatility": 0.08, "median_priority_fee_gwei": 0.004 }, "sub_scores": { "block_time": 99, "gas_used_ratio": 100, "base_fee_volatility": 84, "priority_fee": 100 }, "thresholds": { "block_time_degraded_ms": 4000, "gas_used_ratio_degraded": 0.95, "base_fee_volatility_degraded": 0.5, "priority_fee_degraded_gwei": 2 }, "checked_at": "2026-08-14T18:00:00.000Z" } ``` ### GET /get_recommended_priority_fee/base ### GET /get_recommended_priority_fee/ethereum Recommends an EIP-1559 priority fee (`maxPriorityFeePerGas`, in gwei) for Base or Ethereum mainnet respectively, at low/medium/high confidence levels, plus the current base fee. Example: ``` GET https://lazareus.xyz/get_recommended_priority_fee/base ``` Response: ```json { "chain": "base", "current_base_fee_gwei": 0.0132, "recommended_priority_fee_gwei": 0.0041, "levels": { "low": 0.001, "medium": 0.0041, "high": 0.0098 }, "sample_size": 20, "checked_at": "2026-08-14T18:00:00.000Z" } ``` ## Errors All endpoints share a standard error shape: ```json { "error": { "code": "internal_error", "message": "..." } } ``` ## Free, unpaid endpoints - `GET /health` — liveness check - `GET /stats` — total calls served, average processing time (excludes x402 payment settlement) - `GET /uptime` — hourly uptime history, last 30 days, per chain (`network`, `network_base`, `network_ethereum`) ## MCP tools The MCP server at `https://lazareus.xyz/mcp` (Streamable HTTP transport) exposes the same six checks as tools: - `get_network_health()` - `get_recommended_priority_fee()` - `get_network_health_base()` - `get_recommended_priority_fee_base()` - `get_network_health_ethereum()` - `get_recommended_priority_fee_ethereum()` Same underlying logic and response shape as the REST endpoints above.