drift Docs
Start
What is Drift?
The tour, if you are new here.
Why Drift?
The case for a smaller cloud.
Getting started
Nothing to deployed, in one command.
Architecture
How a slice is put together.
What it costs
The free grant, five unit prices, two rules.
Build
Canvas
Static sites, same origin as your API.
Tools
Operate
Auth
Accounts, tokens and scopes.
Security
Boundaries, sandboxing and hardening.

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.

It is the same source and the CLI, the dashboard and the server all apply it identically. To check a real project against it, run 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 functions5
Function memory32 MB reserved per invocation
Function timeout10 seconds
Request rate60 per minute
Scheduled jobs1
Deploy history1 rollback slot
NoSQL collections2
SQL databases1
Queues1, up to 500 messages deep
Blobs10, 5 MB each
Secrets5, 1 KB each
Locks100,000 concurrent
Realtime connections50 concurrent
Canvas site50 MB
Log retention24 hours
Backup retention3 days
Deed storageVault 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 monthWhy this one is priced
  • Atomic function
    Per month
    €0.05
    Why this one is priced
    One @atomic callable. Helpers in the same file are free.
  • Scheduled job
    Per month
    €0.30
    Why this one is priced
    It fires on a timer even with zero traffic.
  • Function memory
    Per month
    €0.03 / MiB
    Why this one is priced
    RAM is the density constraint. The reserved cap is charged, not metered usage.
  • Realtime connection
    Per month
    €0.01
    Why this one is priced
    A live WebSocket holds RAM on the in-slice hub.
  • Atomic storage
    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.
  • Backbone storage
    Per month
    €0.25 / GiB
    Why this one is priced
    NoSQL, SQL and blob bytes, summed and charged to the cent.
  • Canvas storage
    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.

A manifest that totals €0 is created as the free Hacker slice; anything above that is a configured one, however far under the grant it sits. Two functions are €0.10 and land you on a configured slice even though the grant covers five. The reliable way to a free slice is to ask for it: 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.