Pricing
Last updated 2 November 2026
Machines are not open yet. These pages describe Machines as they will open; until then, a create answers region_not_offered (422), “Machines are not offered in any region yet.”
Estimate what a Machine costs before you build: the prices, each shape’s most per hour, the credit a wake needs, and what three designs cost.
You pay for what a Machine uses while it is awake, and nothing for compute while it sleeps; its database and its Volume are billed for what they store (see What it keeps while asleep). The prices are the same in every region Machines run in.
| Item | Price |
|---|---|
| CPU | $0.045 per vCPU-hour of CPU time used |
| Memory | $0.02 per GiB-hour of memory touched |
| Scratch disk | $0.00011 per GiB-hour of scratch disk written |
| Volume storage | $0.05 / GiB × month of live bytes, compressed; nothing for its size (see below) |
Each shape’s most
| Shape | vCPUs | Memory | Scratch disk | At most per awake hour | A wake reserves |
|---|---|---|---|---|---|
s-1 | 1 | 2 GiB | 10 GiB | $0.0861 | $0.014351 |
s-2 | 2 | 4 GiB | 20 GiB | $0.1722 | $0.028701 |
m-4 | 4 | 8 GiB | 40 GiB | $0.3444 | $0.057401 |
m-8 (the CLI’s default) | 8 | 16 GiB | 80 GiB | $0.6888 | $0.114801 |
Nothing caps what an account spends but its balance. A Machine that requests keep awake all month costs at most its hourly most for every hour of a 30-day month: $61.99 for s-1, $123.98 for s-2, $247.97 for m-4, $495.94 for m-8; a public port is how that happens (see the example). When your balance cannot pay for the next 10 minutes, the Machine is stopped (see Credit).
What is measured
While a Machine is awake, Tonbo measures the CPU time it uses, the memory it has touched, counted in 4 KiB pages and including what its kernel and file cache hold, and the scratch disk it has written. Memory a program frees stays counted until the Machine next sleeps. No dimension is ever charged above the shape, there is no minimum, and no compute is measured while it sleeps (see Metering and holds).
The database
A Machine’s database is billed like every database, by its writes and what it stores (see Databases pricing).
What it keeps while asleep
Its database and its Volume, and nothing else: every wake starts fresh, so a sleeping Machine pays only for what those two store (see What a wake starts with).
Volume storage
A Volume is billed $0.05 / GiB × month for its live bytes: the compressed blocks its latest state references, not the size you give it. A Volume is billed while it exists, attached or not, until you delete it. The writes that record its blocks count as Streams usage (see Metering and holds).
Outbound data
What a Machine sends out is priced as its outbound access states.
Credit and a zero balance
A wake reserves 10 minutes at the shape’s full price before it starts, and each further 10 minutes is reserved before it starts; at the end of each, you are charged only what the Machine used, and the rest is released. Usage is drawn from your account’s monthly allowance of $5 first, then from credit. When your balance cannot pay for the next 10 minutes, the Machine is stopped, and wakes are answered 402 payment_required until credit is added on the Usage & billing page.
What three designs cost
Each builds the same thing two ways, at list price for one 30-day month; the inputs and lessons are on Worked examples.
| Example | A month, each design |
|---|---|
| One Machine per agent that sleeps, or one that never does | One m-8 Machine, never asleep: $179.49; 1,000 s-1 Machines that sleep: $124.19 |
| Keep a port private | Private port, 88 awake hours: $1.30; Public port, 720 awake hours: $10.53 |
| Keep state in the database instead of rebuilding it at each wake | Rebuild the index at each wake: $2.98; Open it from the database: $0.77 |