ComputeSpot Private Preview

Spot GPUs at the market price,
with a ceiling you set.

Spot is GPU capacity that can be reclaimed. In exchange, its price follows supply and demand and stays below the on-demand rate. Follow that price, or set the most you will pay per GPU-hour.

capacity=fantasti.Spot(max_price=2.40)

Spot from $0.87 per GPU-hour, across five GPUs. Opens with the first cohort.

PLT 01Spot price and a max price over 72 hours Illustrative series · not Fantasti market data

Drag the max price line, click the plot, or use the arrow keys.

Max price
$2.40 /GPU·hr
Ran
51 h 15 m of 72 h
Stopped
4×
Resumed
4×

Illustrative series, not Fantasti market data. A step line shows a spot price for one GPU type over 72 hours in 15-minute steps, between $1.91 and $2.72 per GPU-hour. With the max price at $2.40, the nodes run 51 h 15 m of 72 hours, stop 4 times when the price rises above the max, and resume 4 times when it falls back. You pay the spot price for each interval, not the max.

§01 Prices Reviewed 2026-10-10

Five GPUs on spot, from $0.87 per GPU-hour.

The spot price always stays below the on-demand rate for the same GPU.

Spot prices USD per GPU-hour
TAB 01Spot price range by GPU Source · Fantasti price list Reviewed 2026-10-10
GPU Spot On-demand
B300 270 GB HBM3E Private Preview
From $1.09
$10.45
B200 180 GB HBM3E Private Preview
From $1.09
$9.35
H200 SXM 141 GB HBM3E Private Preview
From $0.87
$5.94
H100 SXM5 80 GB HBM3 Private Preview
From $0.87
$5.40
RTX PRO 6000 96 GB GDDR7 Private Preview
From $0.87
$2.16

"From" is the lowest spot price for that GPU. The spot price moves with supply and demand.

B300: spot from $1.09 per GPU-hour, on-demand $10.45. B200: spot from $1.09 per GPU-hour, on-demand $9.35. H200 SXM: spot from $0.87 per GPU-hour, on-demand $5.94. H100 SXM5: spot from $0.87 per GPU-hour, on-demand $5.40. RTX PRO 6000: spot from $0.87 per GPU-hour, on-demand $2.16. "From" is the lowest spot price for that GPU. The spot price moves with supply and demand. The spot price always stays below the on-demand rate for the same GPU.

§02 The contract 5 terms

The contract

Price
Moves with the market
Can change as often as every 15 minutes.
Ceiling
Your max price
Per GPU-hour, in USD. You pay the spot price, not your max.
Notice
60 seconds
Processes get SIGTERM before a node stops. Anything still running after that is killed.
State
Disks are kept
Stopped nodes keep their volumes. Dynamic public addresses are released.
Resume
From the last checkpoint
Batch Inference and managed jobs restart when capacity at your price returns.
§03 One setting Python · REST · YAML

One setting, every product.

The same capacity setting works on GPU instances, cluster worker nodes, workspace worker groups, batch runs and serverless jobs.

Read the API

Preview API · subject to change
job = fx.jobs.create(
    image="ghcr.io/acme/train:latest",
    gpu="H200:8",
    capacity=fantasti.Spot(max_price=3.10),   # your ceiling, USD per GPU-hour
)
print(job.status)                             # blocked | placing | running

follow = fantasti.Spot(max_price="follow")    # no ceiling, pay the spot price
// the "capacity" field takes one of four forms, on every product
{ "capacity": { "mode": "spot", "max_price": "follow" } }

{ "capacity": { "mode": "spot", "max_price": "3.10",
                "currency": "USD", "unit": "gpu_hour" } }

{ "capacity": { "mode": "on_demand" } }

{ "capacity": { "mode": "reserved", "reservation": "rsv_7d2k…" } }
# policy.yaml · applies to every request from team "research"
team: research
placement:
  gpus: [H100, H200, B200]
  fabric: infiniband            # multi-node jobs stay on one fabric
  regions: ["us-*"]
capacity:
  allow: [on_demand, spot, reserved]
  spot:
    max_price: { H100: 2.40, H200: 3.10 }   # USD per GPU-hour, your ceilings
limits:
  gpus: { H200: 32 }
  sandboxes: { concurrent: 200, max_ttl: 60m }
  spend: { monthly_usd: 40000 }
cost_center: research-llm
§04 Two modes Illustrative

Follow the market, or set your max.

Follow the market
No ceiling. You pay the spot price for each interval, and Fantasti never stops your work because the price rose. Spot capacity can still be reclaimed.
Set a max price
Choose the most you will pay per GPU-hour. Your nodes run while the spot price is at or below it, and you pay the spot price, not your max. If the spot price rises above your max, those nodes stop.
Blocked
If your max is below the current price when you ask, the request waits as Blocked until the price falls or you raise your max.

