Autonomous fault detection
for distributed AI training,
verifiable on-chain.

SolProbe runs an edge sidecar on every GPU node, streams signals to a central diagnoser, and writes attestations to Solana — so when a training run fails, you have proof of who, what, and when.

Sub-second detection DiLoCo & FSDP-aware Open sidecar protocol
For AI infra teams @training
Catch silent stragglers, ECC errors, and gradient explosions before they tank a 1,000-step run.
For Solana developers @on-chain
Every diagnosis is staked, attested, and slashable — turn compute health into verifiable state.
solprobe.ai / overview
SolProbe
Cluster
mainnet-prod
Monitoring
Overview
Nodes 12
Alerts 3
Diagnoses
Training
On-chain
Attestations

Cluster Overview

Nodes
12
Avg util
87.4%
Throughput
12.4k tok/s
Alerts/min
3
Diagnoses
147
Power
8.2kW

Cluster Nodes

12 healthy · 1 issue
NodeGPUUtilTemp
node-a01H100 ×8 92%68°C
node-a02H100 ×8 88%71°C
node-a03H100 ×8 64%82°C
node-a04H100 ×8 91%69°C
node-a05H100 ×8 89%70°C

Recent alerts

Live
CRITXID_ERRORnode-a03
XID 79 — uncorrectable ECC on GPU 4
WARNSTRAGGLERnode-a07
Worker speed ratio 0.62× — DiLoCo sync stalled
WARNTHERMALnode-a03
Sustained 82°C above threshold for 4m
INFOPCIE_REPLAYnode-a09
PCIe replay counter +14 over baseline
INFOGRAD_NORMnode-a02
Grad norm 4.2× rolling baseline at step 8,420
How it works

Three layers, one signal path.

From DCGM probes on the metal to Solana attestations — every transition is auditable.

01 / EDGEsidecar

Probe every GPU

Lightweight sidecar on each node samples DCGM, NVML, and DiLoCo state at 1 Hz — XID, ECC, PCIe replays, MFU, gradient norms.

cadence1 Hz
memory~ 80 MiB
protocolgRPC + WS
02 / CENTRALdiagnoser

Correlate & reason

Central service correlates per-node alerts across the cluster, runs an LLM-grounded diagnosis with evidence chain, and proposes a recovery action.

latency p95< 800 ms
modelclaude-sonnet
outputDiagnosisResult
03 / ON-CHAINsolana

Attest & settle

Each diagnosis is hashed, signed, and committed to Solana. Validators stake SOL on health; bad attestations get slashed.

finality~ 400 ms
cost / attest~ 0.000005 ◎
programProbe11…
Built for distributed training

Designed for the failure modes that actually kill runs.

Generic monitoring tools don't know what a straggler is. SolProbe does.

DiLoCo-aware

Detects stragglers via worker speed ratio, pseudo-gradient drift, and inner/outer-step desync — not just node liveness.

Sub-second detection

Edge sidecar fires the alert. Central correlates within 200ms. You see it before NCCL does.

LLM-grounded diagnosis

Every alert ships with reasoning, an evidence chain, and a suggested action — not just a number above threshold.

Open sidecar protocol

Every metric and alert type is documented. Run our sidecar or write your own — the wire format is stable.

Verifiable attestations

Each diagnosis lands on Solana. Insurance, SLAs, and reproducibility all become provable, not promised.

Drop-in dashboard

Next.js app, fully typed, ships with WebSocket streaming, alert taxonomy, and a per-node detail view out of the box.

Alert taxonomy

12 alert types,
3 severities, 2 sources.

A small, exhaustive vocabulary covering every failure mode we've seen take down a 64-GPU run.

Full taxonomy →
CRIT
XID_ERRORUncorrectable ECC, NVLink fault, GPU hang
EDGE
CRIT
ROW_REMAP_FAILUREHBM row remapping exhausted
EDGE
WARN
STRAGGLERWorker speed ratio < 0.7 sustained
CENTRAL
WARN
THERMALSustained > 80°C, throttle imminent
EDGE
WARN
GRAD_EXPLOSIONGrad norm > 3× rolling baseline
CENTRAL
INFO
PCIE_REPLAYReplay counter delta beyond noise floor
EDGE
Quickstart

Drop a sidecar on every node.

One container per host. Auto-discovers GPUs, registers with central, starts streaming.

# solprobe-sidecar.yaml — drop into your cluster manifest apiVersion: apps/v1 kind: DaemonSet metadata: name: solprobe-sidecar spec: selector: matchLabels: { app: solprobe } template: spec: hostPID: true containers: - name: sidecar image: "ghcr.io/solprobe/sidecar:0.4.2" env: - { name: CENTRAL_URL, value: "wss://api.solprobe.ai/ingest" } - { name: CLUSTER_ID, value: "mainnet-prod" } - { name: SAMPLE_HZ, value: "1" } - { name: ATTEST_KEYPAIR, valueFrom: { secretKeyRef: { name: solana-key, key: keypair } } } resources: requests: { memory: "96Mi", cpu: "50m" } securityContext: { privileged: true } # DCGM access
On-chain proof

Every diagnosis is signed and slashable.

SolProbe writes a compact attestation per diagnosis to Solana. Validators stake SOL on cluster health — false attestations get slashed, accurate ones earn yield.

Probe11 · Audited Sep 2025 · Devnet live
Latest attestation
signature4Hk2z8…uF9p
nodenode-a03
diagnosisXID_79
confidence0.94
slot312,884,071
status● confirmed
Total staked
128.4
Attestations
14,302

Stop letting silent failures
kill million-dollar runs.

SolProbe is in private beta. Tell us about your cluster and we'll get you running this week.

Want the implementation details? View the code →