Billing

Plans and allowances

Five plans, all self-serve, all on a card. The table below is the one place in these docs where a price, an allowance or a limit appears, so nothing anywhere else can contradict it.

The plan table

Every tier is bought the same way, including Enterprise: there is no call to book and no order form. Annual is ten months of monthly, so two months are free. Prices are US dollars.

 FreeProTeamBusinessEnterprise
Monthly$0$12$39$129$399
Annualn/a$120$390$1,290$3,990
Card to startNoYesYesYesYes
Documents held1003001,0003,0008,000
Questions a month5003,00010,00030,00080,000
Seats131025100
Document bases113510
Documents loaded a day2006002,0006,00016,000
Uploaded a day5 GiB15 GiB50 GiB150 GiB400 GiB
Source syncNoYesYesYesYes
WebhooksNoYesYesYesYes
Audit and usage exportNoNoYesYesYes
Single sign-onNoNoNoYesYes
Invoice billingNoNoNoNet 30Net 30
IP allowlistNoNoNoNoYes
Your own KMS keyNoNoNoNoYes
Past the allowance: nothing is metered. Every plan stops at its included allowance and says so, on every tier, so a workspace can never run up a bill it did not choose. The published meter rates behind the allowances are $3.00 per 1,000 questions and $0.03 per document per month, returned at the top of GET /plans, and no tier bills them today.
If a payment fails: full access while the card is retried, then the workspace goes read-only after 7 days. Questions keep working, writes stop, and updating the card in the portal opens it back up.

The pricing page at Economics is the customer-facing source for what a plan costs. This table mirrors the plan table in the code, the same table GET https://api.engramdynamics.org/plans is served from, so what you buy, what the API enforces and what you read here are one thing.

Production is invite-only today. You can read the plans, the API and the terms without an account; starting a workspace on the production deployment needs an invite.

What a document is, and what a question is

A document is up to 4,000 tokens of extracted text, roughly six pages. A longer file counts as several, so a sixty-page report counts as ten documents. Adding files is always free. You pay to keep them ready to answer from, not to load them.

A question is one answered query, whether it arrived over MCP, the REST API or the chat box in the app. The count resets on the first of each calendar month on every plan, Free included. The documents allowance is a holding limit rather than a monthly one: delete documents and the space comes straight back.

The daily ingest rows are a rate, not an allowance. They are sized at roughly a whole document allowance a day, so a full first load goes through in one run while a runaway script still stops.

The free plan

Free takes no card and never expires. It is a tier, not a trial: it carries the MCP server, the REST API and the CLI exactly as the paid plans do, and it stops at its allowance rather than billing you. Upgrade whenever you want the allowance, and everything you already loaded carries straight over.

What happens when you reach a limit

A cap is a clean refusal with the reason in it, never a silent truncation. The API answers 429 and the body names the limit and the plan:

{
  "detail": {
    "error": "beta_limit",
    "limit": "queries",
    "message": "Your Team plan includes 10,000 queries and this workspace has used them all. Your questions reset at the start of next month, or move up a plan in billing and the new allowance applies right away.",
    "plan": "team",
    "upgrade_url": "/billing"
  }
}

The daily ingest rate has its own key, ingest_quota, and carries cap, used and resets_at so a loader can wait rather than guess. Seats and workspaces refuse the same way, at the invite and at the create. Under /v1 all of these arrive in the versioned error envelope, with the same code and the extra fields under details.

Moving up a plan applies the new allowance immediately, which is why the refusal points at billing rather than at support.

Check the plans and your own allowance

The plan table is public, so you can read it before you have an account:

curl -s https://api.engramdynamics.org/plans

Your workspace's own state needs a key with the admin scope, and tells you the plan, the term, the subscription status, whether a cancellation is already pending and the caps being enforced:

curl -s https://api.engramdynamics.org/billing/status \
  -H "Authorization: Bearer <your key>"

Next

Checkout, portal and changing plans is how you buy one of these and move between them. Terms and DPA acceptance covers the agreement a paid plan is sold under, which an admin accepts before the first purchase.