A max price limits what you pay. It does not reserve capacity. To guarantee capacity, reserve it.

Run lanes 72 hours
PLT 02One market, three requests Illustrative series · not Fantasti market data

Illustrative series, not Fantasti market data. The same 72-hour spot price as the plot at the top of the page, with three requests made at the start. Request A follows the market: it runs 72 h 00 m and is stopped for price 0 times. Request B sets a max price of $2.40 per GPU-hour: it runs 51 h 15 m, stops 4 times and resumes 4 times. Request C sets a max price of $1.95, under the price at the start: it waits as Blocked for 4 h 00 m, then runs 1 h 15 m of 72 hours. Every request pays the spot price for the intervals it runs, never its max.

EQ Pricing interval 4 per hour

15 min is the shortest interval between spot price changes.

One day · 96 intervals at the shortest
EQ 01 Source · Fantasti pricing rules Reviewed 2026-10-10
§05 States 7 states

What a spot resource can report.

States of a spot resource. Source · Fantasti.

A request whose max price is at or above the spot price goes to placing; one below it waits as blocked until the price falls. Placing becomes running when the nodes are up. A stop notice, sent 60 seconds before a node stops, moves it to stopping, then to stopped for price or reclaimed; disks are kept in both. When capacity at your price is back it resumes from its last checkpoint and runs again. Compute is charged in 2 states: running and stopping. Connections: Your request to Placing: ≤ max; Your request to Blocked: > max; Blocked to Placing: price falls; Placing to Running: nodes up; Running to Stopping: notice; Stopping to Stopped: 60 s; Stopped to Resuming: capacity; Resuming to Running: from checkpoint.

Stopped
  • Your request
    fantasti.Spot( max_price=2.40)
  • Placing
    placing
    charge
    None
  • Running (highlighted)
    running
    charge
    Spot price
  • Stopping
    stopping
    charge
    Spot price
  • Blocked
    blocked
    charge
    None
  • Resuming
    resuming
    charge
    None
  • For price
    stopped_price
    charge
    None
  • Reclaimed
    stopped_reclaimed
    charge
    None
Stopped
  • Your request
    fantasti.Spot( max_price=2.40)
  • Placing
    placing
    charge
    None
  • Running (highlighted)
    running
    charge
    Spot price
  • Blocked
    blocked
    charge
    None
  • Resuming
    resuming
    charge
    None
  • Stopping
    stopping
    charge
    Spot price
  • For price
    stopped_price
    charge
    None
  • Reclaimed
    stopped_reclaimed
    charge
    None
Disks are keptStorage continues
  • Your request
    max_price=2.40
  • Blocked
    blocked
  • Placing
    placing
  • Running (highlighted)
    running
  • Stopping
    stopping
  • Resuming
    resuming
  • Stopped
    stopped_price
  • Reclaimed
    stopped_reclaimed
  • Your nodes are up
  • Waiting for price
TAB 02Spot states Source · Fantasti Reviewed 2026-10-10
Spot states
StateMeaningCompute charge
blockedYour max price is below the current spot price. Nothing has started.None
placingCapacity at your price is being placed.None
runningNodes are up.Spot price for each interval
stoppingStop notice sent. 60 seconds to exit.Spot price until the node stops
stopped_priceThe spot price rose above your max. Disks are kept.None. Storage continues.
stopped_reclaimedThe capacity was reclaimed. Disks are kept.None. Storage continues.
resumingCapacity at your price is back. Work restarts from its checkpoint.None until running
  • blocked

    Your max price is below the current spot price. Nothing has started.

    Compute chargeNone

  • placing

    Capacity at your price is being placed.

    Compute chargeNone

  • running

    Nodes are up.

    Compute chargeSpot price for each interval

  • stopping

    Stop notice sent. 60 seconds to exit.

    Compute chargeSpot price until the node stops

  • stopped_price

    The spot price rose above your max. Disks are kept.

    Compute chargeNone. Storage continues.

  • stopped_reclaimed

    The capacity was reclaimed. Disks are kept.

    Compute chargeNone. Storage continues.

  • resuming

    Capacity at your price is back. Work restarts from its checkpoint.

    Compute chargeNone until running

§06 Metering Per second

Metered per interval, at the price in effect.

Spot usage is metered by the second at the spot price in effect for each pricing interval.

TAB 03One node across a price change Illustrative
One node across a price change
IntervalCharge
01Interval 1 8 GPUs × 0.25 h × price A
02Interval 2 8 GPUs × 0.25 h × price B
Total = the sum of both intervals

