What it costs
You pay for the shape you declare, not for the traffic that arrives. You choose the resources, five unit prices turn them into a monthly figure, and you pay it up front for a billing period you pick. An idle slice costs exactly what a busy one costs, and nothing meters in the background. There is no request count, no egress line and no bill that can arrive larger than the one you agreed to.
That means you can work the number out before you build anything, which is the point of this page. It is short on purpose: one free preset, five prices, and two rules that catch people out.
A slice comes in one of two shapes, and there is no third to be upsold into. It is either free (the fixed Hacker preset, one per account, no card and no expiry date) or configured, shaped by your Driftfile and priced line by line.
Every number here comes from one place in the platform.
drift project deploy --plan: it prints the itemised breakdown and the monthly total without creating or changing anything.The free Hacker slice
drift slice create <name> --free provisions this exact shape. The preset is fixed: the platform discards whatever config is sent alongside a free slice, so a free slice is always the full grant and never a smaller custom one. One free slice per account, enforced in the database.
| Resource | Free grant |
|---|---|
| Atomic functions | 5 |
| Function memory | 32 MB reserved per invocation |
| Function timeout | 10 seconds |
| Request rate | 60 per minute |
| Scheduled jobs | 1 |
| Deploy history | 1 rollback slot |
| NoSQL collections | 2 |
| SQL databases | 1 |
| Queues | 1, up to 500 messages deep |
| Blobs | 10, 5 MB each |
| Secrets | 5, 1 KB each |
| Locks | 100,000 concurrent |
| Realtime connections | 50 concurrent |
| Canvas site | 50 MB |
| Log retention | 24 hours |
| Backup retention | 3 days |
| Deed storage | Vault 4 KB per entry, 100 entries per identity; Pocket 16 KB per entry |
What a configured slice costs
Seven things carry a price. Everything else is capped by quota and charged nothing.
- Per month
- €0.05
- Why this one is priced
- One
@atomiccallable. Helpers in the same file are free.
- Per month
- €0.30
- Why this one is priced
- It fires on a timer even with zero traffic.
- Per month
- €0.03 / MiB
- Why this one is priced
- RAM is the density constraint. The reserved cap is charged, not metered usage.
- Per month
- €0.01
- Why this one is priced
- A live WebSocket holds RAM on the in-slice hub.
- Per month
- €0.25 / GiB
- Why this one is priced
- Your deployed code and the dependencies it vendors. In practice this is your dependency tree.
- Per month
- €0.25 / GiB
- Why this one is priced
- NoSQL, SQL and blob bytes, summed and charged to the cent.
- Per month
- €0.25 / GiB
- Why this one is priced
- The static sites you upload.
Storage is one rate on three lines, because it is one disk. The split is there so you can see which part of your slice is spending it, and so each part has a cap you set. The three lines always add up to what those bytes cost together: they are apportioned from a single figure rather than rounded one by one, so the parts cannot miss the whole by a cent.
Collections, queues, SQL databases, blob count and secrets are free by count. They appear in the breakdown at €0.00, and you pay for the bytes they hold on the Backbone storage line. There is no base fee.
Two rules that decide the number
There is no free allowance of units. The free grant is a whole preset, not a discount applied to a configured slice. A Driftfile declaring one function is priced from that first function. There is no "first five free".
Declaring functions forces 32 MB of function memory. atomic.function_memory is optional in the Driftfile, but a slice that runs functions cannot run them in zero memory, so an omitted value resolves to 32 MB and the resolved config is what gets priced. The floor for any project with functions in it is therefore €0.05 + €0.96 = €1.01/month. A Canvas-only or Backbone-only project declares no function, no scheduled job and no realtime connection, so storage is its only priced line, and a small declaration rounds to €0.00.
What makes a slice free is its price, not its size.
drift slice create <name> --free, which takes the fixed preset with no form, and the platform discards whatever config accompanies it, so you always get the whole grant above.