# Free Clerk Alternative in Next.js: Own Your Auth

> Clerk is free up to 50,000 retained users. Past that, every user is billed. Build Google sign-in and magic links on your own database instead.

Source: https://boringpush.com/blog/clerk-alternative-nextjs-auth

Clerk is popular for a good reason. Its sign-in screens look great and take ten minutes to set up.

Its free plan is generous today. As of 22 October 2026, [clerk.com/pricing](https://clerk.com/pricing) shows this:

| Plan | Price | Users included | After that |
|---|---|---|---|
| Hobby | $0 | 50,000 retained users per app | Upgrade required |
| Pro | $20/mo billed yearly ($25 monthly) | 50,000 retained users per app | $0.02 per user for 50,001 to 100,000, then volume discounts |
| Your own auth | $0 | Unlimited | $0 |

A retained user comes back at least 24 hours after signing up. A launch spike of one-time visitors mostly does not count.

The bill shows up when you win. At 100,000 retained users on Pro, the math is $20 plus 50,000 × $0.02. About **$1,020 a month**, for sign-in alone.

The other cost is not money.

Your users live in someone else's database. Leave, and you export your own customers and ask every one of them to sign in again.

## What to do

Keep your customers in your own database.

Use Google sign-in for people who want one click. Use email links for everyone else.

No passwords stored. No reset flows to build. No hashing anywhere.

Keep sessions as signed tokens, so the hot path needs no database lookup. And keep the paid-access check downstream of both doors.

That is a short list. You can build it. Most people should not.

## When owning auth wins

Three situations.

**A consumer product that could outgrow the free tier.** The per-user bill grows with your success.

**A product where the customer and the purchase belong together.** "Who paid and who signed up" becomes a single query.

**Leaving.** If you ever switch tools, your users are already in your own table. Nobody exports a file. Nobody signs in again.

## What you give up

Clerk is more than a login box. Name what is missing.

No prebuilt organization or team accounts. No multi-factor sign-in. No hosted user dashboard with impersonation.

BoringPush has its own admin views for products, orders and access. That is not the same thing.

You also look after your own sign-in security. Keep your Google and email keys private. Keep the kit updated.

## Setting it up

Add your Google keys and an email-sending key to your production settings. Pick a database.

Start the app. Sign-in, the user record and the paid-access check come with the kit.

You do not write adapters. You do not write session plumbing.

## Test it without real accounts

On your own machine, a development-only login signs you in as a free user or a paying user. One click.

No Google round trip. No inbox.

It does not exist in production builds.

## The decision under the price

Most solo products choose auth on price today.

The better question is where the customer relationship lives.

Keep it in your own database and you keep the option to change everything else.

## Before you launch

Sign in once with a real Google account on your live domain. Then sign in with an email link.

Both prove the whole chain: the provider, the redirect address and the database.

Then open your admin views and confirm the new user is there. Five minutes, and you know it works.

## Know this first

BoringPush has no organizations, no multi-factor sign-in and no hosted user dashboard. You look after your own sign-in security.

If you need teams or enterprise sign-on on day one, Clerk saves real time.

## Why BoringPush is the way to do this

Your customers belong in your database.

BoringPush gives you Google sign-in and email links, already wired. Users are rows you can query, export and back up.

Magic links last 24 hours and work once. On your laptop, a development-only login lets you test free and paid users with no keys.

No per-user fee, at any size. You keep the relationship.

## FAQ

### Is Clerk really free?

Within limits. As of 22 October 2026, the Hobby plan is free for up to 50,000 retained users per app, and Pro starts at $20 a month billed yearly ($25 monthly). Check the pricing page again before you decide, because plans change.

### Does owning auth mean more security work?

Some. You keep your keys private, keep the kit updated, and decide your own policies. In return you remove a vendor from the path your users take to sign in, and you remove a bill that grows with your audience.

### Can I add teams or multi-factor sign-in later?

BoringPush does not ship them today. You can build them on top of your own user table, but that is work you take on. If you need them early, weigh that cost against Clerk's price.

### How do I test paid features without a real account?

In development, a built-in login signs you in as a free user or a paying user with one click. The paying user lets you test the paywall offline. In production builds that login is not available.

### What happens to my users if I leave BoringPush?

They are in your own database, in plain rows. Export them, move them, or keep running the same database somewhere else.

## Keep reading

- [Auth Without the 2 a.m. Pages: Google + Magic Links](/blog/auth-without-headaches) — the founding sketch behind this setup
- [requirePaidUser(): One Boolean, Zero Paywall Holes](/blog/requirepaiduser-paywall-one-boolean) — how paid access is checked
- [One Codebase, Three Databases: SQLite, Supabase, MongoDB](/blog/one-codebase-three-databases-sqlite-supabase-mongodb) — the database choice behind your users
