Process

How IdleBench works.

A local CLI runs on the provider's own machine, checks real hardware, generates a signed report, and publishes a public trust score. No cloud-side simulation. No self-reported claims.

$npx idlebench run
View leaderboard →
01

Install and run

Run npx idlebench run from any terminal on the machine you want to verify. No installation, no root access, no account required. Node.js 18+ must be installed — download it from nodejs.org if needed.

$npx idlebench run

The CLI asks four questions: your Solana wallet public key, a resource name, the resource type (GPU, CPU, API, etc.), and an optional IDLE endpoint URL. Then it starts the local checks — no further input needed.

02

Local hardware verification

Every check runs on the provider's machine. Nothing is simulated or cloud-tested. If a check cannot detect something, it marks it unknown and reduces the score accordingly — no fabrication.

SystemOS, CPU, RAM

Reads operating system, architecture, CPU model, core count, and total RAM using systeminformation.

GPUGPU model and VRAM

Runs nvidia-smi to detect GPU name, VRAM, and vendor. Falls back to systeminformation on non-NVIDIA hardware.

CUDACUDA version

Parses nvidia-smi output for CUDA version and availability. Checked independently from the GPU model.

DriverNVIDIA driver version

Driver version is read from nvidia-smi query output.

DockerDocker installation

Checks docker --version and docker info to confirm Docker is installed and the daemon is running.

GPU RTDocker GPU passthrough

Runs docker run --rm --gpus all nvidia/cuda:12.3.0-base-ubuntu22.04 nvidia-smi -L to confirm GPU passthrough works inside containers.

NetworkNetwork latency

Measures round-trip latency to the IdleBench API three times and uses the median sample.

BenchCPU benchmark

Runs a lightweight SHA-256 hash workload (2048 iterations) and a 128×128 matrix multiplication. No model downloads, no root required.

The entire check sequence takes 60–120 seconds. Docker GPU tests may take longer on first run if the nvidia/cuda container image needs to be pulled.

03

Score calculation

Five sub-scores are calculated from the check results and combined into a final score out of 100. The same formula runs inside the CLI and on the server — results are fully verifiable.

GPU Capability30%

GPU model matched against a curated table. Known GPUs receive explicit scores. VRAM adds a small bonus. CPU-only nodes derive a score from core count and RAM.

Docker & CUDA20%

Starts at 20. Docker available +40, CUDA available +25, Docker GPU runtime +15. Max 100.

Benchmark Performance20%

Derived from CPU benchmark timing plus GPU container readiness. Faster execution = higher score.

Network Quality15%

<20ms → 100, <50ms → 92, <100ms → 82, <200ms → 60, <400ms → 45, >600ms → 15.

System Stability15%

Starts at 75. +5 for ≥8 CPU cores, ≥16 GB RAM, ≥32 GB RAM, and ≥64 GB RAM respectively.

04

Report signed and uploaded

After scoring, the CLI builds a structured JSON report containing all check results and scores. A SHA-256 hash of the report body is computed and embedded as reportHash.

The report is saved locally as idlebench-report-[timestamp].json, then uploaded to IdleBench. If the upload fails, the local file is preserved and can be uploaded later with idlebench upload ./report.json.

reportVersion

Schema version of the report format.

providerWallet

Solana public key of the provider. Never a private key.

resourceName

Human-readable name entered by the provider.

resourceType

GPU, CPU, API, Agent, PC, or Other.

system.*

OS, architecture, CPU model, CPU cores, RAM.

gpu.*

GPU name, VRAM, vendor, CUDA version, driver version.

runtime.*

Docker availability, version, and GPU runtime status.

network.*

Measured latency and optional download estimate.

scores.*

All five sub-scores, final score, and grade.

metadata.*

Timestamp and CLI version that produced the report.

reportHash

SHA-256 of the report body. Verifiable independently.

05

Public verification page

After upload, IdleBench creates a permanent public page atidlebench.dev/resource/[id]. Anyone can view the full report — hardware specs, sub-scores, report hash, and downloadable raw JSON.

Each resource also gets a dynamically generated SVG badge embeddable in GitHub READMEs, IDLE listings, and any website. The badge auto-updates when a new benchmark is run.

Elite
95 – 100

Top-tier hardware. A100, H100, or equivalent with full runtime stack.

Verified A
85 – 94

High-performance node. RTX 4090, Docker + CUDA ready, low latency.

Verified B
70 – 84

Capable node. May lack GPU runtime or have higher latency.

Risky
55 – 69

Marginal hardware or incomplete runtime. Buyers should review the report.

Not Recommended
Below 55

Hardware does not meet minimum expectations for IDLE workloads.

06

IDLE gateway integration

If you provide your IDLE endpoint URL during the benchmark, your IdleBench score is linked directly to your IDLE listing. Buyers browsing resources on IDLE see your grade before routing workloads.

This is how trust gets established in a permissionless compute market: not through self-reported claims, but through a locally-run, cryptographically signed hardware check that anyone can verify.

Get started

Run the benchmark.

One command. Local checks. Public proof.

$npx idlebench run
Read the docs