DEV Community

Cover image for I broke down the billing architecture behind 5 companies. The pricing page tells you nothing.
Sudeep S D
Sudeep S D

Posted on

I broke down the billing architecture behind 5 companies. The pricing page tells you nothing.

Hey folks, we build billing infrastructure for Top AI Companies, so I recently went entity-level deep on 5 companies to understand how their pricing actually maps to billing objects.

Not the pricing page, the actual data model and I found out a lot of insights which eventually translated to something bigger too.

Sharing this write-up here because I haven't seen this written up anywhere and I think it's useful for anyone implementing billing in their own product.


The 5 Companies we chose to deep-dive on and what you should understand about their pricing logic:


Cursor
Looks like 4 tiers (Free/Pro/Pro+/Ultra). Actually a single product with a usage multiplier.

Every tier shares the same feature set and the same meters (agent requests, tab completions). The only thing that changes across tiers is the usage ceiling. Pro+ is Pro with included_usage * 3. Ultra is included_usage * 20.
Tab completions are unlimited on all paid tiers.

Entity model: 4 plans, 1 fixed price per plan, 2 meters (agent requests, tab completions), entitlements per plan setting the multiplier limits.

Railway
Looks like $5/$20 subscription tiers. Actually a prepaid credit system wrapping per-second compute billing.
CPU is billed at $0.000008/vCPU/s, memory at $0.000004/GB/s, egress at $0.05/GB. The $5 and $20 plan prices are credit envelopes. Usage burns from the balance. When credits run out, you get billed the delta. The subscription is a floor, compute is a meter.

Entity model: 4 plans, credit grants ($5, $20) per plan, 3 meters (CPU, memory, egress), usage prices per meter, resource cap entitlements (Hobby: 48 vCPU max, Pro: 1,000 vCPU max).

Apollo
Looks like per-seat pricing. Actually a multi-ledger credit system.
Four separate credit pools per subscription: email credits (unlimited on paid), mobile credits (900/year on Basic, 100/mo on Pro, 200/mo on Organization), export credits (10 on Free, 2,000/mo on Pro), data credits (10,000/year on Pro).
Each pool has its own allocation cadence — some monthly, some annual. Overage: $0.20/credit, 250 minimum purchase.

Entity model: 4 plans, per-seat fixed price, 4 separate meters with different reset intervals, credit grants per meter per plan, overage pricing.

Vapi
Looks like $0.05/minute pricing. That's just the orchestration layer.
Each call minute triggers charges across STT (Deepgram/Assembly), LLM (token-based, variable by model), TTS (character-based), and telephony (carrier rate). Final cost per minute: $0.07 to $0.25 depending on provider stack.
Concurrency limit (10 calls) is an entitlement, not a billing entity.

Entity model: 1 platform fee usage price on a minutes meter, plus pass-through pricing across 4+ provider meters. Or one aggregated meter with a blended rate if you want simplicity.

Gemini
Looks like per-token pricing. It is, but with 5 price points per model.
Gemini 2.5 Flash: standard at $0.30/$2.50 per 1M input/output, batch at 50% off, cached input at 75% reduction, priority at premium rates. Free tier models have rate limits instead of token prices.

Entity model: 1 meter (tokens), multiple prices segmented by processing mode (standard/batch/cache/priority), entitlements for rate limits on free tier.


The pattern?

Every one of these is 3 clean columns on a pricing page.
The billing architecture underneath is a graph: plans → prices → meters → entitlements → credit grants → commitment rules, all referencing each other.

The gap between "I understand this pricing" and "I've implemented it as correctly modeled billing entities" is where weeks go.


Here's what we did about it after this realization

We built a feature called Prompt to Plan inside Flexprice (We help AI products do usage-based, hyrbid and credit based pricing with real-time metering and invoicing)

You describe your pricing in chat and it generates the full billing config — plans, prices, meters, entitlements, credit grants, commitments, all wired up. Takes about 20 seconds max.

With all the insights that we had, we also turned all 5 of these companies into one-click templates!

Click "Cursor" and you get their full entity model generated.
Click "Apollo" and you get the multi-ledger credit system.

If your pricing looks anything like one of these, you must try it out.

We'd be happy if this helps anyone out there! Do join our OSS Community as well if you're interested!

Top comments (0)