Clerk vs Auth0
At 50,000 Auth0 MAU, B2C Essentials costs $3,500/month; at 50,000 Clerk MRU, Pro costs $25/month: $3,500 / $25 = 140. Auth0 counts non-internal users who authenticated that month per tenant; Clerk counts users returning on a later day after signup per app, so these are not equivalent populations.
Pick Clerk if most of your sign-ups never come back a second day, because Clerk bills only the ones who do — 50,000 MRU are included on a $25/month Pro plan. Pick Auth0 if your identity programme runs on enterprise SSO, many tenants and custom connections, and budget for the step: 501 B2C users cost $70 on Essentials, the same as 1,000.
- Clerk and Auth0 count different people
- Who should not pick Auth0's paid B2C plans
- On Auth0, the 501st user costs $35
- Who should not pick Clerk without budgeting add-ons
- The 140x gap is correct arithmetic on two different quantities
- Pick by who you are billed for, then check the next boundary
- Cost arithmetic
- Decision matrix
- Migration path
- FAQ
At a glance
| Dimension | Clerk Retained users | Auth0 Tiered MAU |
|---|---|---|
| Product foundation | Hosted auth with prebuilt UI, organisations and billing | Hosted identity platform: connections, tenants, rules |
| Pricing model | Hobby $0 · Pro $25/mo ($20 annual) · Business $300/mo ($250 annual) | Free 25,000 MAU · Essentials from $35 · Professional from $240 · Enterprise quote |
| Hosting and deployment | No (hosted service) | No (hosted); private deployment is an Enterprise add-on |
| Runtime and integration | 50,000 MRU included per app; sessions from 5 minutes to 10 years on paid | Tenants 1/3/12/unlimited by plan; 3 enterprise connections on B2B Essentials |
| AI-related capabilities | M2M tokens and API keys with monthly verification limits | AI Agents add-on adds 50% to the base price |
| Lock-in risk | Medium: hosted users, full data exports on every plan | High: tenants, connections and rules live inside the product |
| Vendor | Clerk → | Auth0 → |
1. Clerk and Auth0 count different people
Read the unit before the price. Each vendor defines it in its own words:
| Vendor | Unit | Who is counted |
|---|---|---|
| Clerk | Monthly Retained User (MRU) | visits at least one day after signup, per app |
| Auth0 | Monthly Active User (MAU) | non-internal user authenticated that month, per tenant |
Clerk counts the first day free. A signup that never returns is excluded from MRU, but counts toward MAU if non-internal and authenticated.
A consumer app with heavy sign-up churn will look cheap on Clerk, and part of that cheapness is definitional.
Vendor pricing pages, checked on 10 November 2026: Clerk Hobby includes 50,000 MRU per app for $0; Auth0 Free includes 25,000 MAU for $0.
2. Who should not pick Auth0's paid B2C plans
- Clerk forbids a limitless free tier: Hobby stops at 50,000 MRU per app with no MFA or passkeys, and one month of grace before the app stops working.
- Clerk forbids big free organisations: 100 MRO per app, 20 members each. An MRO has at least 2 members, one of them an MRU that month.
- Auth0 forbids paying for exactly what you use. Between tiers you are billed at the next tier up.
- Avoid Auth0 B2C Essentials and Professional if you need enterprise connections: both list them as "not available". Free includes 1; custom SSO tiers require Enterprise.
3. On Auth0, the 501st user costs $35
Auth0's B2C price is a staircase. You pay for the tier you land in:
| B2C MAU | Essentials | Professional |
|---|---|---|
| 500 | $35 | $240 |
| 1,000 | $70 | $240 |
| 20,000 | $1,400 | $3,200 |
| 30,000 | $2,100 | contact us |
| 40,000 | $2,800 | not available |
| 50,000 | $3,500 | not available |
At 500 MAU, Essentials is $35 / 500 = $0.07 per user. User 501 moves you to the 1,000 tier: $70 − $35 = $35 for one person. The $70 bill is double $35.
The usage punished is a spike that crosses a boundary. One launch week past a tier line bills the whole next tier. Professional has a harder cliff: $240 climbing to $3,200, then no self-serve price at all. Professional's printed prices end at 20,000 MAU for B2C and 10,000 for B2B.
Annual billing keeps the steps: yearly is 11 × monthly, so 50,000 MAU on Essentials is 11 × $3,500 = $38,500.
4. Who should not pick Clerk without budgeting add-ons
Clerk Pro is $25/month, or $20/month billed annually. It includes 50,000 MRU per app, then $0.02 per MRU with volume discounts. Every plan allows unlimited applications.
The add-ons move the bill:
| Add-on | Price |
|---|---|
| SSO connection | 1 included, then $75/mo |
| Directory Sync | 1 included, then $75/mo from 1 January 2027 |
| B2B Authentication: Enhanced add-on | $100/mo; $1/MRO beyond 100 included per app on all plans; removes 20-member limit |
| Protect | 10,000 checks free, then $0.002/check; 1,000,000+ quote-only; brute-force prevention excluded |
Ten enterprise customers, one SSO connection each, cost (10 − 1) × $75 = $675/month. From January 2027, Directory Sync for the same ten adds another (10 − 1) × $75 = $675.
Protect at 200,000 checks is (200,000 − 10,000) × $0.002 = $380.
Avoid Clerk's self-serve plans if you need a 99.99% SLA or a HIPAA BAA; both are Enterprise-only.
5. The 140x gap is correct arithmetic on two different quantities
Paid-plan estimates at equal numeric inputs, not an identical population. Auth0 counts MAU; Clerk counts MRU.
TIERS = [(500, 35), (1_000, 70), (2_500, 175), (5_000, 350), (7_500, 525),
(10_000, 700), (20_000, 1_400), (30_000, 2_100), (40_000, 2_800), (50_000, 3_500)]
def auth0(mau): # between tiers you pay the next tier up
return next((p for cap, p in TIERS if mau <= cap), None) # breaks: >50,000 unpriced
def clerk_pro(mru): # ignores Clerk's volume discounts
return 25 + max(0, mru - 50_000) * 0.02
for n in (501, 50_000, 100_000):
print(n, auth0(n), clerk_pro(n))
At 50,000 non-internal MAU per tenant/month, Auth0 is $3,500; at 50,000 later-day MRU per app, Clerk is $25 + 0 × $0.02 = $25. $3,500 / $25 = 140. 140x prices 50,000 people who logged in against 50,000 who came back on a later day. Not the same crowd.
At 100,000 MRU, Clerk is 50,000 × $0.02 + $25 = $1,025/month. Auth0's B2C sheet ends at 50,000: "contact us".
6. Pick by who you are billed for, then check the next boundary
Choose Clerk Pro if you need MFA, passkeys or branding removal below 50,000 MRU per app; Hobby excludes them.
For 10 dashboard seats, 5,000 MRU and 200 qualifying MRO, Clerk Business costs $300 + $100 + (200 − 100) × $1 = $500/month. Auth0 B2B Essentials is $1,300 at 5,000 MAU, but Essentials and Professional allow only 10 organisations, not 200.
Choose Auth0 Professional if you need custom database connections or cross-app SSO; it includes 12 tenants.
Check today:
- Price distinct non-internal MAU per Auth0 tenant and later-day MRU per Clerk app, with required plans and add-ons.
- Find your Auth0 tier and how many MAU separate you from the next one.
- List SSO and Directory Sync connections you will run on 1 January 2027.
Cost arithmetic at volume
These are computed from the published unit prices, not measured. Each row prints its own formula, so you can replace our assumption with your traffic and redo it.
Decision matrix
Rows are the situation you are actually in. Pick the row before you read the pricing page again.
| If this is you | Take | Because |
|---|---|---|
| App below 50,000 MRU per app needing MFA, passkeys or branding removal | Clerk Pro | Pro includes these features for $25/month; Hobby excludes them. Without a paid-feature requirement, Hobby covers 50,000 MRU per app for $0. Users who never return after day one are never billed. |
| Side project that needs more than 3 social logins and costs nothing | Auth0 Free | Auth0 Free includes unlimited social connections up to 25,000 MAU, while Clerk Hobby stops at 3 social connections. |
| B2C usage beyond Clerk's 50,000 included MRU per app or Auth0's printed 50,000-MAU limit | Price Clerk Pro overage and request an Auth0 quote | Clerk Pro lists $0.02/month per MRU beyond 50,000 included per app, with volume discounts; Auth0's printed B2C tiers end at 50,000 MAU, so higher usage needs a quote. Clerk MRU counts later-day returns per app; Auth0 MAU counts non-internal users authenticated that month per tenant. |
| Team needing 10 dashboard seats, with 5,000 Clerk MRU and 200 qualifying MRO | Clerk Business + B2B Authentication Enhanced add-on | $300 + $100 + (200 − 100) × $1 = $500/month. Each MRO needs at least 2 members, including an MRU that month. Auth0 B2B Essentials is $1,300/month at 5,000 MAU, but Essentials and Professional allow only 10 organizations, so neither serves 200 organizations. MRU counts later-day returns per app; MAU counts non-internal users authenticated that month per tenant. |
| Existing user store you cannot migrate yet (bring your own database) | Auth0 Professional | Custom database connections and cross-app SSO are Professional-and-up features on Auth0. |
| B2C app requiring enterprise connections on a paid plan | Request Auth0 Enterprise pricing; avoid B2C Essentials and Professional | B2C Essentials and Professional list enterprise connections as unavailable, while Free includes 1; custom SSO tiers require Enterprise. |
| AI agent product that needs Token Vault and CIBA on Auth0 | Auth0, plus a 50% surcharge rounded up to the dollar | Auth0 for AI Agents adds 50% to the base price, rounded up to the dollar: B2B Essentials at 5,000 MAU costs $1,300 + ($1,300 × 50%) = $1,950/month. |
| Healthcare app that needs HIPAA with a BAA | Quote Clerk Enterprise | Clerk lists HIPAA with BAA only on its annual Enterprise plan. Request its custom annual quote; confirm Auth0's HIPAA and BAA eligibility separately before treating it as an alternative. |
Code and configuration
// Clerk bills a retained user, not a session: the first day is free.
const { totalCount } = await clerkClient.users.getUserList({ limit: 1 });
// Here it breaks: past 50,000 MRU on Pro each extra user is $0.02/month,
// and Hobby gives one grace month before requests stop being served.
if (totalCount > 50_000) console.warn(totalCount, "MRU — check the plan");
# Auth0 prices the tier, not the user: 501 MAU bills as 1,000.
TIERS = [(500, 35), (1_000, 70), (2_500, 175), (5_000, 350)]
def essentials(mau):
return next(p for cap, p in TIERS if mau <= cap)
print(essentials(501)) # 70, not 35
# Here it breaks: above 50,000 B2C MAU the printed sheet ends.
What you gain, what you give up
Clerk
- 50,000 MRU included on Pro, then $0.02 each — a user who never returns is never billed
- Unlimited applications on every plan, including Hobby
- Organisations and B2B authentication are in the same product, with 100 MRO included
- Full data exports on every plan, so leaving is a data move rather than a negotiation
- The bill hides in add-ons: SSO $75/mo each, Directory Sync $75/mo each from 1 January 2027
- Hobby stops at 50,000 MRU after a one-month grace period
- Protect checks meter at $0.002 after 10,000 free, so attack traffic is a billable event
- Business is a $300/mo step mostly for SOC 2, seats and 30-day logs
Auth0
- 25,000 MAU free, with 5 organisations, self-service SSO and SCIM included
- B2B Essentials is $150/month for 500 MAU with unlimited organisations
- Enterprise SSO connections included — 3 on Essentials, 5 on Professional — then $100/month each
- Professional adds custom database connections, cross-app SSO and 12 tenants
- Price is a step function: 501 B2C users bill at the 1,000 tier, $70 instead of $35
- The B2C Professional sheet ends at 20,000 MAU; past that it is a quote or not available
- Custom enterprise SSO on B2C requires Enterprise — not available on Essentials or Professional
- The AI Agents add-on adds 50% to whichever tier it is applied to
Migration path
Clerk to Auth0 means exporting users, recreating connections and mapping organisations onto a plan that includes 5 on Free and 10 on paid tiers — well short of 200 without a higher tier. Auth0 to Clerk changes the unit: MAU becomes MRU, so the population you migrate is not the population you are billed for, and users who never return after day one vanish from the invoice.
Common questions
Sources & verification
Prices and limits were read from these pages on 2026-11-10. Vendor marketing claims are quoted as claims. Anything derived is arithmetic on the numbers below.
Keep reading
Docker vs Podman
Headcount decides both bills: seats at Docker, retained users at Clerk.
Supabase vs Firebase
The same lesson in a database: the unit you are billed on is the architecture.