Deploy AI models on H100, A100, H200, and AMD MI300X GPUs with up to 40% cost savings. Lightning-fast machine learning inference on enterprise GPU infrastructure.
Aquanode runs your workloads anywhere, moves them to cheaper capacity, and recovers from failures automatically.
Supported by Nvidia Inception
We made the provider layer programmable.
01 / PROBLEM
Hunting capacity across clouds and accounts
Five clouds, five accounts, five quotas, five invoices. The free H100 is on the one you are not logged into.
→ One place, one balance. We watch every provider's capacity and rent it for you.
02 / PROBLEM
Paying the price you happened to find
The same card is priced differently on every cloud, and the cheap one keeps moving.
→ Jobs land on the cheapest capacity available now, and move mid-run when a cheaper one appears.
03 / PROBLEM
Running the tooling yourself
A scheduler to host, agents to keep alive, snapshot scripts to keep green. A second codebase that only feeds the first.
→ You submit a command. Scheduling, checkpoints and recovery run on our side.
04 / PROBLEM
Jobs that die or hang at 3am
A GPU gets reclaimed, or a job stops making progress and nobody notices until morning. The box billed the whole time.
→ Failed or hanging jobs retry, or move to another provider and resume from the last checkpoint.
$ aq job create --gpu h100 -- python train.pyis the whole workflow. Every handoff shows on the run page.
How a job runs on Aquanode
01 / SUBMIT
A command, a GPU, your checkpoint paths.
No image to build, no scheduler to host.
02 / PLACE
Cheapest matching capacity, any provider.
Restrict to datacenter hosts only if the job must not leave one.
03 / CHECKPOINT
Snapshots on your interval.
The first snapshot carries everything, later ones carry what changed.
04 / RECOVER
Restarts itself after a failure.
A reclaimed box or a collective that stopped making progress: detected, restored from the last checkpoint, re-run. On a new machine when the old one is gone.
console.aquanode.io/jobs/llm-finetune-01running
09:41:02placednebius · eu-north1 · H100 80GBcheapest of 6 offers
09:43:10runningpython train.pyepoch 1/12
10:13:10checkpoint/root/ckpt4.1 GB · delta 380 MB
11:02:47job failedbox reclaimed by providerconfirmed gone
13:40:12job hungNCCL collective stalledno progress for 15 min
13:41:03restartedsame boxckpt 13:13 · epoch 10/12
14:52:30movedrunpod · us-east · H100 80GBcheaper offer appeared
Workload12+ providers, 100+ regions
eu-north1
H100 80GB
nebius
fin-01
H100 80GB
datacrunch
us-east
H100 80GB
runpod
llm-finetune-01epoch 1
placed · cheapest matching H100 across every cloud, one balance
GPU machines that keeps your work
01 / SYNC
Your working directory, straight to the GPU.
Push the directory onto the box, run it, stream the logs back. No image to build, no redeploy, no pipeline to wait on.
$ aq push
$ aq run --detach -- python train.py
02 / SNAPSHOTS
Pause here, resume on another provider.
Pause a Pod in one datacenter and resume it in another, on a different card. Files, models and packages come back the way you left them.
$ aq pause training-env
$ aq deploy --snapshot 4242 --gpu L40S
03 / VERSIONING
Pin a state like a git commit.
Every save is an immutable, numbered version. Run one as a job, branch off it, or go back three versions when last night's change turned out badly.
$ aq save training-env
$ aq job point api v3
AUTO-PAUSE · OPT-IN PER POD
The box you forgot about pauses itself.
Under 5% GPU for 30 minutes and you get a warning. At 60 the Pod saves itself and the machine is released. Compute stops there; storage for the saved Pod keeps billing.
GPU 84% · ACTIVEGPU 3% · IDLE 30 MIN · WARNINGGPU 3% · IDLE 61 MIN · PAUSED
BRING YOUR OWN HARDWARE
Run Aquanode on hardware you already have.
GPUs on a long lease somewhere, or racks of your own on-prem? Bring them in and run Jobs and Pods on them the way you would on marketplace capacity, against your own storage bucket. Release the box and it keeps running; we revoke our credentials and drop the record.
Jobs and Pods alike. Utilization, VRAM, temperature and power, read off the card every few seconds. A reading the card cannot give you says so, instead of showing a zero.