/payg route rents GPUs by the hour, a node at a time. You choose how many nodes, Spot or On-demand, and a location or any location. Each node you get gives you every GPU free on it; the VMs run until something ends them, and you prepay each hour as you go.
Pay-as-you-go capacity is the idle time on capacity that other customers and suppliers relisted or listed. Every signed-in organization can use it; you do not need reservation approval.
Spot or On-demand
- Spot VMs are interruptible: a reservation that starts on the node ends the VM.
- On-demand VMs are never interrupted by reservations. They run until you stop them, the seller stops them, or the listing ends. Only nodes with no reservation before the listing ends offer On-demand, so it can be scarcer or cost more.
Choose a location
Every listing sells at a location, such as US East 11. Any location buys the best price anywhere; choosing a location buys only there. Locations are the same for every seller, so one location combines all capacity in that area.Buy at the market price
Choose a GPU type, a location (or Any location), Spot or On-demand, and the number of nodes. Each node gives you every GPU free on it, which can be fewer than the node has when someone else is using part of it. Only combinations with capacity on offer are selectable. Your order takes the lowest available asking prices, oldest first at each price, until it has every node; capacity belonging to your organization is skipped. Nodes can come from different listings and cost different amounts. The hourly price is the total of each node’s matched rate times the GPUs you get on it, including Ornn’s fees. No fee is added on top.1
Choose your capacity
Select a GPU type and use the stepper to choose how many nodes. The form shows how many nodes have GPUs free now and caps the stepper there. Availability updates automatically and is checked again before submission.
2
Choose a VM boot disk
Every VM boots the disk you choose. Quick Start lists ready-made Ornn disks; Your disks lists the disks your organization created or uploaded on Disks. Disk choices show their base image and its OS logo in its brand color when identified. Unrecognized or missing OS metadata uses a generic disk icon. If Your disks is empty, click Create a disk to open the creation modal without leaving the form. Your new disk is selected when you finish. The form starts on your organization’s newest disk, or the newest Ornn disk if your organization has none. A disk that has not been built yet is built when the VMs first launch, which can take up to several minutes; a note under the disk choices says so before you buy.
3
Review the price
The form shows the total hourly rate and First charge for the first hour. The first-hour charge is rounded. There is no fixed lifetime total; each later hour is prepaid separately.Estimated time until interrupted shows when the VMs are scheduled to end, or no scheduled end. For Spot, a future reservation or removal of the listing can interrupt a VM sooner; for On-demand, only removal of the listing can. If one node is interrupted, only its VM stops.
4
Review payment and buy
Click Buy now to open payment details. Your Ornn credits are used first, then your saved card. Add a card inline if your credits do not cover the first hour, or use Change to replace a saved card. The summary shows your machine image, estimated hourly charge, credits applied, and the remaining amount billed in the first hour. Click Checkout to submit.Checkout stays disabled while availability or payment details cannot be confirmed. If the price increases or capacity changes before submission, review the updated order before continuing. If nodes sell to someone else while you check out, you get the ones still free and are not charged for the rest.
Your spot VMs
The nodes one listing sells you are one spot reservation in Nodes, listed with your other reservations; a purchase across several listings makes one reservation for each. Its reservation detail page shows each VM’s startup progress until it is ready. Manage it there like any VM: SSH keys, connection details, and the disk it boots. Each spot VM is an isolated VM with its GPUs and their share of the node’s CPUs, memory, and disk. A node you get runs one VM with all of your GPUs on it, except on hosts whose GPUs can only be split in powers of two: there 6 GPUs run as a 4-GPU and a 2-GPU VM. Disk capacity is based on the filesystem used to store VM disks, which may be separate from the host OS disk. Each VM starts from the disk chosen at purchase. A created disk that has not been built yet is built on that first launch, which takes longer.Paying for spot hours
Each hour is prepaid when it starts. Billing uses the hourly rate agreed for your reservation; later changes to the listing’s advertised price do not change that rate. Reservation details and usage reports use that agreed rate too. Listing changes also leave existing reservations’ agreed terms unchanged.- Ornn credits pay first.
- Your saved card pays whatever credits do not cover.
How spot ends
A running spot reservation has no end date. Once it stops, its end date records when it ended. A spot reservation runs until one of these happens:- You stop it. Click Stop VM on the reservation in Nodes. Its VMs shut down and its GPUs go back on the book.
- You cancel during startup. The cancellation remains in effect while setup finishes. Any resulting VMs are stopped, and the GPUs return to the book after cleanup.
- The seller ends it. The seller can withdraw the listing, but not while your VM runs with a preemption notice; they take its node back instead.
- The seller takes the node back. The seller can preempt the node your VM runs on. The node stops selling at once, and your VM keeps running until its preemption notice has passed, then it stops.
- A reservation needs its GPUs (Spot only). Reserved windows always take priority over Spot. When a buyer’s reserved window starts and needs GPUs your Spot VMs are using, the Spot reservation ends. On-demand VMs are never ended this way.
- The listed capacity ends.
- The VMs cannot start. If provisioning fails or the VMs are not ready before the first prepaid hour ends, the run ends and unused prepayment returns as Ornn credits.
- An hour cannot be paid. If your card is declined for any hour, including the first, the spot run ends: its VMs are stopped and the GPUs return to the book. Update your card in Billing before you buy again.
Preemption notice
Each Spot and On-demand VM carries the preemption notice of the capacity it was bought on, fixed at purchase. Relisted capacity always gives one hour. The reservation’spreemptNoticeSeconds shows it. When the seller takes the node back, your VM gets at least that much warning before it stops, and the stopped reservation’s endReason is listing_ended.
When the seller takes the node back, Ornn also tries to warn you right away. Delivery is not guaranteed, so plan around the notice itself:
- Every member of your organization gets an email with the time the VM stops.
-
The VM’s serial console shows a line starting with
[ORNN-PREEMPT], for example:
- Serial console log. Open the reservation in Nodes and select the Serial console log.
-
System journal. Run
journalctl -t ornn -f. - Logged-in terminals. The line is broadcast to open SSH sessions.
-
Machine-readable file.
/run/ornn/preemption.jsonholds the stop time:
qemu-guest-agent running in custom disks.
Use the API
You can bid with an API key, the Ornn CLI, or the MCP server instead of the console. Every member of your organization can bid; approval is not required. Prices are integer micro-USD per GPU-hour:2500000 is $2.50. They are the same prices the Pay as you go page shows, and a bid’s price is the most you pay per GPU-hour. The order book API reference lists every field and error.
The API cannot save a card. A bid is not refused when no card is saved, but an unpaid first hour blocks VM startup. Save a card in Billing before bidding unless your Ornn credits cover the hours. Check for a saved card through the API: the response is {"saved": true} when one is saved.
1. Read the book and quote a bid
gpuSlug (the GPU type), a saleType (spot or on-demand) and a region: a location slug such as us-east-11, or any for the book of bids that take any location. Location display names come from GET /v1/orchestrator/locality/regions (facility_slug and facility_name). Each ask level of the book counts the GPUs free at that price and the nodes they are on; bid levels count the GPUs bids still want. Book, trade and quote reads take saleType (default spot) and an optional region; without one they span every location. The quote takes gpus or nodes, like a bid (nodes with orderType=market), and places nothing. It returns one entry per node a bid would take now, in order, with the price you would pay per GPU-hour, the gpus it would take on that node, the region it would run in and interruptsAt, the next scheduled end on that node: a sold reservation (reservation, Spot only) or the end of the listed capacity (listing_end). Less than you asked for means the rest would wait (limit) or be cancelled (market).
2. Place a bid
A bid asks for exactly one ofgpus or nodes, one or more. With gpus it takes GPUs until it has enough, so one node can supply part of a bid and a bid can span nodes. With nodes it takes that many nodes with a GPU free, and every GPU free on each; the console’s node stepper, the CLI and the MCP server send nodes. nodes needs a market bid: a limit bid takes gpus, and a limit bid for nodes is refused with nodes_need_market_order. Sending both is refused with quantity_conflict, and neither or a value below one with invalid_quantity. saleType is spot (the default) or on-demand; region limits the bid to one location and is otherwise any location. An unknown region is refused with unknown_region. diskId chooses the disk every VM boots. A limit bid takes capacity at or below your price, cheapest first, and waits on the book for the rest. Trades execute at the resting order’s price: a new bid pays the existing asks; new capacity crossing your waiting bid fills at your bid price. For example, a $2/GPU-hour ask crossing an existing $2.50/GPU-hour bid executes at $2.50/GPU-hour, including fees. That matched rate is saved on your reservation. A market bid takes what is for sale now and cancels the rest.
Every bid needs an Idempotency-Key header. Use a new key for each bid and keep it: if the response is lost, send the same request with the same key to get the original order back instead of placing a second bid. The CLI generates a key for you unless you pass --idempotency-key.
201; a retry with the same key returns 200 and the original order. The order reports its saleType, its region (null for any location), requested and remaining in GPUs (a bid for nodes records the GPUs it took), filledNodes and filledGpus, and fillIds: each fill is the GPUs the bid bought from one listing, and its ID is also its spot reservation ID. Check order.status:
filled: the bid bought everything it asked for.resting: a limit bid is waiting on the book for the rest; its fills so far are running.cancelled: the rest of the bid was withdrawn. A market bid cancels whatever was not for sale (cancelReason: unfilled_market_order); what it bought keeps running, and nothing is charged for the rest.
3. Follow the fills
Poll Get an order, List your orders or List your fills as a resting bid fills. A fill is a trade record and never changes. Read each fill’s reservation with Get a reservation, using the fill ID. The reservation can take a moment to appear. While it runs, itsendsAt is null. A fill does not mean the VMs are ready: follow startup and connect as described in VM access.
4. Cancel a bid or stop VMs
Cancelling a bid stops it buying more. Ending a fill stops its reservation and its VMs.status: cancelled; its fills keep running. A fill’s ID is its reservation’s ID, so ending a fill is stopping its reservation: its VMs stop and its GPUs go back on the book, and the reservation’s endReason is stop. When a reservation ends for another reason, endReason says why: preempted_by_reservation, listing_ended, payment_failed, or provisioning_failed.
Stopping also works while the VMs are still provisioning. A 202 response with pendingOperation: stop acknowledges the request; read the reservation until endsAt is set.
What’s next

Relist capacity
Sell time on your reservation at your own asking price.

Billing and payment
Save a card and see how spot hours and reservations are billed.