Pricing

Pay as you go. The first $3 each month is free.

One plan, no tiers. Usage is metered per request across every service, and the first $3.00 of usage every month is on us. Stay under $3 and you pay nothing — most side projects never do.

$3/mo free

Free under $3, then only the difference

Every organization gets the first $3.00 of metered usage free, every month. Go over and you're billed only for the amount above $3 — not the whole bill. No seats, no minimums, no plan to pick.

Start free
Metered usage

What each unit costs

These are the rates your monthly total is built from. Usage is measured precisely and shown live in the console. There's no always-on cluster — Search bills on queries plus the same three axes as Datastore (reads, writes, and stored data), Channel on deliveries and connection time, Auth on sign-ups, sign-ins, and the users you keep, Functions on invocations and CPU time, Blob on the bytes you keep and the operations you perform, Static on served requests and the bytes a build keeps, Containers on the time a machine actually ran, Automation on the time your own machines spend connected plus the time your scripts spend running on them, and the MCP server on the tool calls an agent makes. Nothing bills while idle: an index or namespace you aren't touching costs only its storage. The one standing charge is a deployed function, which costs its ten cents a month whether or not anyone calls it.

altengine metered usage rates by service
ServiceMetered unitRate
Search — queriesper 10,000 queries$0.50
Search — readsper 100,000 reads (1 read = up to 100 rows examined)$0.10
Search — writesper 100,000 rows written$0.25
Search — stored dataper GB-month$0.80
Channel — message deliveriesper 100,000 deliveries$0.25
Channel — connection timeper 100,000 connection-seconds$0.002
Datastore — writesper 100,000 writes$0.20
Datastore — readsper 100,000 reads (1 read = up to 100 rows examined)$0.05
Datastore — stored dataper GB-month$0.80
Auth — sign-upsper 1,000 accounts created$0.10
Auth — sign-insper 10,000 sign-ins (a token refresh counts as one)$0.10
Auth — stored usersper 1,000 users, averaged over the month$0.01
Functions — invocationsper 100,000 invocations$0.20
Functions — CPU timeper 1 million CPU-milliseconds$0.10
Functions — deployed functionsper function per month, prorated$0.10
Blob — stored filesper GB-month, averaged over the month$0.04
Blob — uploadsper 1,000 upload links used$0.02
Blob — writes & listsper 1 million operations$12.00
Blob — readsper 1 million operations (a cached read is free)$1.00
Blob — bandwidthnot metered$0.00
Static — requestsper 1 million served requests (a cache hit is still a request)$1.00
Static — stored filesper GB-month, deduplicated across builds$0.04
Static — uploads & deletesper 1 million operations$12.00
Static — bandwidthnot metered$0.00
Containers — machine timeper 1,000 machine-seconds (a second on a large counts as 12)$0.02
Containers — jobsper 1,000 jobs started$1.00
Automation — connected agentsper 1 million agent-seconds (≈ $13/month for an always-on machine)$5.00
Automation — runsper 1,000 runs started$1.00
Automation — run timeper 1,000 seconds a run spent executing$0.02
MCP — tool callsper 1,000 tool calls (connecting and listing tools are free)$0.02

How the free tier plays out

  • A small app — ~20K searches, tiny index≈ $1.05 → free
  • Growing — 100K searches, 500K writes, 2 GB stored≈ $8.00 → you pay $5.00
  • A datastore app — 200K writes, 2M reads, 1 GB stored≈ $2.20 → free
  • An app with sign-in — 10K users, 2K new sign-ups, 100K sign-ins≈ $1.30 → free
  • Search + Datastore on one org — the $3 is shared≈ $5.00 → you pay $2.00
  • A quiet month with almost no traffic$0.00 → free

Rates shown in USD. Your live usage and current total are always visible in the console.

FAQ

Questions, answered

How does the free tier work?

There are no per-metric allowances to track. Usage is metered per request, and the first $3.00 of usage every month is free for every organization. Stay under $3 and you pay nothing; go over and you pay only the amount above $3.

Is it really just pay-as-you-go?

Yes. There's one plan: pay-as-you-go. No tiers, seats, or minimums to choose between — you pay for the usage you incur, minus the first $3 each month.

How is Search billed?

Search is billed on queries plus the same three axes as Datastore: reads, writes, and stored data. Queries are a flat $0.50 per 10,000 search requests. Reads meter the work a query does on top of that — one read covers up to 100 rows examined, so a selective query costs a read or two while a broad scan pays for the rows it touches — and a repeated query served from cache bills no reads at all, just its query. Writes are metered by rows written: putting a document writes its row plus its index rows, so bigger documents with more indexed fields cost more writes (deletes bill the same way, as the rows they remove; deleting an index is free). Storage covers your documents and their index together. There's no always-on cluster, so an index you aren't querying costs only its storage.

