aq CLI

aq is Aquanode's laptop CLI. One command rents the cheapest GPU that matches what you asked for, provisions it, and hands you a shell, and one command needs no account at all.

aq gpus: check prices with no account

aq gpus is the one aq command that works before you've done anything else: no aq login, no account, no API key. Install the CLI and run it bare, and it prints a market-summary table (one row per GPU model, cheapest per-GPU rate first, with how many providers compete for it), the same feed behind the GPU price index.

Add --gpu (a substring match, so --gpu H100 works), --provider, --region, or --max-price, and it drops into a per-offer table listing every individual offer that matches; add --json to get those raw offers in a script-friendly form. That table prints two price columns: $/GPU-HR and $/HR TOTAL, because the underlying feed reports a whole-offer total for most providers and a flat per-GPU rate for one (Akash); aq gpus normalizes both, so $/GPU-HR is always the column to compare providers on.

Install and pair

The installer is a single script that resolves the latest release, verifies its SHA-256 checksum, and drops the binary in /usr/local/bin or ~/.local/bin. Nothing else to configure.

aq login pairs the CLI to your account with a device code: it prints a short code, you approve it once in the console, and the CLI holds a scoped credential from then on. No copying a token into a dotfile.

aq up: rent, provision, run

aq up --jupyter or aq up --comfyui finds the cheapest GPU matching your constraints, rents it, brings the app up, and prints the URL and credential. Narrow it with --gpu (a substring, so --gpu "RTX 4090" works), --max-price to cap the hourly rate, or --provider to pin one vendor.

If you have no SSH key registered yet, aq up registers a local one for you rather than failing with a lecture.

aq ssh: a real ssh_config alias, not a wrapper

aq ssh manages a keypair and writes a real ssh_config host block, then hands your terminal to the actual ssh binary. Because the alias aq-<name> is a genuine Host entry, everything that speaks ssh_config just works: scp, rsync, and VSCode Remote-SSH included.

It also takes -- <cmd> to run something and exit, and -L to forward a port, the usual ssh ergonomics, because it is ssh.

aq deploy: restore a snapshot onto a fresh box

aq deploy --snapshot <id> rents a new GPU and restores an existing workspace snapshot onto it in one command, optionally relaunching Jupyter or ComfyUI on the restored data, or --no-app to restore only.

The same --gpu, --max-price and --provider filters apply, which is the whole point: moving your environment to a cheaper GPU somewhere else is one command from a terminal.

aq import: bring in a box you rent elsewhere

aq import runs on a box you already rent somewhere else (RunPod, Vast, your own hardware) and captures it into a portable Aquanode setup. It's survey-first: before anything uploads, it prints exactly what it detected, what it's skipping (with real sizes, so a large dataset you forgot about doesn't just vanish), and what it couldn't even read: a third state, distinct from "skipped on purpose." --include and --exclude adjust the set before you commit.

It captures directories, not the machine: no apt state, no systemd units, no driver install get replayed. Once it's in, --launch rents a GPU and restores onto it in the same command, defaulting to the GPU model it observed on the source box.

Status and teardown

aq status prints a deployment's state, its URL and its credentials (hidden unless you pass --show-secrets). aq down tears the box down and stops the meter. aq whoami and aq logout cover the credential itself.

FAQ

Do I need an account to use aq?

Not for aq gpus. Bare, it prints a market-summary table (cheapest rate per GPU model across every provider Aquanode integrates with) using no login, no account, and no API key; add a filter to see every individual offer. Every other command (aq up, aq ssh, aq deploy, and the rest) needs aq login first, since they rent and manage real infrastructure.

How do I compare GPU prices across providers without an account?

Run aq gpus, optionally narrowed with --gpu, --provider, --region or --max-price. Compare offers on the $/GPU-HR column, not $/HR TOTAL: the underlying feed reports a whole-offer total for most providers and a flat per-GPU rate for one (Akash), and aq gpus normalizes both into that one comparable column.

How do I install the aq CLI?

Run the install script from the public aq-releases repository. It resolves the latest release, verifies the binary's SHA-256 checksum, and installs to /usr/local/bin or ~/.local/bin. You can override the version and install directory with AQ_VERSION and AQ_BIN_DIR.

How does aq authenticate?

aq login uses a device-pairing flow: the CLI prints a short code, you approve that code once in the console, and the CLI stores a scoped credential. There is no token to copy into a config file by hand.

Can I rent a GPU and get a shell in one command?

Yes. aq up rents the cheapest GPU matching your filters and provisions it: bare by default, or with an app installed if you pass --comfyui or --jupyter; aq ssh then opens a shell on it. If no SSH key is registered, aq up registers a local one automatically.

Does aq ssh work with scp, rsync and VSCode Remote-SSH?

Yes. aq ssh writes a real ssh_config Host block aliased aq-<name> and delegates to the ssh binary, so any tool that reads ssh_config (scp, rsync, VSCode Remote-SSH) works with that alias unchanged.

Can I restore a snapshot from the command line?

Yes. aq deploy --snapshot <id> rents a fresh GPU and restores that snapshot onto it, optionally relaunching Jupyter or ComfyUI on the restored data, with the same --gpu, --max-price and --provider filters as aq up.

Can I build aq from source?

Yes. The aq source repository is public. Run go install github.com/Aquanodeio/aq@latest with a Go 1.26+ toolchain, or install from the published binaries, which are checksum-verified by the installer.

Can I bring in a box I'm renting on another provider?

Yes. aq import runs on that box and captures it into a portable Aquanode setup. It surveys first: showing exactly what it will capture, what it's skipping (with real sizes), and what it couldn't read, before anything uploads. --launch can rent a GPU and restore onto it immediately after.

Ready when you are

Submit the job.
A dead GPU doesn't end it.

Sign up in 60 seconds. Pay for the GPU minutes you actually use.

© 2026 Aquanode. All rights reserved.

All trademarks, logos and brand names are the property of their respective owners.