Metrics
All metrics are Prometheus-scrapable at:$METRICS_PORT/metrics.
Request-level
Alerting: settle_duration p95 > 15s for 5 minutes is an incident. Verify p95 > 500ms is a warning.
Sponsor account
Alerting:
x402_sponsor_balance_xlm < SPONSOR_MIN_BALANCE_XLM is a page.
RPC health
Bazaar
Tracing
OpenTelemetry OTLP export viaOTEL_EXPORTER_OTLP_ENDPOINT. Spans emitted:
x402.verify(parent for a verify request)x402.settle(parent for a settle request)x402.rpc.submit(Soroban submit)x402.rpc.get_transaction(Soroban polling)x402.bazaar.index(async catalog write)
x402.tx_hash on settle spans as soon as it is known.
Dashboards
A reference Grafana dashboard ships indashboards/facilitator.json. It has four rows:
- Traffic — verify/settle rate and error rate.
- Latency — verify and settle latency percentiles.
- Sponsor — balance and burn rate.
- Bazaar — listing count, index lag, search QPS.
Recommended SLOs
- Verify success rate > 99.5% (excluding client-side codes like
insufficient_funds). - Settle success rate > 99% given verify succeeded.
- Settle p95 latency < 10s on mainnet.
- Bazaar index lag p95 < 30s.