GPU Forge

How GPU Forge behaves

This page explains what GPU Forge does on your behalf, what you pay for, and what happens when. It describes behaviour, so you can plan around it.

Prepaid, pay for what you use

  • Your account has a prepaid balance in US dollars. You add credit by card on the console; Stripe processes the payment.
  • Machines are charged every minute at the hourly price shown before you rent them. A parked machine is charged only its storage price.
  • Jobs are charged per result: the seconds the result took to render, at the program's hourly price, with a minimum of $0.002 per job.
  • There is no subscription, no minimum term and no setup fee. Credit does not expire, and unused credit is refundable on request (see Billing).

You see the price before anything runs

Nothing that costs money starts without a stated price or limit.

WhereWhat protects you
A jobGET /v1/jobs/quote returns the price before you send it, and POST /v1/jobs returns the same quote_usd. Send max_price_usd and a job whose quote is above it is refused; nothing runs.
A machine you pick yourselfEach search result shows its hourly price. Send max_price_per_hour with the rental and a stale or pricier offer is refused (409) before any provider is called.
A machine GPU Forge picks for youA capability must have a max_price_per_hour; automatic deploys and scaling are refused without one. No machine above it is rented.
A program's daily spendSet daily_budget_usd on a capability. When today's spend reaches it, its machines are parked (or stopped) and nothing new starts until 00:00 UTC.

The hourly price of a machine is locked when it is rented. Market prices moving later never change a running machine's bill.

Machines are found across providers

GPU Forge searches Vast.ai, RunPod, Nebius and Jarvis Labs at the same time and returns every machine that fits your requirements in one list, cheapest first.

  • When GPU Forge picks the machine for you (deploy or scale), it takes the cheapest machine that fits under your price limit. If a provider refuses, it moves to the next cheapest, across every card and provider, until one rents or nothing under the limit is left.
  • If a machine on a faster network line costs only a little more and would save at least a minute of downloading your files, it may be chosen instead (up to 15% dearer by default; see deploy_lane in Capabilities).
  • By default only datacenter-grade hosts are used. You can opt in to cheaper community hosts on a search.
  • GPU generations supported are Ada Lovelace, Hopper and Blackwell (NVIDIA). You ask for a minimum generation and get it or newer.

Parked machines wake in seconds

Starting a new machine means renting it, downloading the program and starting it: minutes. A parked machine skips all of that.

  • Parking stops a machine and keeps its disk. The GPU stops billing; the disk is billed at its storage price.
  • Waking starts it again, usually in about 20–60 seconds plus the program's own start time. When you start a program, GPU Forge wakes a parked machine first and rents a new one only when none is available.
  • A parked machine does not hold its GPU. If the provider gave the GPU to someone else in the meantime, the wake fails and a new machine is rented instead (the slow case).
  • Parking is possible on Vast.ai, Jarvis Labs and Nebius. A machine on RunPod is ended instead.
  • A parked machine that sits unused for 3 days is released, and you are told a day before. Its storage then stops billing.

Ready programs share parked machines

Parked machines of our ready programs are shared between customers. When you start a ready program, you may wake a machine another customer parked; a machine you parked may be woken by someone else, and you stop paying for it from that moment.

To make sharing safe, the program's working folder is emptied every time a machine starts or wakes. Nothing you uploaded or created passes to the next user, and nothing is kept for you either. Upload your inputs again after every start or wake, and download every result as soon as it is made.

Machines stop themselves when idle

Every machine has an idle limit (idle_ttl_seconds, 10 minutes by default). A machine with no activity for that long is parked if its program keeps parked machines, otherwise ended. This cannot be switched off: a value of 0 is stored as at least one hour.

  • Activity is measured by GPU Forge on the machine itself, from network traffic (and GPU use). Your software is never asked whether it is busy.
  • The idle clock starts only once your program is up. Downloading, unpacking, installing and starting all count as busy.
  • To keep one running machine longer, send a keepalive (see Machines).

Jobs bill only render seconds

  • A job is sent to a ready machine of the program. If none is free, GPU Forge wakes or rents one; the wait is not billed.
  • You pay for the render time the program reports for that result (never more than the request actually took), at the program's hourly price.
  • A failed job is free. So is a job that could not get a machine within 20 minutes; it fails with a clear message.
  • If a machine stops answering during a job, the job is put back in the queue at no charge.
  • Inputs and results are kept for 24 hours after the job finishes, then deleted. The job record (time, duration, price) stays in your history.

When your balance runs out

BalanceWhat happens
Less than about one hour of your current spend leftYou get a "balance running low" notification. If automatic top-up is on, it tops up.
Not enough to cover about one hour of everything running plus the new machineNew rentals and wakes are refused (402).
$0Nothing new starts: no rentals, no wakes, no jobs. You are notified with the time your machines will stop.
$0 for about 10 minutesEvery machine on your account is ended, disks included.

Keep your balance topped up, or turn on automatic top-up, and keep your own copies of anything that matters.

Limits for agents

You can give an AI agent its own API key. What it can spend is bounded:

  • Your balance. An agent can never spend more than you have prepaid.
  • The daily top-up cap. An agent may add credit only from the card you saved, and agent top-ups plus automatic top-ups together may not exceed your daily cap in any 24 hours ($100 by default). You set the cap on the console; an agent cannot change it.
  • Program limits. max_price_per_hour, daily_budget_usd and the idle limit on each capability bound what its machines cost.
  • Person-only actions. Saving or removing a card, setting automatic top-up or the daily cap, and creating or listing API keys can only be done by you, signed in on the console. API keys cannot do them.
  • Revoke at any time. Revoking a key stops every new request made with it.

Commands in the CLI that cost money ask for confirmation first; an agent passes --yes once you agreed.

Security basics

  • All access to the API and the console is over HTTPS.
  • API keys are stored only as fingerprints (one-way hashes), never as the key itself. A key is shown once, when it is made.
  • Secrets you give a capability (a private bucket's read credential, secret environment variables) are stored encrypted, are never returned by any API call (a read shows only their names), and reach only your own machines.
  • A private bucket's credential never leaves GPU Forge: your machine receives short-lived signed download links instead.
  • Machines are given their own HTTPS address with a publicly trusted certificate (capability_url), so traffic goes from your client straight to the machine without a relay. The plain HTTP address of each declared port stays available in capability_urls.
  • An API key can see and act on only its own account's programs, machines, jobs and billing. Another account's resources answer 404.
  • Machines of our ready programs have no SSH access; you use them through the program's own API.
  • For machines running our ready programs, the program's printed output is kept for 30 days so we can operate and support it; you can read it too (GET /v1/fleet/{pod_id}/output). The output of your own software is not kept by GPU Forge; only you can read the short startup tail your machine reports.
  • Every image made by our image programs carries an invisible GPU Forge mark, and they never make images of children.

This page as Markdown, for tools and agents: /docs/principles.md