memcity

Enterprise

Tiers & Pricing

Understand the three-tier system with build-time code stripping, config-level enforcement, and runtime guards.

Overview

Memcity has three tiers — all with one-time pricing (not a subscription):

TierPriceLicense
CommunityFreeApache 2.0
Pro$79 one-timeCommercial, single developer
Team$179 one-timeCommercial, up to 10 developers

You buy it once, you own it forever. No recurring charges, no usage-based billing for the component itself. (You still pay for Jina and OpenRouter API usage, but those are pennies per query.)

How the Tier System Works

Memcity's tier system is unique in that it enforces feature access at three separate layers. This isn't just config flags — it's defense in depth:

Layer 1: Build-Time Code Stripping

When you download the Community tier, the Pro and Team code is physically not there. It's removed at build time by a stripping tool that produces tier-specific distributions.

This means:

  • Security — Community users can't reverse-engineer Pro features because the code doesn't exist in their distribution
  • Bundle size — Community builds are smaller because they don't contain unused code
  • No dead code — Every line in your distribution is code your tier can actually use

Layer 2: Config-Level Enforcement

Even if the code were somehow present, the configuration system prevents lower tiers from enabling gated features. When Memcity merges your config with defaults, it silently overrides any features your tier doesn't support:

ts
// On Community tier:
const memory = new Memory(components.memory, {
  tier: "community",
  search: {
    reranking: true,         // Silently overridden → false
    enableHyde: true,        // Silently overridden → false
  },
  graph: {
    enabled: true,           // Silently overridden → false
  },
  enterprise: {
    acl: true,               // Silently overridden → false
  },
});
// All gated features are disabled. No error, no crash.

Layer 3: Runtime Guards

If you call a method that requires a higher tier, you get a clear error:

ts
// On Community tier, calling a Pro method:
await memory.ingestUrl(ctx, { url: "https://example.com" });
// Error: "ingestUrl requires Pro tier or higher.
//         Current tier: community. Upgrade at memcity.dev/#pricing"

Feature Matrix

Search Features

FeatureCommunityProTeam
Hybrid vector search (semantic)YesYesYes
BM25 keyword searchYesYesYes
RRF fusion (merge semantic + BM25)YesYesYes
Semantic deduplicationYesYesYes
Confidence scoringYesYesYes
Query routing (simple/moderate/complex)-YesYes
Query decomposition (multi-part queries)-YesYes
Query expansion (semantic variations)-YesYes
HyDE (hypothetical document embeddings)-YesYes
Jina Reranker v3 (cross-encoder)-YesYes
Chunk expansion (surrounding context)-YesYes
Temporal boost (recency scoring)-YesYes
Citation generation (page/heading breadcrumbs)-YesYes
RAPTOR hierarchical summaries-YesYes

Knowledge Features

FeatureCommunityProTeam
Text ingestionYesYesYes
Recursive + fixed chunkingYesYesYes
Knowledge graph (entity + relationship extraction)-YesYes
GraphRAG traversal (3 strategies)-YesYes
File processing (25+ types)-YesYes
URL ingestion-YesYes
Batch ingestion-YesYes
Cascading deletion-YesYes

Memory Features

FeatureCommunityProTeam
Episodic memory (per-user)-YesYes
Memory decay + consolidation-YesYes
Conversation tracking-YesYes
User management-YesYes

Advanced Features

FeatureCommunityProTeam
RLM recursive deep retrieval--Yes
RLM Python runtime (Daytona sandbox)--Yes
RLM Bun runtime (JS sandbox)--Yes
RLM session logging--Yes
RLM enrichment: pre-chunk structuring--Yes
RLM enrichment: guided chunking (section hints)--Yes
RLM enrichment: chunk-level enrichment--Yes
Enrichment-aware embeddings--Yes
Enrichment-aware BM25 keyword search--Yes
Enrichment-aware reranking--Yes

Enterprise Features

FeatureCommunityProTeam
Per-document ACLs--Yes
Immutable audit logging--Yes
Usage quotas + rate limiting--Yes
Multi-organization support--Yes

Limits

LimitCommunityProTeam
Knowledge bases1UnlimitedUnlimited
Documents per KBUnlimitedUnlimitedUnlimited
Developer seatsUnlimited (open source)110

Upgrading

Upgrading from Community to Pro (or Pro to Team) is seamless:

  1. Purchase your license at memcity.dev/#pricing
  2. Set your license key in .env.local:
    bash
    MEMCITY_LICENSE_KEY=MEMCITY_PRO_xxxx-xxxx-xxxx-xxxx
  3. Re-install with the new tier — this replaces the component source with the higher-tier version:
    bash
    npx shadcn@latest add @memcity/pro
  4. The convex/memory.ts client will be updated with the new tier pre-set. If you've customized it, merge the tier change manually.

All existing data is preserved. Your embeddings, chunks, knowledge bases, and indexes carry over. The upgrade just unlocks new features for future operations.

Which Tier Should You Choose?

Choose Community if:

  • You're prototyping or evaluating Memcity
  • You have a single knowledge base with text-only content
  • You need basic hybrid search (semantic + keyword)
  • You're building an open-source project

Choose Pro if:

  • You're building a production application
  • You need the full 16-step RAG pipeline for high-quality search
  • You want to process files (PDF, images, audio, video)
  • You need episodic memory for personalization
  • You need the knowledge graph for multi-hop reasoning

Choose Team if:

  • You're building a multi-tenant SaaS application
  • You need per-document access control (different users see different results)
  • You need an audit trail for compliance (SOC2, HIPAA)
  • You need usage quotas to control costs across organizations
  • You need RLM deep recursive retrieval for complex analytical queries
  • You want the RLM enrichment pipeline for dramatically better search quality (pronoun resolution, entity canonicalization, enriched embeddings and keyword indexes)
  • You have a team of up to 10 developers working on the project