Illustrative. One node with 8 GPUs runs through two pricing intervals of 15 minutes. The spot price is price A in the first interval and price B in the second. The first interval is charged 8 GPUs × 0.25 h × price A, the second 8 GPUs × 0.25 h × price B, and the total is the sum of both intervals.

Your statement shows the total. A per-interval export shows the rate applied to each period.

§07 Where it applies Capacity mode

Where spot applies.

TAB 04Where spot applies Source · Fantasti Reviewed 2026-10-10
Where spot applies
ProductSpotNote
Spot applies
GPU InstancesYesB300, B200, H200, H100 and RTX PRO 6000.
GPU ClustersWorker nodesThe cluster keeps running on the nodes that remain.
WorkspacesWorker groupsThe head node is always on-demand.
Batch InferenceYesResumes from the last checkpoint.
ServerlessJobs and endpoints
Flows Planned Per stepA stopped step resumes from its checkpoint.
Spot does not apply
CPU InstancesNoOn-demand.
Rack-scale and reserved capacityNoReserved capacity never runs as spot.
Sheet
01 / 01
Title
Spot: states, metering and scope
Metering
Per second
Reviewed
2026-10-10
§08 The Broker Planned

Give it a budget instead of a price.

Give the Broker a ceiling per GPU-hour and a budget for the run. It reads spot prices and free capacity across regions, estimates how likely capacity is to be reclaimed, and chooses when to run and what max price to set. It never goes above your ceiling or your budget.

Planned

capacity=fantasti.Spot(max_price="auto", ceiling=3.10)

The Broker Leila Capacity brokerAI agent

Broker-managed max price Schematic
A ceiling and a budget in, a max price out. Schematic · not to scale.

You give the Broker a ceiling per GPU-hour and a budget for the run. The Broker reads spot prices, free capacity, by region and the interruption outlook, and sets the max price each time your nodes start, at or under your ceiling. Planned. Connections: Ceiling to Broker; Budget to Broker; The Broker reads to Broker; Broker to Max price; Max price to Your nodes.

The Broker reads
  • CeilingYours
    ceiling=3.10

    Per GPU-hour

  • BudgetYours
    Budget(usd=…)

    For the run

  • BrokerPlanned
    max_price="auto"

    Chooses when to runand what max to set

  • Max price (highlighted)
    ≤ your ceiling

    Set at each start

  • Your nodes
    8

    Inside the budget

  • Spot prices
  • Free capacity
  • Interruption outlook
  • Ceiling
    ceiling=3.10

    Per GPU-hour

  • Budget
    Budget(usd=…)

    For the run

  • BrokerPlanned
    max_price="auto"

    Chooses when to runand what max to set

  • Reads

    Spot pricesFree capacityInterruptionoutlook

  • Max price (highlighted)
    ≤ your ceiling

    Set at each start

  • Your nodes
    8

    Inside the budget

  • Reads
  • Planned
§09 Capacity modes 3 modes

On-demand, spot or reserved.

Every request names one capacity mode. All three land on the same statement.

Ways to pay Prepaid credit, pay-as-you-go and Enterprise. Each one covers on-demand, spot and reserved capacity. How billing works

§10 Questions 11 answers

Questions about Spot.

Do I pay my max price?

No. You pay the spot price for each interval. Your max price decides whether your nodes run.

What happens when the spot price goes above my max?

Those nodes get a 60-second notice and stop. Their disks are kept. Batch Inference and managed jobs resume from their last checkpoint when the price is back under your max.

What does Blocked mean?

Your max price is below the current spot price, so nothing has started. It starts when the price falls to your max, or when you raise it.

Can spot capacity stop even if I follow the market?

Yes. Following the market removes the price limit, but spot capacity can still be reclaimed when it is needed elsewhere.

Is there spot for CPU machines?

No. Spot applies to GPU capacity.

Can I switch a running instance between spot and on-demand?

No. Capacity mode is set when an instance is created. Create a new instance and attach the same volumes.

What happens to local NVMe when a spot node stops?

It is erased. Keep checkpoints on a volume, a shared filesystem or a bucket.

What does "From" mean on the price list?

"From" is the lowest spot price for that GPU. The spot price moves with supply and demand. The spot price always stays below the on-demand rate for the same GPU.

Where do I see the price?

The console and the API show the current spot price for each GPU type, and its history, once your account opens.

How does a max price work with my spend limits?

A max price limits the rate of each spot request. Your credit balance or your spend threshold decides when you pay. Following the market sets no rate limit, so on prepaid credit your balance is the limit.

Do I compete with other accounts on price?

No. The market sets one spot price per GPU type. Your max price decides whether your nodes run.