Plans & limits

The complete set of plan limits, including the ones not shown on the pricing page.

The pricing page shows the limits most people compare when choosing a plan. This page is the complete reference — including the caps that rarely bind and so aren't worth putting on a marketing card.

#Limits by plan

LimitFreeProAgencyScale
Custom domains— (tessryx.app subdomain)210Unlimited
Workspace seats1310Custom
App users & editorsUnlimitedUnlimitedUnlimitedUnlimited
Monthly credits10,000100,0001,000,000Custom
Max run length60 seconds2 minutes5 minutesCustom
Media storage100 MB5 GB50 GBCustom
Datafiles1001,00010,000Custom
Endpoints / workflows / schemas (each)1002001,000Unlimited
Scheduled jobs11050Custom
Minimum schedule intervalDaily15 min1 minCustom
Stored run tracesRuns you startAll runsAll runsAll runs
SupportCommunityEmail · 3 business daysEmail · 1 business daySLA + named contact

Workspace seats are for the people who build in your workspace. Anyone who merely uses a site you publish — including people who sign in to view or edit gated content — never consumes a seat, and is unlimited on every plan. When a visitor signs in, Tessryx gives your app a stable, private identifier for them; deciding what each person is allowed to do is something you build into your app on top of that identifier, not a seat you pay for.

On Pro and Agency, you can add custom domains beyond your plan's included count for $8/month each, so a third client site doesn't require moving up a tier.

Media egress isn't metered — assets and published datafiles serve from a CDN with no bandwidth charge.

No website required. A published site is one thing you can build, not something a plan depends on. Every plan runs headless: you can drive your workflows entirely over MCP or the API — token auth, no browser, no domain — and never publish a page. Executions cost the same whichever way they're triggered.

#How credits work

A credit pays for an execution — a workflow run, or a direct call to an API template, however it was started: a visitor loading a page, an API request, a scheduled job, a test run in the editor, or your AI agent calling it over MCP. The trigger makes no difference; what costs is the work done. A credit covers up to 10 seconds of an execution, rounded up:

  • A typical page render finishes in milliseconds, so it's 1 credit.
  • An execution that takes 60 seconds is 6 credits.
  • Concurrent iterations each count — a fan-out running ten 10-second iterations is 10 credits, not 1.
  • A bare API-template call is one execution too, so it's ~1 credit (they're near-instant).

Cached views are free. A cached page is served straight from the edge without running anything, so a well-cached site uses a tiny fraction of its allowance — a small marketing site runs around 500 credits a month against Pro's 100,000. Building is free too: browsing, drafting, editing, and saving never use credits. Only running does.

How credits expire. On a paid plan, an unused monthly allocation rolls over once — it stays usable through the following month, then expires. On the free tier, the allocation resets each month and doesn't roll over. Credits you buy as top-ups never expire and aren't touched by a change of plan. Changing plan (up or down) clears your included allocation, including anything rolled over, and issues your new plan's allocation less what you've already used this month. Credits you bought separately are never affected. Credits have no cash value and are not refundable.

Note: You're never billed for going over. Credits are prepaid and metering absorbs the small overshoot from a run already in progress. There is no automatic charge — running low prompts you to top up or upgrade, and you decide.

#What happens at a limit

Running out of credits stops executions — pages, API routes, scheduled jobs, editor test runs, and anything your agent calls over MCP stop together, because they all draw on the same balance. It's a single event, not a staged one. Reading and editing keep working. What keeps serving:

  • Cached pages, until their cache expires.
  • Published datafiles and media, which are static files and serve regardless.

How long cached pages last is set by you: a page with a one-hour cache keeps serving for about an hour; a page with caching off — the default — stops immediately. Topping up or upgrading restores everything instantly. Nothing is deleted and nothing is owed — running out of credits is not a payment problem.

Hitting a plan cap — a run exceeding your max run length, or creating one entity past a per-kind limit — is a clear, legible message telling you which limit you reached and how to lift it, never a silent failure.

#Free tier specifics

Free sites are served from a tessryx.app subdomain. Two things follow from that, both disclosed in the Customer Terms:

  • A "Served by Tessryx" badge is shown on your pages.
  • Pages are marked noindex, so search engines don't index them.

Both lift the moment you connect a custom domain on a paid plan — indexing follows your own domain, which is a real technical fact rather than an artificial gate.

Run traces. Every workflow run is recorded and listed on every plan — you always see what ran, when, and whether it succeeded. What differs on the free tier is the detailed step-by-step trace: it's kept only for runs you start yourself, like a test run or preview in the editor. For an unattended run — a scheduled job, a live page serve, or an agent calling over MCP — the free tier still lists the run and its outcome, but doesn't store its step trace. Paid plans keep the full trace for every run.

Inactivity. Free accounts with no activity for 90 days — no request at our servers, no workflow or schedule runs, no dashboard sign-in, and no API or MCP access — are warned by email, then their media is archived and the account removed. Any one of those resets the clock, so an internal tool used daily but never re-published is never reaped. An agent counts: a workspace driven entirely through the API or MCP — token auth, no browser sign-in — stays alive on that alone. Cache-served requests don't reach our servers, so they aren't counted; activity is measured at origin. Paid accounts have no inactivity clock.

Plans & limits — Tessryx Docs