---
title: GPUBank docs: quickstart, CLI, API and guides
url: https://gpubank.io/docs
description: Rent a GPU on GPUBank in five minutes: sign up, top up from $25, add an SSH key, launch. Guides for ComfyUI, vLLM, fine-tuning, plus CLI and API.
generated: 2026-11-02T00:25Z
publisher: GPUBank (GPU Compute OÜ, Tallinn, Estonia)
summary_for_ai: https://gpubank.io/llms.txt
full_text_for_ai: https://gpubank.io/llms-full.txt
---

> Markdown version of https://gpubank.io/docs, generated from the live page. GPUBank is a GPU cloud billed by the second at one all-in price per GPU (vCPU, RAM, NVMe, a public IPv4 and traffic included), in Paris, Frankfurt, Ashburn and Singapore. Prices are in US dollars, excluding VAT.

Docs

# GPUBank documentation

How to rent a GPU, connect to it and pay only for the seconds it runs. The quickstart is right below.

CLI 1.4

API v1

Updated 2 November 2026

## Launch your first GPU in five minutes.

You need an email address, $25 in any supported coin and an SSH key. No compute is billed until your machine passes its health check.

1. 1
  ### Create an account
  Sign up at [console.gpubank.io/register](https://console.gpubank.io/register) with an email and a password of 12 characters or more. We send a six-digit code to confirm the address. Signing in with GitHub or Google works too.
2. 2
  ### Top up your balance
  In the console, open Billing › Top up and choose an amount from $25. Pay in Bitcoin, USDT, Ethereum, Monero or another listed coin. The balance is credited once the payment confirms on chain, usually within a few minutes, and a $100 top-up is credited as $135.
3. 3
  ### Add an SSH key
  If you do not have one yet, create it on your computer, then paste the public key in Account › Security › SSH keys. Every machine you launch gets it.
  bash
  ```
  ssh-keygen -t ed25519 -C "you@company.com"
  cat ~/.ssh/id_ed25519.pub
  ```
4. 4
  ### Launch a GPU
  From the console: Pods › Launch, then pick a GPU, a region, a template and a disk. Or from your terminal:
  bash
  ```
  pipx install gpubank
  gpubank login
  gpubank launch --gpu h100-sxm --region eu-paris --disk mydisk --template pytorch-2.8
  ```
  output
  ```
  ✓ instance inst_7c1e created
  ✓ allocated GPU H100 SXM in eu-paris         12.34 s
  ✓ attached disk mydisk (200 GB)               28.11 s
  ✓ health check passed, billing started        47.80 s
  connect: ssh root@par1-g07.gpubank.io
  ```
  billing starts here
5. 5
  ### Connect and check the GPU
  bash
  ```
  ssh root@par1-g07.gpubank.io
  nvidia-smi
  ```
  **What you are paying now.** The meter started at 47.8 s, when the health check passed. Run `gpubank stop inst_7c1e` and compute billing stops; the disk and the IP address are kept, and the disk costs $0.03 per GB-month until you delete it.
6. 6
  ### Open a port and move your files
  Expose a web app on the public HTTPS address of the machine, and copy your data with the tools you already use.
  bash
  ```
  gpubank port open inst_7c1e 8188        # https://par1-g07-8188.gpubank.io
  rsync -avP ./dataset/ root@par1-g07.gpubank.io:/workspace/dataset/
  ```
  Files under `/workspace` live on the persistent disk and survive every stop. Everything else sits on the local NVMe and is wiped when the machine stops.

## Guides for what people run on GPUBank.

### Run ComfyUI

Start ComfyUI with your models on a persistent disk and open it in the browser.

RTX 4090 or RTX 5090 6 min

### Serve a model with vLLM

An OpenAI-compatible endpoint for Llama, Qwen or Mistral, with an API key in front.

RTX PRO 6000 or H100 SXM 8 min

### Fine-tune with Unsloth

LoRA or QLoRA on Llama 3.1 8B to 70B, with checkpoints written to your disk.

A100 SXM or H100 SXM 10 min

### JupyterLab

Notebooks with the GPU visible in PyTorch and JAX, reached over HTTPS.

L40S or A100 SXM 4 min

### Ollama

Pull a model, chat over the API and keep the weights on your disk.

L40S or RTX 5090 4 min

### Bring your Docker image

Launch any OCI image from a public or private registry, GPU passthrough on.

Any GPU 5 min

### Expose a port

Serve a web app or an API on an HTTPS address, with or without a token in front.

Any GPU 3 min

### Transfer files

scp, rsync, Hugging Face downloads with your token, and S3-compatible buckets.

Any GPU 5 min

### Move a disk to another region

Copy a persistent disk from Paris to Frankfurt or Ashburn and launch there.

Any GPU 3 min

### Checkpoints on interruptible GPUs

Catch the five-minute notice, save state and resume on the next card.

Any GPU 7 min

## Start from a tested image.

Each template pins the driver, CUDA and libraries, and is relaunched on every GPU model before we mark it verified. All 25 are re-checked at least every three days.

| Template | Tag | First start | Verified |
| --- | --- | --- | --- |
| PyTorch 2.8 · CUDA 12.8 | pytorch:2.8-cu128 | about 2 min | 2026-11-01 |
| Ubuntu 24.04 · CUDA 12.8 | ubuntu:24.04-cu128 | about 1 min | 2026-11-01 |
| JupyterLab 4 | jupyter:4.3-cu128 | about 1 min | 2026-11-02 |
| ComfyUI · model sync | comfyui:0.3-cu128 | about 4 min | 2026-11-02 |
| vLLM 0.11 serving | vllm:0.11-cu128 | about 3 min | 2026-10-31 |
| SGLang | sglang:0.4-cu128 | about 3 min | 2026-11-01 |
| Ollama | ollama:0.12 | about 2 min | 2026-10-31 |
| Text Generation Inference | tgi:3.3 | about 3 min | 2026-11-02 |
| Axolotl fine-tuning | axolotl:0.9-cu128 | about 2 min | 2026-10-31 |
| Unsloth | unsloth:2025.9-cu128 | about 2 min | 2026-11-02 |
| faster-whisper API | whisper:faster-1.2 | about 1 min | 2026-11-01 |
| InvokeAI | invoke:5.6 | about 3 min | 2026-10-31 |
| Kohya trainer | kohya:25.1 | about 3 min | 2026-11-02 |
| PyTorch on ROCm 6.4 | rocm-pytorch:2.8-rocm6.4 | about 3 min | 2026-10-31 |
| Ubuntu 22.04 · CUDA 12.4 | ubuntu:22.04-cu124 | about 1 min | 2026-11-02 |
| Debian 12 · CUDA 12.8 | debian:12-cu128 | about 1 min | 2026-11-01 |
| CUDA 12.8 devel | cuda:12.8-devel | about 2 min | 2026-11-01 |
| Ubuntu 24.04 · ROCm 6.4 | rocm:6.4-ubuntu | about 1 min | 2026-11-02 |
| VS Code in the browser | code-server:4.99 | about 1 min | 2026-10-31 |
| TensorFlow 2.19 | tensorflow:2.19-cu128 | about 2 min | 2026-11-02 |
| SD WebUI Forge | forge:2.x-cu128 | about 3 min | 2026-10-31 |
| Open WebUI + Ollama | open-webui:0.6-ollama | about 2 min | 2026-11-01 |
| llama.cpp server | llamacpp:server-cu128 | about 1 min | 2026-10-31 |
| TensorRT-LLM · Triton | trtllm:0.19-triton | about 6 min | 2026-10-31 |
| ComfyUI · video (Wan 2.2) | comfyui-video:0.3-wan2.2 | about 5 min | 2026-11-01 |
| Your Docker image | any OCI image | your build | on launch |

## Core concepts.

**Pod**

An interactive machine with one to eight GPUs, SSH and a public IPv4. You start, stop and resume it.

**Job**

A command that runs to completion on a GPU, then stops by itself. Billed for its running seconds only.

**Endpoint**

An OpenAI-compatible inference URL that scales its workers with traffic. In beta.

**Disk**

Persistent storage in one region, billed at $0.03 per GB-month. It survives every stop and can move to another region.

**Scratch**

The local NVMe of the machine, included in the price and wiped when the machine stops.

**Region**

Where the GPU and the disk physically are: eu-paris, eu-frankfurt, us-ashburn or ap-singapore.

**Meter**

Counts running seconds from the passed health check to the stop, and draws them from your balance.

**Balance**

Prepaid, in US dollars, topped up in crypto. Every running second is drawn from it, and a low-balance alert warns you first.

## The CLI, the API and Terraform do what the console does.

CLI

`launch`, `ls`, `ssh`, `stop`, `resume`, `rm`, `port open`, `disk mv`, `logs`. Installed with pipx, authenticated with `gpubank login`.

Python SDK and Terraform

`pip install gpubank`, then `gpubank.Client()` reads `GPUBANK_TOKEN`. Terraform resources: `gpubank_instance`, `gpubank_disk`, `gpubank_spend_cap`.

REST API

Base URL `https://api.gpubank.io/v1`, with a bearer token created in Developers › API keys. Every console action has an endpoint.

From inside a machine, `http://169.254.169.254/gpubank/v1/` returns the instance id, the GPU, the region and, on interruptible machines, the pending notice.

bash

```
curl https://api.gpubank.io/v1/instances \
  -H "Authorization: Bearer $GPUBANK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gpu": "h100-sxm",
       "region": "eu-paris",
       "disk": "mydisk"}'
```

Webhooks

Signed with HMAC-SHA256 in the `GPUBank-Signature` header, retried for 24 hours until your endpoint answers 2xx.

`instance.ready` `instance.stopped` `instance.interruption_notice` `instance.failed` `disk.moved` `balance.low` `spend_cap.reached`

json

```
{
  "type": "instance.interruption_notice",
  "created": "2026-10-04T09:41:12Z",
  "data": {
    "id": "inst_7c1e",
    "stops_at": "2026-10-04T09:46:12Z"
  }
}
```

## Limits and quotas.

| Limit | Default | Can it be raised? |
| --- | --- | --- |
| GPUs per machine | 1, 2, 4 or 8 (up to 4 on the RTX 5090 and RTX 4090) | Fixed by the hardware |
| GPUs running at once, per account | 16 | Yes, on request |
| API requests | 600 per minute per key | Yes, on request |
| Size of one persistent disk | 10 TB | Yes, on request |
| Disks per region | 20 | Yes, on request |
| Webhook endpoints | 10 per account | No |
| SSH keys | 50 per account | No |

To raise a limit, open a ticket from the console with the limit, the new value and what it is for. Most requests are handled the same day.

## When something does not work.

The launch says queue.

That GPU is sold out in the region. Queue the launch, set an availability alert, or move your disk to a region with stock.

SSH asks for a password.

The key on your computer is not the one in Account › Security. Check with ssh -v which key is offered.

nvidia-smi shows no GPU inside your own image.

Your image needs the NVIDIA container runtime libraries; start from one of our templates or set NVIDIA_VISIBLE_DEVICES=all.

My files are gone after a stop.

They were outside /workspace, on the local NVMe, which is wiped at stop. Keep anything you need under /workspace.

A top-up has not arrived.

It is credited after the network confirmations shown on the payment page. If it is still pending an hour later, open a ticket with the 8-character top-up reference.

[Status Live state of every region and the incident history, in the console.](https://console.gpubank.io/status)

[Changelog What changed in the console, the CLI and the API, dated, newest first.](https://gpubank.io/#public)

[Something wrong in these docs? Open a ticket from the console with the page and what you expected.](https://console.gpubank.io/support/new)
