Current hosted plans
Pro and Ultra use 7-day trial checkout links on the public pricing page. Enterprise is contact-only.
How it actually works
The public website renders current plan limits from the shared tier model where possible. Treatshared/tierLimits.ts as the repo-level source of truth for memories, short-term message caps, channel caps, retention windows, and managed Gemini behavior.
Important source files:
shared/tierLimits.tsapps/web/app/pricing/page.tsxdocs/PRICING.mdREADME.mdconvex/crystal/geminiGuardrail.ts- relevant backend enforcement paths in
convex/crystal/*
Plan behavior notes
starterexists inshared/tierLimits.tsas a legacy Pro-style alias. It is not a separate public hosted plan.- Free does not include managed Gemini. Pro includes managed Gemini with a 500-call daily cap. Ultra and Enterprise-style unlimited tiers allow BYOK/custom caps and have no default managed Gemini daily cap.
- Raw uploaded files are not exposed directly to model context today. Recall uses derived text, transcripts, summaries, and metadata.
- Local or self-hosted setup is a deployment mode. Do not assume hosted-tier behavior, support, backups, migrations, or tunnel behavior unless the current install docs and code support it.
Common mistakes
- treating marketing copy as the technical source of truth for limits
- listing
starteras a current public plan - assuming hosted-tier behavior and self-hosted behavior are the same thing
- forgetting that memory limits, message retention, raw sensory retention, asset storage, and model usage are separate controls
Source of truth
Primary files behind this page:shared/tierLimits.tsapps/web/app/pricing/page.tsxdocs/PRICING.mdREADME.mdapps/web/app/data/releases.ts