> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chatblocks.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Plans

> Free, Builder ($9/mo or $89/yr), and Enterprise (contact-only). What's in each, and what you give up on Free.

Chatblocks has three plans. **Free** is the trial-everything tier with hard caps that prevent runaway cost. **Builder** is the single paid tier for solo operators. **Enterprise** is a manual flip we do for customers with custom requirements.

## At a glance

| Plan           | Price                    | Best for                                                                                                 |
| -------------- | ------------------------ | -------------------------------------------------------------------------------------------------------- |
| **Free**       | \$0                      | Trying the canvas, connecting an agent over MCP, and authoring blocks.                                   |
| **Builder**    | $9 / month or $89 / year | Solo operators using beta features: data sources, BYOK, scheduled runs, stores, and AI-generated blocks. |
| **Enterprise** | Contact us               | Teams, custom caps, non-Stripe billing.                                                                  |

The customer-facing plans are Free, Builder, and Enterprise. Enterprise is set manually by us — there's no Stripe subscription behind it. Anonymous playground sessions use an internal temporary plan and are not a billable tier.

## Per-resource caps

These are the current launch limits (source: `apps/web/convex/lib/limits.ts`):

| Resource                      | Free | Builder   | Enterprise |
| ----------------------------- | ---- | --------- | ---------- |
| Blocks                        | 10   | 100       | 10,000     |
| Canvases                      | 2    | 20        | 1,000      |
| Scheduled runs (Beta)         | 0    | 5         | 500        |
| Data sources (Beta, per type) | 0    | 10        | 100        |
| BYOK keys                     | 0    | 3         | 50         |
| Workspace members             | 1    | unlimited | unlimited  |
| Builds per month              | 100  | 1,000     | 100,000    |
| AI-generated blocks per month | 0    | 30        | 10,000     |
| MCP requests per minute       | 60   | 600       | 6,000      |

A few notes:

* **Data sources are Builder beta.** Free workspaces cannot create Stripe, Postgres, webhook, or outbound MCP data sources while the connector layer is still being hardened.
* **BYOK = 0 on Free.** No scheduled runs and no `blocks.create` AI generation. You can still author blocks for free — in the in-app editor or with your own coding agent over MCP (API keys are free on every plan). Builder unlocks AI generation, data sources, BYOK, scheduled runs, and stores.
* **Builder members are read-only by default.** Builder is the single-operator model: the workspace owner has write powers, co-members are viewers. See [Workspaces → Builder co-member model](/concepts/workspaces).

## What Builder unlocks vs Free

<CardGroup cols={2}>
  <Card title="Scheduled runs" icon="clock" href="/scheduled-runs/concepts">
    Builder beta. Cron-driven agent loops that wake up, decrypt your BYOK key, and write to your blocks.
  </Card>

  <Card title="Data sources" icon="plug" href="/connecting-data/stripe">
    Builder beta. Connect Stripe, Postgres, webhooks, and outbound MCP servers to blocks.
  </Card>

  <Card title="`blocks.create`" icon="wand-magic-sparkles" href="/authoring/via-agent">
    Builder-only. AI block generation streamed over MCP. Free path: hand-author in the in-app editor.
  </Card>

  <Card title="BYOK keys" icon="key" href="/connecting-data/byok-keys">
    Builder beta gives you 3 keys; Free gives you 0. BYOK is the substrate for any LLM call billed to *you*, not the platform.
  </Card>

  <Card title="Higher caps" icon="layer-group" href="/concepts/plans-and-limits">
    100 blocks / 20 canvases / 5 schedules / 10 per-type data sources on Builder, all tighter or unavailable on Free.
  </Card>
</CardGroup>

## Builder details

**Pricing.** $9 / month or $89 / year. Annual saves \~18% (one month free). Both are billed via Stripe. Card is charged immediately at Checkout — there is no free trial.

**Refund policy.** No published refund policy. Reach out via the support address on `/settings/billing` if something went wrong; we handle refunds case-by-case in the Stripe Dashboard.

**Plan switching.** Monthly ↔ annual switch lives in the Stripe Customer Portal. We don't surface a UI for it; the portal does the proration math.

## Enterprise

Enterprise is for:

* **Teams that need write access for multiple members.** Builder's single-operator-write model is intentional for solo workflows — teams want every member to have agent-write powers.
* **Custom caps.** Anything beyond Builder's 100 blocks / 5 schedules / etc.
* **Non-Stripe billing.** PO, ACH, annual invoicing with net-30, etc.

[Email me](mailto:me@kevinfang.tech) or [DM me on X](https://x.com/sofangtastic) — we flip the plan literal manually and there's no self-serve path.

## Plan changes propagate immediately

On `checkout.session.completed` (Stripe webhook), the workspace's `plan` flips to `builder` and the limit table jumps the same tick. There's no cache, no daily reconciliation — the next mutation sees the new caps.

Same on cancel and downgrade: the moment Stripe's webhook lands, the workspace is back on Free's caps. Existing over-cap resources stay (we don't delete blocks when you cancel), but new creates get `LIMIT_REACHED`.

## Reading limits programmatically

* **MCP `workspace.get`** — for agents. Returns the full `limits` payload (used / max / resetsAt per resource). [Concepts → Plans and limits → Reading limits programmatically](/concepts/plans-and-limits#reading-limits-programmatically).
* **`/settings/billing`** — for humans. Same payload, member-readable, rendered as a table.

## What's next

<CardGroup cols={2}>
  <Card title="Customer Portal" icon="receipt" href="/billing/portal">
    How to cancel, switch plans, and update your card in the Stripe Customer Portal.
  </Card>

  <Card title="Plans and limits (deep dive)" icon="layer-group" href="/concepts/plans-and-limits">
    Per-resource caps, programmatic preflight, and how the gates fail.
  </Card>
</CardGroup>
