Per-minute GPU rental: how the billing works and what your job will cost
Per-minute GPU rental means you pay for each minute an instance runs, at the card’s hourly price divided by 60. On CloudGPU every GPU is billed this way: there is a 1-minute minimum, one hour is pre-authorised from your balance while the instance runs, and when you destroy the instance the unused minutes go back to your balance. No subscription, no monthly contract.
This page explains the rules, gives you a formula you can paste into a spreadsheet, and shows worked examples using the list prices we read on 2026-10-23 at 23:58 Beijing time. Prices and stock change during the day, so treat the numbers as an example and check the Deploy page for what is available right now.
The four billing rules
| Rule | What it means for you |
|---|---|
| Billed per minute, rounded up, 1-minute minimum | A 37-minute job is billed as 37 minutes; a 20-second test is billed as 1 minute. |
| 1 hour pre-authorised while the instance runs | When an instance starts, one hour at that card’s price is held from your balance. Each new started hour is pre-charged again. |
| Unused minutes refunded on destroy | Destroy at minute 37 and the remaining 23 minutes of the held hour return to your balance. |
| Out of balance = instance destroyed | If the balance cannot cover the next hour, the instance is destroyed, and destroying an instance deletes its disk. Keep a buffer for long runs. |
Instances take about 2 minutes to start, and that startup time is not billed: billing starts when the GPU is ready. Downloading weights on a running instance uses instance minutes, billed like any other minute.
The formula
cost_usd = ceil(minutes_running) × hourly_price / 60
For budgeting a whole job, split the minutes into the parts you can control:
minutes_running = setup/downloads + actual work + idle time before you destroy
# counted from the moment the GPU is ready; the ~2-minute startup is not billed
Spreadsheet version (A2 = minutes, B2 = hourly price):
=CEILING(A2,1)*B2/60
Python version, if you want to plug it into a script:
import math
def gpu_cost(minutes: float, hourly_price: float) -> float:
"""Per-minute billing: rounded up, 1-minute minimum."""
billed = max(1, math.ceil(minutes))
return billed * hourly_price / 60
# Example: a 37-minute job on a card listed at $0.59/h
print(round(gpu_cost(37, 0.59), 4)) # 0.3638
The billing page in the console is the authority on how fractions of a cent are rounded; the formula above is what you should expect to see within a cent.
Worked examples (list prices, 2026-10-23 23:58 Beijing time)
The prices below were read from /gpu-prices.json at 2026-10-23 23:58 (UTC+8). They are list prices, not a promise of availability: on any given hour some of these cards show “Out of stock”. Check the Deploy page for live stock.
| Card (VRAM) | $/hour | 10 min | 37 min | 1 h | 3 h | 8 h |
|---|---|---|---|---|---|---|
| RTX 3090 (24 GB) | 0.21 | $0.035 | $0.130 | $0.21 | $0.63 | $1.68 |
| RTX 4090 (24 GB) | 0.33 | $0.055 | $0.204 | $0.33 | $0.99 | $2.64 |
| RTX 5090 (32 GB) | 0.59 | $0.098 | $0.364 | $0.59 | $1.77 | $4.72 |
| RTX 4090 48G (48 GB) | 0.65 | $0.108 | $0.401 | $0.65 | $1.95 | $5.20 |
| A800 80G (80 GB) | 1.09 | $0.182 | $0.672 | $1.09 | $3.27 | $8.72 |
| A100 80G (80 GB) | 1.49 | $0.248 | $0.919 | $1.49 | $4.47 | $11.92 |
| H800 (80 GB) | 1.79 | $0.298 | $1.104 | $1.79 | $5.37 | $14.32 |
The full card list (19 SKUs on the day we checked, from RTX 2080 to H800) is on /pricing.
Why per-minute matters for short and bursty jobs
With hourly billing, a 10-minute test costs a full hour. With per-minute billing it costs a sixth of that. The difference adds up when your work comes in bursts:
| Pattern | Hourly-rounded billing | Per-minute billing (same card at $0.59/h) |
|---|---|---|
| 6 tests of 10 minutes on different days | 6 h = $3.54 | 60 min = $0.59 |
| One 2 h 05 min fine-tune | 3 h = $1.77 | 125 min = $1.23 |
| One 37-minute batch | 1 h = $0.59 | 37 min = $0.36 |
This is arithmetic on the same hourly price, not a comparison with any particular provider. Other providers’ rules differ; read their billing pages.
How far does a $10 top-up go?
At the list prices above, $10 of balance is roughly:
| Card | Hours of GPU time for $10 |
|---|---|
| RTX 3090 24G | ≈ 47 h |
| RTX 4090 24G | ≈ 30 h |
| RTX 5090 32G | ≈ 17 h |
| RTX 4090 48G | ≈ 15 h |
| A800 80G | ≈ 9.2 h |
| A100 80G | ≈ 6.7 h |
Remember the pre-authorisation: plan on having at least one hour of the card’s price in your balance before you start it.
Five ways to keep the bill small
- Destroy, don’t idle. Billing runs from the moment the GPU is ready until you destroy the instance. When the job is done, copy the outputs off and destroy it.
- Download once per session. Model downloads are billed GPU minutes. Batch your work so you download a 20 GB model once, not three times.
- Pick the smallest VRAM class that fits. A model that fits a 24 GB card with headroom does not run faster just because it sits on an 80 GB card. Use our VRAM pages to size it.
- Keep a buffer for long runs. An instance is destroyed when the balance runs out, and its disk with it. For an 8-hour job, hold at least 8 hours of balance plus margin.
- Save checkpoints as you go. There is no persistent storage across instances yet. See save your work before you destroy an instance.
One balance for GPUs and the model API
The same prepaid balance also pays for the OpenAI-compatible model API at https://cloudgpu.app/v1, billed per token. If part of your workflow calls Claude, Claude models are billed at about 50% of the official public pricing; other models are priced against each vendor’s public list price (see /api). Pay with Alipay, Google Pay, Apple Pay, Visa/Mastercard (from $5) or USDT on TRC-20 (minimum $5). No Chinese phone number or bank card is needed.
FAQ
How is GPU rental billed on CloudGPU? Per minute of instance time at the card’s hourly price divided by 60, rounded up, with a 1-minute minimum. One hour is pre-authorised while the instance runs and unused minutes are refunded when you destroy it.
When does billing start and stop? Billing starts when the GPU is ready; the roughly 2-minute startup is not billed. It stops when you destroy the instance. Unused minutes of the pre-authorised hour go back to your balance, and the Billing page in the console shows exactly what was charged.
What happens if my balance runs out during a job? The instance is destroyed and its disk is deleted. Keep enough balance for the whole run plus a margin, and save checkpoints off the machine.
Is there a monthly fee or minimum spend? No. It is pay-as-you-go from a prepaid balance. The balance does not expire.
Which GPUs are available right now? Stock changes during the day. The Deploy page shows live stock; the list prices are on /pricing and in /gpu-prices.json.
CloudGPU (cloudgpu.app) is an independent service. It has no partnership with, authorization from, or endorsement by the model vendor. Other product names are trademarks of their owners. Prices on this page are list prices read from /gpu-prices.json on 2026-10-23 23:58 Beijing time (UTC+8); live prices and stock on /deploy take precedence.