Every API provider has a headline number. Stripe: "2.9% + $0.30." Twilio: "$0.0079/SMS." Pinecone: "Free." These numbers are real — they just represent the minimum possible scenario that almost no production app actually hits.
We modelled a realistic B2C SaaS startup — 500 paying subscribers by month 12, global users, a RAG feature using vector search, and SMS for OTP and transactional notifications — and added up everything that actually appears on the invoice.
Scenario: "Vaultly" — a fintech SaaS
- 500 paying users by month 12, avg $29/mo subscription
- $14,500 MRR at peak, ~$87,000 total year-1 revenue
- 70% US users, 30% UK/EU/other international
- SMS for OTP (1 msg/login, avg 8 logins/mo) + weekly digest (1 msg/mo)
- RAG feature: document Q&A over user-uploaded PDFs, ~500k vectors
- Standard fraud protection and subscription management
Stripe: from 2.9% to 4.8% effective rate
What you sign up for
Stripe's landing page shows: 2.9% + $0.30 per successful charge. That's the base rate for US card processing with no extras.
What you actually pay
| Fee item | Rate | Year-1 cost (Vaultly) |
|---|---|---|
| Base processing (US cards) | 2.9% + $0.30/charge | $2,523 |
| International card surcharge (30% of transactions) | +1.5% on intl cards | $392 |
| Currency conversion (10% of revenue) | +1.0% | $87 |
| Stripe Radar (fraud protection) | $0.05/transaction | $300 |
| Stripe Billing (subscription management) | 0.7% of recurring rev | $609 |
| Failed payment retries / Smart Retries | Included in Billing | — |
| Chargeback handling ($15 fee, ~1% dispute rate) | $15/dispute | $90 |
| Total Stripe year 1 | $4,001 |
On $87,000 revenue: 4.6% effective rate vs the advertised 2.9%.
The biggest surprises: Stripe Billing at 0.7% is not optional if you want real subscription management (trials, proration, dunning). Radar is technically optional but disabling it in production means you handle disputes manually. Together they add ~$900 to year 1 — nearly 50% more than the base processing cost alone.
What the 2.9% doesn't include
- Stripe Tax (+0.5% of taxable transactions if you need automated VAT/GST)
- Stripe Connect fees (0.25% + $2/payout if you build a marketplace)
- Stripe Sigma ($10/mo for SQL access to your own payment data)
- Stripe Identity ($1.50/verification for ID verification features)
Full detail: Stripe pricing breakdown →
Twilio: $0.0079/SMS becomes $0.013 — plus $312/year in registration fees you can't avoid
What you sign up for
Twilio's headline: $0.0079 per outbound SMS to US numbers. Sounds cheap. 10,000 messages a month = $79. Easy.
The A2P 10DLC registration wall
Since 2023, US carriers require all business SMS to be registered under A2P 10DLC (Application-to-Person, 10-digit long code). Without registration, messages are blocked or heavily filtered. You cannot skip it.
Vaultly's A2P 10DLC cost:
- Brand registration: $4/month (one-time $4 registration fee + recurring)
- Campaign #1 — OTP / 2FA: $10/month
- Campaign #2 — Transactional notifications: $15/month
- Total registration overhead: $29/month = $348/year
These fees go to the carriers via Twilio. They are not negotiable.
What you actually pay per message
| Fee item | Rate per SMS | Year-1 cost (Vaultly) |
|---|---|---|
| Base Twilio rate (US) | $0.0079 | $569 |
| Carrier surcharges (avg T-Mobile/AT&T/Verizon) | +$0.0040 | $288 |
| A2P 10DLC registration (brand + 2 campaigns) | $29/mo flat | $348 |
| International SMS (UK/EU users, ~30%) | $0.04–$0.08 | $324 |
| Total Twilio year 1 | $1,529 |
Vaultly sends ~72,000 SMS in year 1 (500 users × 9 msgs/mo avg × 12 mo × ramp). At the headline rate, that's $569. Actual cost: $1,529 — 2.7× the advertised price.
The A2P trap: The $348/year registration cost is the same whether you send 1,000 or 1,000,000 messages. For low-volume senders, this flat overhead can make Twilio 3–5× more expensive per message than it appears. At 72,000 messages/year, the registration alone adds $0.0048/msg overhead.
Cheaper alternatives for transactional SMS
For US-only OTP: AWS SNS ($0.00645/SMS, no A2P registration fee via SNS — Amazon handles it). For multi-channel: Resend handles email OTP at $0.0001/email — often a better choice than SMS for non-time-critical notifications.
Pinecone: "free" becomes $840/year within 6 months
What you sign up for
Pinecone's free tier: 1 index, ~100k vectors, serverless. Sounds like enough to get started and stay free for a while.
When free stops working
Vaultly's RAG feature lets users upload PDFs and ask questions. Each page = ~10 vectors. 500 users × avg 100-page documents = 500,000 vectors. Free tier limit: ~100k. You hit the wall in month 3–4.
| Fee item | Rate | Year-1 cost (Vaultly) |
|---|---|---|
| Months 1–3: Free tier | $0 | $0 |
| Months 4–6: Serverless (500k vectors, ~2M reads/mo) | $0.033/1M reads + $0.10/1M writes + storage | $127 |
| Months 7–12: 1M+ vectors, 5M reads/mo | Scales linearly | $513 |
| Total Pinecone year 1 | $640 |
The serverless pricing is actually reasonable — $0.033 per million reads means a typical query costs a fraction of a cent. The cost driver is storage: 1M 1536-dimension vectors (OpenAI ada-002) = ~6GB. At $0.001/GB/hour that's $4.32/day or ~$130/month just for storage at scale.
Alternative: Supabase pgvector on the Pro plan ($25/mo) handles up to ~1M vectors on a 8GB database with IVFFlat indexing. For apps already using Supabase for auth and data, this eliminates Pinecone entirely. Query speed is 2–3× slower at scale but acceptable for most RAG use cases. Year-1 savings vs Pinecone serverless: ~$340.
Year-1 total vs advertised
| Provider | Advertised headline | True year-1 cost | Multiple |
|---|---|---|---|
| Stripe | 2.9% + $0.30 → ~$2,523 | $4,001 | 1.6× |
| Twilio | $0.0079/SMS → ~$569 | $1,529 | 2.7× |
| Pinecone | "Free" → $0 | $640 | ∞ |
| Total | ~$3,092 | $6,170 | 2.0× |
The combined infrastructure bill is 2× the advertised total. Not because the providers are deceptive — all these fees are documented — but because the "getting started" pricing hides the operational reality of running a production app.
How to budget accurately
- For Stripe: Start with 3.5% as your effective rate for US-heavy SaaS. Add 0.7% if you use Billing, add 1.5% on international revenue. Use our Stripe cost calculator with your revenue mix.
- For Twilio: Add $30–$50/month in A2P registration as a fixed overhead before any volume costs. Multiply your per-message rate by 1.5× to account for carrier surcharges. Consider AWS SNS for US-only OTP at lower cost.
- For Pinecone: Model your vector count at 6 months and 12 months from day 1. If you'll exceed 200k vectors, you're on the paid tier. If under 1M vectors, compare Supabase pgvector — often 40–60% cheaper for smaller scales.
FAQ
What are Stripe's hidden fees beyond 2.9% + $0.30?
Radar ($0.05/txn), Billing (0.7% of recurring revenue), international surcharge (+1.5%), currency conversion (+1%), and chargeback fees ($15/dispute). Effective rate is typically 4–5.5% for production SaaS.
What is Twilio A2P 10DLC and how much does it cost?
Required US carrier registration for business SMS. Brand: $4/mo. Each campaign (OTP, marketing, transactional): $10–$15/mo. A startup with 2 use cases pays ~$26–$34/mo in registration alone before sending a message.
Is Pinecone's free tier sufficient for production?
No — limited to ~100k vectors, no SLA, no backups. Most production RAG apps hit this within 2–4 months. Serverless tier starts at $0.033/1M reads, but storage cost is the main driver at scale.
What's the cheapest vector database alternative to Pinecone?
Supabase pgvector (if you're already using Supabase — $25/mo Pro plan). Qdrant Cloud (free to 1GB). Self-hosted Chroma (free, but you pay hosting). All are slower at scale but adequate for most RAG use cases under 1M vectors.
Does Twilio charge more for international SMS?
Yes — significantly. US: ~$0.0079. UK: ~$0.04. Germany: ~$0.075. Brazil: ~$0.085. For global apps, SMS costs can be 5–10× the US headline rate in some markets.