Network
Renting Compute
Submit a containerized workload, choose a GPU class and region, and pay only for the seconds you actually use. Escrow protects both sides until the job settles.
The workload spec
A job is described by a small spec. The only required fields are an image and a GPU class; everything else has sensible defaults.
{
"image": "docker.io/myorg/trainer:1.4",
"gpu": "a100",
"region": "eu",
"maxMinutes": 120,
"env": { "DATASET": "s3://bucket/shards" },
"command": ["python", "train.py", "--epochs", "3"]
}
GPU classes
Request a class, not a card. The scheduler guarantees the requested class or better, so a job tagged rtx4090 may also run on an A100 if that yields a faster match — never on weaker hardware.
| Class | VRAM floor | Best for |
|---|---|---|
| rtx4090 | 24 GB | Rendering, batch inference, small fine-tunes |
| a100 | 40 GB | Training, large batches, multi-GPU jobs |
| h100 | 80 GB | Frontier training, throughput-critical work |
Per-second pricing
You pay for metered GPU-seconds, billed continuously from the moment the container reports healthy until it exits. There is no minimum block and no idle charge — stop the job and billing stops.
The displayed rate is a live market price set by available supply at your requested class and region. When you submit, the network escrows rate × maxMinutes; anything unused is refunded to your wallet at settlement.
maxMinutes as a hard ceiling and --max-rate to refuse matches above a price you choose. The job will queue rather than overpay.
Estimate before you run
reaver quote --gpu a100 --region eu --minutes 120
# → est. 0.41 SOL (rate 0.0000057 SOL/GPU-sec, 12 nodes available)
Regions
Pin a workload to a geography for data-residency or latency reasons, or leave it open for the cheapest global match.
| Tag | Coverage |
|---|---|
| na | North America |
| eu | Europe |
| apac | Asia-Pacific |
| any | Cheapest available worldwide |
Data and results
Workloads pull inputs and push outputs to your own storage (S3-compatible buckets, IPFS, or a signed URL). Reaver GPU never holds your data at rest — the node fetches inputs at start, runs in an ephemeral sandbox, and the scratch volume is wiped when the job ends.
Job lifecycle
- queued — submitted, awaiting a matching node.
- scheduled — assigned; image is being pulled.
- running — container healthy, metering active.
- completed / failed — escrow settles, refund returns.
See the API Reference for the full set of job commands and status fields.
Reaver GPU