billing object:
integer
required
For the whole rental at its size — two GPUs at $2.49 each is 498.
integer
required
Billed so far. Accrues per second, reported about once a minute. On a
stopped rental this is the final charge.integer
required
Currently reserved on your balance.
0 once the rental is stopped.The hold
When a rental starts we reserve roughly an hour of runtime on your balance. It is not a charge and not a cap:- It does not leave your account — it is unavailable for other rentals until released.
- It does not limit how long the rental runs. A machine can run for days against a one-hour hold.
- When the rental stops, the hold is released and replaced by the real charge.
402 insufficient_balance before anything is provisioned.
Per-second accrual
Billing runs per second from the moment the rental isrunning — not from when
you asked for it. Provisioning is free, and a rental that never came up
(failed) is never charged at all.
accrued_cents updates about once a minute, so between updates it lags reality
by up to a minute. For a live cost display, extrapolate from
price_per_hour_cents and started_at rather than showing a number that visibly
jumps.
When money moves
Running out mid-rental
If the balance runs down while a rental is live, the rental is stopped and ends withtermination_reason: stopped_by_operator. The same applies when a key’s
daily spend limit is crossed by an ongoing rental, which
ends with termination_reason: spend_limit_reached.
Neither is a pleasant surprise mid-training. Two defences:
- Auto top-up in the dashboard, so the balance refills before it bites.
- Watch
active=truerentals and their burn rate — see Common queries.
Spot and preemption
Aspot rental is materially cheaper and can be reclaimed at any moment.
When that happens the rental ends with:
rental.preempted event in its history.
You are billed for what ran, nothing more.
There is no warning period, no drain interval, and no way to defer a reclaim.
When spot is right
Good fit
Checkpointed training · batch inference over a queue · hyper-parameter sweeps
· anything that can lose a worker and carry on
Bad fit
An interactive session someone is typing into · a single long run with no
checkpoints · anything holding state only in RAM
Building for preemption
preempted will page someone at 3am for a thing that is working as designed.
Find spot capacity with GET /offers?service_tier=spot, and check
spot_price_per_hour_cents on the offer to see the discount before you commit.