Aquanode LogoAquanode Docs

CLI Quickstart

Check live GPU prices with no account, then pair aq to your account, rent a GPU, and get a shell on it.

New in v0.2.0: aq ssh

aq ssh is the headline capability of the CLI: a managed keypair and a ~/.ssh/config alias, with zero setup. Once a box is up, aq ssh my-box drops you into a shell - and the same alias works with scp, rsync, and VSCode Remote-SSH, because it's a real ssh_config Host block, not a wrapper.

Haven't installed aq yet? See Install the CLI first.

Check prices first (no account needed)

aq gpus is the one command that works before you've done anything else - no aq login, no account, no API key. Bare, it prints one row per GPU model with the cheapest rate and how many providers compete for it; add a filter like --gpu to drop into the per-offer table below. It reads the same public feed behind the Marketplace API:

aq gpus --gpu H100 --limit 5
GPU   GPUS  VRAM  PROVIDER      REGION        AVAIL  $/GPU-HR  $/HR TOTAL
H100  1     80GB  massecompute  us-central-3  1      2.4500    2.4500
H100  2     80GB  massecompute  us-central-3  2      2.4500    4.9000
H100  1     80GB  hyperstack    CANADA-1      1      2.5250    2.5250
H100  1     80GB  hyperstack    CANADA-1      1      2.5250    2.5250
H100  1     94GB  runpod        unknown       1      2.5900    2.5900
showing 5 of 77 offers; use --limit 0 for all
ready to rent one? `aq login` pairs an account, then `aq up --gpu <model>` deploys.

Compare providers on $/GPU-HR, the normalized per-GPU rate - see aq gpus for why that column (not $/HR TOTAL) is the one to trust. Once you've found a rate worth renting, pair an account and deploy:

The one-command deploy

Pair the CLI to your account

aq login

aq login is a device-pairing flow: it prints a URL and a confirmation code, optionally opens your browser to it, and waits for you to approve the pairing in the console.

To connect this CLI to your Aquanode account, visit:

    https://console.aquanode.io/cli?user_code=ABCD-1234

and confirm this pairing code:

    ABCD-1234

Opened your browser to approve...
Waiting for approval...

✓ Connected as this CLI.
You can close the browser tab. Run `aq whoami` to confirm.

Approve it on the console page that opens, then confirm with aq whoami any time.

Rent a GPU and bring up an environment

aq up --comfyui --name my-box

aq up finds an SSH key to use (registering your local one if needed), rents the cheapest matching GPU, and brings up the app you asked for with --comfyui or --jupyter (a bare aq up with neither flag gets you a plain GPU box, no app). It polls until the app is actually serving before printing the URL:

Using your registered SSH key "my-laptop" (~/.ssh/id_ed25519.pub).
Renting the cheapest matching GPU and bringing up ComfyUI...
Deployment #481 created. Provisioning (this can take a few minutes)...
Service URL published, waiting for ComfyUI to start serving...

✓ ComfyUI is live:

    https://481-comfyui.aquanode.io

  Username: aquanode
  Password: (hidden), re-run `aq status 481 --show-secrets` to print it, or view it in the console.

  IP:    198.51.100.24
  SSH:   aq ssh my-box
  Alias: aq-my-box   (works with ssh, scp, rsync, VSCode Remote-SSH)

Manage it in the console or run `aq whoami` to confirm your login.

Useful flags: --gpu <model> filters to a GPU model (substring match, e.g. "RTX 4090"), --gpus <n> sets how many GPUs the box should have (default 1), --max-price <n> caps the hourly rate, --provider <name> restricts to one provider, and --show-secrets prints the service password instead of hiding it.

Get a shell on it

aq ssh my-box

No key to create, no IP to copy, no id to remember - aq resolves my-box to the deployment, refreshes the managed ~/.ssh/aquanode.config alias, and hands your terminal to the real ssh binary:

→ ssh aq-my-box

A few more ways to use it:

aq ssh                              # your only live box, just connects
aq ssh my-box -- nvidia-smi         # run one command instead of opening a shell
aq ssh my-box -L 8888:localhost:8888   # forward a port
aq ssh my-box --print               # print the ssh command instead of running it

The alias also works directly, with no aq involved:

ssh aq-my-box
scp big.safetensors aq-my-box:/workspace/
rsync -av ./data/ aq-my-box:/workspace/data/

Save your work, then tear it down

Two ways to stop paying for the GPU: tear the box down outright, or pause it and pick it back up later.

aq down my-box
✓ Termination requested for deployment #481, the box will stop shortly.

aq down stops the rented GPU box and its billing for good. Pass --save to save the pod's current state first (termination is skipped if the save fails).

If you'll want this pod back, aq pause my-box saves it and releases the machine in one step. Restore it later with aq deploy --snapshot <id> (<id> is the paused deployment's numeric id, from aq ls --all or the console), possibly onto a different provider. aq up takes no pod argument and always starts a fresh, empty box, so it won't bring this one back. See aq save, aq pause, and aq deploy in the full reference.

Check on a box without tearing it down using aq status my-box (add --show-secrets to print the password).

Next steps