New B200 spot capacity is live in US East from $1.69 per GPU-hour. See availability
Documentation

The spot command.

One binary, no daemon, same objects as the console. Every command prints a table for humans and JSON for scripts.

Last reviewed 15 September 2026 · something wrong or missing?

Private beta.

The CLI is being rolled out to beta accounts. Keys are created in the console and access is enabled per account — ask for it and we will tell you where the queue stands. This page is the interface as it is being shipped, so you can see whether it fits your workflow before asking.

Install#

macOS and Linux
$ curl -fsSL https://cli.spotgpus.com/install.sh | sh
$ spot version
spot 0.4.0 (beta)

A single static binary, no runtime to install. Windows users can run it under WSL. The installer never needs root: it drops the binary in ~/.local/bin.

Authenticate#

Create a key in the console under API keys, then:

once per machine
$ spot auth login --key sg_live_xxxxxxxxxxxxxxxx
Signed in as you@example.com · balance $128.40

# Or keep it out of the config file entirely:
$ export SPOT_API_KEY=sg_live_xxxxxxxxxxxxxxxx

The key is stored in ~/.config/spotgpus/config.toml with mode 0600. SPOT_API_KEY takes precedence, which is what CI should use.

spot launch#

launch an instance
$ spot launch --gpu h100-sxm --count 1 --tier spot \
      --region us-east --template pytorch --volume train-data --relaunch
Instance i-7f3a2c  H100 ×1  us-east  spot @ $0.55/h
ssh root@i-7f3a2c.spotgpus.com
✓ reachable in 41s
FlagDefaultWhat it does
--gpu <slug>requiredA model from spot gpus, for example h100-sxm
--count <n>1GPUs in the node; must be a size the model offers
--tier spot|ondemandspotWhether the instance may be reclaimed
--region <code>first with capacityus-east, us-west, eu-central
--template <slug>pytorchA template, or --image ghcr.io/you/img:tag for your own
--volume <name|ref>noneAttach a persistent volume at /mnt/vol
--disk <gb>noneCreate a volume of that size and attach it
--relaunchoffQueue for the next free capacity after a reclaim
--name <text>noneA label for your own reference, 60 characters
--jsonoffPrint the instance object instead of a table
--waitonBlock until the instance is reachable; --no-wait returns immediately

spot ls, spot show#

what is running
$ spot ls
REF        GPU        TIER  REGION    STATE     UPTIME   COST
i-7f3a2c   H100 ×1   spot  us-east   running   02:14    $1.23i-9b10e4   RTX 4090   spot  eu-central stopped  —        $0.13
$ spot show i-7f3a2c --json | jq .volume
{
  "ref": "vol-4b19c7",
  "mount": "/mnt/vol",
  "size_gb": 500
}

spot watch#

Follows an instance and runs a command when a reclaim notice arrives — the CLI equivalent of polling the metadata endpoint from inside the machine.

react to a notice from outside
$ spot watch i-7f3a2c --on-notice ./drain.sh --on-stop ./notify.sh
18:04:12  running     $0.23 so far
18:12:40  notice      reclaim in 02:00 → ./drain.sh
18:14:40  stopped     volume vol-4b19c7 kept, address kept
18:18:50  relaunched  i-9b10e4  spot @ $0.55/h

spot stop, spot rm#

$ spot stop i-7f3a2c        # stops billing, keeps disk, IP and configuration
$ spot start i-7f3a2c       # same instance, next free capacity of that model
$ spot rm i-7f3a2c          # terminate; the volume survives until you delete it

spot volume#

$ spot volume create train-data --size 500 --region us-east
vol-4b19c7  500 GB  us-east  $40.00/month

$ spot volume ls
REF          NAME         SIZE    REGION     ATTACHED
vol-4b19c7   train-data   500 GB  us-east    i-7f3a2c

$ spot volume rm vol-4b19c7   # must be detached; deletion is final

spot gpus#

$ spot gpus --min-vram 80 --tier spot
SLUG          NAME           VRAM   SPOT     ONDEMAND  AVAILABLE
b200-sxm      B200 SXM       180 GB $1.69    $2.49     16
h200-sxm      H200 SXM       141 GB $0.75    $1.09     32
h200-nvl      H200 NVL       141 GB $0.69    $0.99     16
h100-sxm      H100 SXM       80 GB  $0.55    $0.89     96

Scripting notes#

  • Exit codes. 0 success, 1 usage or validation error, 2 no capacity for that model and region, 3 insufficient balance, 4 authentication failure.
  • --json everywhere. Every command accepts it and prints one object or one array. Combine with jq rather than parsing tables.
  • Idempotence. spot launch --idempotency-key <uuid> returns the same instance if the call is retried, which matters when a CI step reruns after a network error.
  • No hidden state. The CLI keeps nothing but the key: two machines with the same key see exactly the same objects.