Radon
Self-hosted auth for Node. Any database, any email provider, 50 OAuth providers. No per-MAU pricing, no lock-in.

- Launched
- Clicks
- 28
- Categories
- Developer tools,Productivity,Open source
- Runs on
- API, Self-hosted, Web
- Pricing
- Free plan, paid upgrade
About Radon
Self-hosted auth for Node. Any database, any email provider, 50 OAuth providers. No per-MAU pricing, no lock-in.
Pro 50 OAuth providers, passkeys & 2FA Auth you'll never have to migrate away from.
The open-source authentication engine for Node. Any database, any email provider, wired into your framework in a few lines — no hosted service, no per-MAU pricing, no lock-in.
session : { secret : process . env . RADON_SECRET ! } ,
GitHub Google Discord Spotify Twitch GitLab Notion Figma Apple X Dropbox Zoom Reddit Facebook Patreon Coinbase Shopify Auth0 Okta Microsoft Slack LinkedIn
No dashboards to configure, no webhooks to wire. Install, mount, done — it's just code you own.
One package, one config object. Hand Radon your database adapter and an email sender — that's the whole setup.
import { Radon } from "@radonsdk/auth" ; import { postgresAdapter } from "@radonsdk/auth/adapters/postgres" ; export const auth = new Radon ({ adapter: postgresAdapter (pool), session: { secret: process.env.AUTH_SECRET }, });
A single catch-all route wires every auth flow — codes, OAuth callbacks, sign-out. No hand-rolled routing.
// app/api/auth/[...radon]/route.ts import { auth } from "@/lib/auth" ; import { toNextHandler } from "@radonsdk/auth/next" ; export const { GET, POST } = toNextHandler (auth);
Call one method. Radon handles hashing, sessions, and cookies — you get back a signed-in user.
const res = await auth. verifyCode (email, code); if (res.ok) { // session cookie is set auto
Who Radon is for
Developer , Founders , Vibecoders
Written up on SpacerrApps
Apps like Radon
99helpers9 clicks
Drop in a document, an image, a page or a whole static website and get a link you can send to anyone. Free, and live at your-name. 99helpers.site in less than 10 seconds.
Developer tools, Productivity, Design
GlideCN9 clicks
GlideCN is an open-source React & Next.js library with 68+ premium page transitions. Enjoy one-command setup, an interactive playground, and Framer Motion for cinematic changes without animation boilerplate.
Developer tools, Design, Open source
MockBase3 clicks
A real HTTPS endpoint that answers how you tell it to: conditional responses, stateful CRUD, deliberate failures, and every request visible live.
Developer tools, Utilities, Productivity
Screen Beaver3 clicks
Windows screen recorder for polished product demos, auto zoom, smooth cursor, local MP4. Screen Studio alternative with optional MCP.
Content creation, Open source, Productivity
Belay24 clicks
Belay watches your local coding sessions, finds mistakes that keep repeating, and turns approved lessons into guidance your agent can use next time. Local, free, and private.
Developer tools, Open source, AI
7 comments
Ines Moreau
Can Radon support a custom OAuth provider if it is not one of the 50 built in providers?
Fawas SakaMaker
Not yet , Ines But if you are requesting That will be added soon to the paid version of Radonsdk
Fawas SakaMaker
Radon can now support custon OAuth providers
Caleb Doyle
How do passkeys and 2FA work with Radon, and can you require them for specific users or roles?
Fawas SakaMaker
Passkeys (WebAuthn) and 2FA (TOTP) are both part of Radon Pro, passkeys handle registration/authentication ceremonies server-side, with a small client-side piece for the browser's WebAuthn API (that part can't be avoided, it's a browser requirement, not a Radon limitation). 2FA layers on top of any primary auth method as an optional add-on.
On requiring them per-user/role: that logic lives in your own app, not Radon, Radon gives you the primitives (enable 2FA for a user, verify a passkey), and you decide in your own code who's required to use them (e.g. checking a role field before allowing a session without 2FA confirmed). Radon doesn't have its own opinion on roles/permissions beyond a basic hook for it, by design, keeps it flexible for whatever your app's actual access model looks like.
Felix Brandt
How does Radon handle session revocation across multiple devices, and can you set sessions to expire after a custom period?
Fawas SakaMaker
Radon Pro tracks active sessions per user with device/timestamp metadata, so you can list them and revoke individually or all-at-once ("logout everywhere"). Refresh tokens rotate on use, and expiry is fully configurable, set your own window on the session config, no hardcoded default you're stuck with.