HatchedDocs
Pricing & billing

Pricing

Fixed platform fee + metered AI credits. Four plans (Free, Growth, Pro, Enterprise).

Hatched separates platform fee from AI usage.

  • The platform fee covers everything that's free to run at scale: events, rules engine, widgets, analytics, SDK, webhooks, dashboard, config versions.
  • AI usage — image generation, onboarding chat, plan/theme/guide generation — is metered in credits at a flat rate: 1 credit = $0.10 = 1 completed AI job.

Plans

PlanMonthlyEvents / moCredits included / moWelcome credits
Free$010,000020 (one-time)
Growth$149500,00050
Pro$4995,000,000250
Enterprisecustomcontractcontract

Billing is monthly via Stripe. Annual billing is available on Growth/Pro at ~17% discount ($1,490/yr and $4,990/yr).

Feature gates

The capability matrix below is the runtime PLAN_MATRIX in packages/shared/src/pricing.ts. That file is the single source of truth — if anything below disagrees with the API guard, the API wins. (See Codex review fix #28.)

CapabilityFreeGrowthProEnterprise
Skills, coins, badges, streaks
Tokens (secondary currency)
Leaderboards, webhooks, SDK, keys
Gamification Planner
Wardrobe / Cause counter / Kudos
Teams / SeeSaw Bump
Marketplace
Evolution
Evolution — generative art
Generative media
Mystery Box / Boosters
Group Quest
Leagues / Lottery
Profile Pages v2
Paths
Multi-audienceup to 3contract
Advanced analytics (cohorts)
Mentorship
Founding Cohort / Profile Pages
Council (endgame elitism)

When a plan-locked endpoint is called, the API returns 403 plan_feature_locked with details.required_plan so the caller can prompt an upgrade.

Widget availability by plan

Hatched ships 14 mountable widgets. The plan a widget needs is derived from the same PLAN_MATRIX capabilities above — this table just maps each widget's public mount name to its minimum plan. Each widget's data attributes, scopes and endpoints live in the widget reference.

Widget (data-hatched-mount)TokenFreeGrowthProEnterprise
buddyembed
badgesembed
streakembed
tokensembed
leaderboardembed
kudossession
feedembed
hexad-surveysession
marketplacesession
group-questsession
mystery-boxsession
leagueembed
pathembed
councilsession

The Token column is the token a write-capable widget needs: session widgets perform writes (purchase, send, join, open, submit) and must be mounted with a server-minted session token, while embed widgets are read-only. Where the table and PLAN_MATRIX ever disagree, PLAN_MATRIX wins.

Event quota enforcement

Each plan has a monthly event ingestion quota. Requests include X-Event-Quota-* response headers; crossing 80% triggers a dashboard banner and a usage.threshold_reached webhook; crossing 100% returns 402 event_quota_exceeded until the monthly reset (first of the next UTC month) or a plan upgrade.