exoDocs

The stack

Cost and unit economics

Every cost figure recorded in the ADRs and docs, the unit-economics model Exo is building toward, and what is still TBD.

This page collects every cost figure the repository records. Figures are quoted from their source with the date of the decision. Nothing here is a new estimate, and where the repository records no figure, the cell says TBD.

Recorded figures

DimensionItemFigureSource
Continuous integrationexo-verify compute~$0.007 per 5-minute run on a 2 vCPU / 2 GB Railway workerADR 0005 (2026-09-27)
Continuous integrationexo-verify model tokens$0.01–0.10 per runADR 0005
Continuous integrationexo-verify per verified commit~$0.02–0.10ADR 0005
Continuous integrationexo-verify monthly at ~300 agent commits~$6–30ADR 0005
Continuous integrationGreptile Pro (alternative)$30/seat/month, 50 credits/seat, $1 per extra credit; est. ~$300–900/month at the same volumeADR 0005
Continuous integrationCodeRabbit (alternative)$24–30/user; CLI free at 3 reviews/hour on local gitADR 0005
Continuous integrationGraphite (alternative)$40/userADR 0005
AnalyticsPostHog free tier~1M events/monthADR 0006 (2026-09-27)
ObservabilityExo event table on Convex"a few dollars per month" expectedADR 0006
Deploy (mobile)Apple Developer Program$99/year (required)ADR 0007 (2026-09-27)
Deploy (mobile)EAS Free$0; 15 iOS + 15 Android builds/month, OTA updates to 1K MAUADR 0007
Deploy (mobile)EAS Starter$19/month plus usage beyond the included $45 build creditADR 0007
Deploy (mobile)Own Mac builderHardware or hosted Mac; ~$0 per build; pays off only at high volumeADR 0007
Deploy (mobile)exo-deploy at current volume~$8/month (Apple fee amortized)ADR 0007
AIArch-Router assessor (exo-router)No per-call cost; self-hosted, CPU-only, ~1 GB RAMai-routing, arch-router
IdentityClerk (retiring)Charges per MAU (reason for leaving; no figure recorded)ADR 0003
PortabilityExitNo punitive exit fee; direct infrastructure egress may be passed throughportability

Where ADRs 0005–0007 live

ADRs 0005, 0006, and 0007 were accepted on main on 2026-09-27 and are not yet on staging. They will render under Decision records once the branches are reconciled. Until then, read them on main: 0005, 0006, 0007.

Not yet recorded (TBD)

The repository does not record plan or monthly figures for these. Treat each one as TBD until someone adds an ADR or doc:

  • Convex plan and usage (control plane, identity, app state, media) for both deployments
  • Railway monthly spend for the Exo web services and the arch-router service
  • Entire (forge) pricing
  • Construct operating cost per site
  • Bird per-message pricing for email, SMS, and voice
  • Twenty hosting (self-hosted or cloud)
  • Stripe and RevenueCat fees at portfolio volume
  • AI model spend per App (see the exo-router caveat below)
  • Hermes and FluidVoice operating cost
  • Artificial Analysis benchmark access (not wired into aiModelPool yet)

The unit-economics model

exo-analyze (ADR 0006) defines the funnel Exo stores end to end, so that every App has computable unit economics:

visits → sign-ups (Exo Key) → paid (Stripe / RevenueCat webhooks) → cost to serve
                                                                   (exoAiBrokerJobs + exo-verify + infra)

Each App's dashboard is meant to report cost per active user and gross margin per paying user, so a feature is judged on cost per unit and margin, not revenue alone.

What is measured today

  • AI jobs. Every exo-router job (POST /v1/ai/generate) writes a row to exoAiBrokerJobs with jobType, status, provider, model, sourceCount, durationMs, inputTokens, and outputTokens (convex/schema.ts). The table has a costMicrosUsd column, but on staging the endpoint does not compute it yet (the response returns 0), and rows carry no App identifier. Per-App AI cost is therefore TBD; token counts are the current unit.
  • Routing. aiRoutingLog records the chosen model, its utility score, the assessor, and a fallback flag for every routed decision. aiModelPool holds per-model input and output cost per million tokens (USD) and a 0–100 intelligence estimate.
  • Revenue. Stripe and RevenueCat events land in an idempotent, normalized ledger with cached metric snapshots. Currencies are never summed silently, and unobserved metrics display as unknown, never zero (revenue monitoring).

Spend governance

  • projects.dev spend gate. Before each deployment, Exo verifies the matching environment, reads the credential inventory without revealing values, inspects recent spend, and confirms a global spend limit exists and has not been exceeded. Free tiers are preferred, and any new or upgraded paid plan needs explicit owner approval (repository contract).
  • Buy vs. build at agent volume. Third-party tools are priced per run at agent commit volume (hundreds per month), not per seat. That is why exo-verify was built rather than bought.

Source: content/docs/stack/economics.mdx

On this page