Skip to content

Service level objectives — mainnet core

Master Prompt 11 §6. Every number below is a TARGET until Master Prompt 19 measures it on a staging network and replaces it with a measured value or a named gap. A target is a design goal, not a claim.

Each SLO has four companions that cargo xtask slo-check requires: a metric the node exports, a dashboard panel, an alert, and a runbook.

IDObjectiveTargetMetricDashboardAlertRunbook
finality-p50Finality latency, medianTARGET ≤ 2 smaya_finality_latency_secondsinfra/grafana/dashboards/slo.json#finalityinfra/grafana/alerts/slo.yaml#FinalitySlowdocs/runbooks/fell-behind.md
finality-p99Finality latency, 99th percentileTARGET ≤ 6 smaya_finality_latency_secondsinfra/grafana/dashboards/slo.json#finalityinfra/grafana/alerts/slo.yaml#FinalitySlowP99docs/runbooks/fell-behind.md
livenessBlocks produced per expected slot over 1 hTARGET ≥ 99.9%maya_blocks_imported_totalinfra/grafana/dashboards/slo.json#livenessinfra/grafana/alerts/slo.yaml#ProductionStalleddocs/runbooks/chain-halt.md
rpc-availabilityPublic RPC success ratio over 30 dTARGET ≥ 99.9%maya_rpc_requests_totalinfra/grafana/dashboards/slo.json#rpcinfra/grafana/alerts/slo.yaml#RpcErrorsdocs/runbooks/rpc-overload.md
rpc-latencyPublic RPC p99 for get_balanceTARGET ≤ 250 msmaya_rpc_duration_secondsinfra/grafana/dashboards/slo.json#rpcinfra/grafana/alerts/slo.yaml#RpcSlowdocs/runbooks/rpc-overload.md
state-syncNew full node: empty disk to headTARGET ≤ 2 h at 100M accountsmaya_sync_duration_secondsinfra/grafana/dashboards/slo.json#syncinfra/grafana/alerts/slo.yaml#SyncSlowdocs/runbooks/snapshot-corrupt.md
validator-downtimeDowntime before a validator is slashedTARGET: slashed only after 10,000 missed consecutive rounds (~5.5 h at 2 s)maya_validator_missed_roundsinfra/grafana/dashboards/slo.json#validatorsinfra/grafana/alerts/slo.yaml#ValidatorMissingdocs/runbooks/signer-unreachable.md

The liveness row names maya_blocks_imported_total, the counter the node exports (crates/node/src/metrics/mod.rs), in place of a “blocks produced” counter that never existed. Since ADR-027, the node also exports the finality, RPC, sync and missed-round metrics (crates/node/src/metrics/mod.rs). cargo xtask slo-check reported all 7 SLOs with every companion on 2026-09-28, with 0 gaps. What no one has yet is a measurement: the targets above stay TARGETs until a staging network has run long enough to measure them (LAUNCH.md Gate 3).

A 99.9% objective over 30 days is a budget of 43 minutes. When a budget is spent, releases that are not fixes stop until the next window (Master Prompt 19 §2).

Nothing on a multi-region network — no staging network exists. What the simulator shows about the DAG-BFT engine (ordering rounds of ~150 ms on a modelled 20–80 ms link, reports/04-consensus.md) is an input to these targets, not a measurement of them.