How is Channel billed?

Channel is billed on two things: message deliveries, and connection time — the total time your subscribers stay connected (about five cents a month per always-on connection). A channel with no open connections costs nothing.

How is Datastore billed?

Datastore is billed on writes, reads, and stored data. Every index you declare adds a write per document, so indexing more fields costs more writes — indexing is the cost lever you control, and a field you never query costs nothing extra. Reads are metered by rows examined — one read covers up to 100 rows scanned, so a get or a small page is a single read, while a large query or aggregate pays for the rows it touches (a repeated read served from cache costs one read). There's no always-on capacity: a namespace you aren't using costs only its stored data.

How is Auth billed?

Auth is billed on three things: sign-ups, sign-ins, and stored users. A sign-up is a one-time charge per account created ($0.10 per 1,000). A sign-in is charged per issued token pair — every successful sign-in and every token refresh — at $0.10 per 10,000, so keeping identity tokens short-lived costs almost nothing. Stored users is your account count sampled hourly and averaged over the month ($0.01 per 1,000), so dormant accounts you never prune still count. Verifying an identity token on a Datastore or Channel request isn't an auth charge — that request bills on its own service's rates.

How are Functions billed?

Functions are billed on invocations ($0.20 per 100,000), CPU time ($0.10 per million CPU-milliseconds), and a flat $0.10 per deployed function per month, prorated from the day you deploy it. That last one is the only charge on this page that accrues while nothing is happening — a deployed function stays live and callable whether or not anything calls it, so delete the ones you have finished with. Calls your function makes to Datastore, Search, Auth or Channel bill on those services at their normal rates: running work inside a function is neither a discount on them nor a second charge on top.

How is Blob billed?

Blob is billed on two things: the bytes you keep and the operations you perform. Storage is sampled hourly and averaged over the month, so a file uploaded on the 20th costs a third of a month rather than a whole one. Uploads are a small flat fee per link used; writes and lists are the expensive operation and reads are the cheap one. Bandwidth isn't metered at all — and a public file served from cache isn't even a read. A file that goes viral costs close to nothing to keep serving.

How is Static billed?

Requests and stored bytes. Bandwidth isn't metered, which is the entire cost of hosting a website almost anywhere else. Every served request is billed, cache hit included — a million page views is about a dollar — because a request to your site runs our code either way; it is priced to bound a runaway rather than to be noticed.

Storage is deduplicated across builds: a deploy only stores the files that changed, so ten deployments of a 40 MB site that changed one page cost about 40 MB, not 400. It is sampled hourly and averaged over the month, so deploying on the 20th costs a third of a month. Keeping your deploy history is close to free, which is why a rollback is always available.

How is Automation billed?

Three things: the time each enrolled machine spends connected, a small fee per run started, and the time runs actually spent executing. A machine idling all day between two nightly jobs pays for being connected and almost nothing else — which is the honest shape, because your PC costs us nothing and our end of its connection does. Files a run keeps are objects in a Blob instance and appear on Blob's lines, not on an automation line of their own. Each instance carries a per-run cost ceiling, and the machine itself stops a run when its budget is spent — so a script with no time limit still cannot spend more than you allowed.

Setting a machine up is not billed. A run pays nothing for the time it spends installing VirtualBox, fetching and verifying Windows installation media, or building a guest, and that time is not charged against its cost ceiling either — so a ninety-minute Windows install cannot eat the budget for the nightly export it was preparing for. The line is once per machine, not once per run: booting a guest and copying the agent into it happen every time and are the job. A run's record shows its credited seconds beside its billed ones.

How are Containers billed?

Containers are billed on the time a machine actually ran, plus a small fee per job that covers starting and watching it. Machine time is scaled by size — a second on a large counts as twelve on a small — so one rate covers every size. A job is never billed for longer than the timeout it was started with, and nothing accrues while an instance is idle, because there's no machine when there's no job. Each instance carries a per-job cost ceiling checked before the machine starts, so a job that could cost more than you meant is refused rather than run.

How is the MCP server billed?

Tool calls an AI agent makes are metered at $0.02 per 1,000. Connecting, listing tools and reading resources are free — they count against the rate limit but never appear on a bill. Work a tool does bills to its own service as well, exactly as the same operation over REST would: a datastore_query costs the datastore reads it performs, plus the per-call fee.

Do I need a credit card to start?

No. Create an organization, add API keys, and use every service with no card. Add a payment method only if you expect to go past $3 a month.