README
Auth that lives inside your app. Composable, plugin-based, and built to scale — powering from weekend projects to the biggest consumer and enterprise apps on the planet.
npx auth initTrusted By
OpenAI
databricks
strapi
OpenAI
databricks
strapi
Features
01
Works with your stack.
Next.js, Nuxt, SvelteKit, Astro, Hono, and 20+ more.
+14
02
Built-in credential auth.
Sessions, email verification, and password reset included.
user@email.com
••••••••
03
Social sign-on.
Google, GitHub, Apple, Discord, and more.
Sign in with Google
+34
04
Multi-tenancy built in.
Teams, roles, invitations, and access control.
A
B
C
+
owneradminmember
05
Enterprise ready.
SSO, SAML 2.0, SCIM, and directory sync.
+
06
50+ and growing.
Passkeys, magic links, API keys, JWTs, and more.
passkeys2famagic-linkjwtapi-keysanonymousoidcotpbearermulti-session
07
Auth for AI agents.
MCP auth, token exchange, and agent delegation.
$agent.auth()→sk-••••✓
08
Security & observability.
Bot detection, IP blocking, and email validation.
blocked
challenged
allowed
09
User management.
Manage users, sessions, and organizations.
10:50 AMJohncreated a session
10:48 AMSarahupdated profile
10:45 AMAlexjoined organization
10:42 AMEmmarevoked token
10:38 AMMikeenabled 2FA
10:50 AMJohncreated a session
10:48 AMSarahupdated profile
10:45 AMAlexjoined organization
10:42 AMEmmarevoked token
10:38 AMMikeenabled 2FA
Framework
The most comprehensive authentication framework for TypeScript.
auth.ts
import { betterAuth } from "better-auth"export const auth = betterAuth({ emailAndPassword: { enabled: true, }, socialProviders: { google: { clientId: process.env.GOOGLE_CLIENT_ID!, clientSecret: process.env.GOOGLE_CLIENT_SECRET!, }, github: { clientId: process.env.GITHUB_CLIENT_ID!, clientSecret: process.env.GITHUB_CLIENT_SECRET!, }, }, plugins: [ twoFactor(), passkey(), organization(), ],})No dashboard clicks. Your auth lives in code — version controlled, type-safe, and reviewable in PRs.
Plugin Ecosystembrowse all →
Two FactorAuthenticationPasskeyAuthenticationMagic LinkAuthenticationEmail OTPAuthenticationUsernameAuthenticationOne TapAuthenticationPhone NumberAuthenticationAnonymousAuthenticationBearerAuthenticationGeneric OAuthAuthenticationOne Time TokenAuthenticationSIWEAuthenticationOrganizationOrganizationAdminOrganizationMulti SessionOrganizationAPI KeyOrganizationSSOEnterpriseTwo FactorAuthenticationPasskeyAuthenticationMagic LinkAuthenticationEmail OTPAuthenticationUsernameAuthenticationOne TapAuthenticationPhone NumberAuthenticationAnonymousAuthenticationBearerAuthenticationGeneric OAuthAuthenticationOne Time TokenAuthenticationSIWEAuthenticationOrganizationOrganizationAdminOrganizationMulti SessionOrganizationAPI KeyOrganizationSSOEnterprise
OIDC ProviderEnterpriseSCIMEnterpriseOAuth ProxyEnterpriseJWTSecurityHIBPSecurityCaptchaSecurityStripeIntegrationPolarIntegrationOpen APIIntegrationDubIntegrationAutumnIntegrationDodo PaymentsIntegrationCreemIntegrationMCPAIDevice AuthAuthenticationLast LoginAuthenticationOIDC ProviderEnterpriseSCIMEnterpriseOAuth ProxyEnterpriseJWTSecurityHIBPSecurityCaptchaSecurityStripeIntegrationPolarIntegrationOpen APIIntegrationDubIntegrationAutumnIntegrationDodo PaymentsIntegrationCreemIntegrationMCPAIDevice AuthAuthenticationLast LoginAuthentication
Infrastructure
Connect to our infrastructure and power your self-hosted Better Auth with a dashboard, audit logs, security detection, enterprise features, and more.
dash.better-auth.com
OverviewUsersOrgsEvents
Dashboard
- +User management
- +Session monitoring
- +Organization oversight
- +User analytics
Audit Logs
- +Auto-captured events
- +Filter & search
- +Configurable retention
- +Log drain to SIEM
Enterprise
- +Self-service SSO
- +SCIM provisioning
- +Directory sync
- +RBAC
Sentinel
Real-time threat detection before it reaches your users.
Bot DetectionBrute ForceBreached PasswordsImpossible TravelRate LimitingGeo BlockingSuspicious IPsDisposable EmailsEmail AbuseFree Trial Abuse
Explore plansDashboard, audit logs, security detection, transactional comms, and more.
View PlansContributors
Built by a community of 827+ contributors.
Bekacru
himself65
Kinfe123
ping-maxwell
bytaesu
jslno
Paola3stefania
jonathansamines
GautamBytes
frectonz
dvanmali
BlankParticle
DePasqualeOrg
hyoban
okisdev
reslear
dagmawibabi
luksch42
RobiMez
erquhart
ShobhitPatra
t3duk
CrutchTheClutch
kzlar
LovelessCodes
Netrifier
ShahriarKh
Bekacru
himself65
Kinfe123
ping-maxwell
bytaesu
jslno
Paola3stefania
jonathansamines
GautamBytes
frectonz
dvanmali
BlankParticle
DePasqualeOrg
hyoban
okisdev
reslear
dagmawibabi
luksch42
RobiMez
erquhart
ShobhitPatra
t3duk
CrutchTheClutch
kzlar
LovelessCodes
Netrifier
ShahriarKh
tinkerer-shubh
hussein-raji-mappa
GregorWedlich
oskar-gmerek
sajadmh
typed-sigterm
Wufler
ahmed-abdat
arlyon
ephraimduncan
fuma-nama
grant0417
MuzzaiyyanHussain
iqorex
jstri
mezotv
max-programming
kevcube
DevDuki
AntonVishal
TheUntraceable
rbayliss
rinarakaki
0xPratikPatil
aleclarson
alisamadiii
Konixy
tinkerer-shubh
hussein-raji-mappa
GregorWedlich
oskar-gmerek
sajadmh
typed-sigterm
Wufler
ahmed-abdat
arlyon
ephraimduncan
fuma-nama
grant0417
MuzzaiyyanHussain
iqorex
jstri
mezotv
max-programming
kevcube
DevDuki
AntonVishal
TheUntraceable
rbayliss
rinarakaki
0xPratikPatil
aleclarson
alisamadiii
Konixy
acusti
canstand
paoloricciuti
nevthereal
matserix
MBLVD
nktnet1
moshetanzer
nelsonprsousa
NoHaxito
ngregrichardson
bortoz
paaauldev
Pukimaa
QuintenStr
Ridhim-RR
SaviruFr
yultyyev
atinux
ThallesP
ceolinwill
gwoodbridge
limichange
rovertrack
runreal-warman
ahmed-m-abbass
braden-w
acusti
canstand
paoloricciuti
nevthereal
matserix
MBLVD
nktnet1
moshetanzer
nelsonprsousa
NoHaxito
ngregrichardson
bortoz
paaauldev
Pukimaa
QuintenStr
Ridhim-RR
SaviruFr
yultyyev
atinux
ThallesP
ceolinwill
gwoodbridge
limichange
rovertrack
runreal-warman
ahmed-m-abbass
braden-w
coopbri
D3visionNL
DIYgod
Daniel-dev-s
anmol-fzr
Kaseax
gregtjack
wh5938316
aaronlin0122
mmikhan
marcellosso
krishna-santosh
alexander-cato
Hysterelius
jakst
juliusmarminge
jonathanwilke
jasongerbes
msanchezdev
Phanuwat-Pao
darklight9811
theonlypal
rmarscher
rclmenezes
ismi-abbas
rodrigosdev
rgodha24
coopbri
D3visionNL
DIYgod
Daniel-dev-s
anmol-fzr
Kaseax
gregtjack
wh5938316
aaronlin0122
mmikhan
marcellosso
krishna-santosh
alexander-cato
Hysterelius
jakst
juliusmarminge
jonathanwilke
jasongerbes
msanchezdev
Phanuwat-Pao
darklight9811
theonlypal
rmarscher
rclmenezes
ismi-abbas
rodrigosdev
rgodha24
gameroman
RoodyCode
aryasaatvik
max-om
SaltyAom
salvinoto
cosmosgenius
Shridhad
matt-potter
matteobad
MatteoUrso
matthiasfeist
Siumauricio
mburumaxwell
meetgoti07
mohebifar
roisuladib
Muhammed-Rahif
namuorg
natetewelde
nicoaudy
NefixEstrada
0scrm
yukikwi
PacifismPostMortem
snelusha
charlietlamb
gameroman
RoodyCode
aryasaatvik
max-om
SaltyAom
salvinoto
cosmosgenius
Shridhad
matt-potter
matteobad
MatteoUrso
matthiasfeist
Siumauricio
mburumaxwell
meetgoti07
mohebifar
roisuladib
Muhammed-Rahif
namuorg
natetewelde
nicoaudy
NefixEstrada
0scrm
yukikwi
PacifismPostMortem
snelusha
charlietlamb
rhitune2
enchart
ncor
hieudien14310
jycouet
kira-1011
koohz
nbifrye
ocavue
Rohan-Nair
CodeWithAlexander
julen
AmagiDDmxh
masterjanic
productdevbook
stephenlacy
gee1k
taivo
ThibautCuchet
jowsey
dtslvr
tklein1801
TinsFox
tobimori
0xCodeMaieutics
vagxrth
Victorbriez
rhitune2
enchart
ncor
hieudien14310
jycouet
kira-1011
koohz
nbifrye
ocavue
Rohan-Nair
CodeWithAlexander
julen
AmagiDDmxh
masterjanic
productdevbook
stephenlacy
gee1k
taivo
ThibautCuchet
jowsey
dtslvr
tklein1801
TinsFox
tobimori
0xCodeMaieutics
vagxrth
Victorbriez
wadefletch
sukvvon
yakupensarsayin
xiaoyu2er
zackify
atharvadeosthale
BadPirate
beermonsterdota
benkingcode
bennettdams
Boby900
svaraborut
ftzi
Chris-Kode
NotCryze
djm158
daniel-bogale
danielfinke
dbworku
dkendrick
DewinU
dmmulroy
body20002
TheGenio
abdrhxyii
Aditya-ingole21
Adityakk9031
wadefletch
sukvvon
yakupensarsayin
xiaoyu2er
zackify
atharvadeosthale
BadPirate
beermonsterdota
benkingcode
bennettdams
Boby900
svaraborut
ftzi
Chris-Kode
NotCryze
djm158
daniel-bogale
danielfinke
dbworku
dkendrick
DewinU
dmmulroy
body20002
TheGenio
abdrhxyii
Aditya-ingole21
Adityakk9031
albertpurnama
AlexProgrammerDE
alexasomba
DiiiaZoTe
alvarofc
AmineYagoub
ammarmbe
andybons
abegehr
theAnuragMishra
ardasoyturk
kanarian
Dyrean
JE4GLE
tehnrd
JeffreyLind3
notmean11
johnyeocx
Jo9871
phanect
KaanMol
Diabl0570
theinfinit
kylekz
levigunz
ludoblues
LightTab2
albertpurnama
AlexProgrammerDE
alexasomba
DiiiaZoTe
alvarofc
AmineYagoub
ammarmbe
andybons
abegehr
theAnuragMishra
ardasoyturk
kanarian
Dyrean
JE4GLE
tehnrd
JeffreyLind3
notmean11
johnyeocx
Jo9871
phanect
KaanMol
Diabl0570
theinfinit
kylekz
levigunz
ludoblues
LightTab2
Maqed
Stadly
lewsmith
Ehesp
ejjsharpe
diogoribeirodev
emilwidlund
eni4sure
asterikx
Badbird5907
Eazash
ibxbit
omnision0
gabrielmar
sudoFerraz
GivenBY
hendrik-krebs
ismailsabet
jcqvisser
mrl5
hosenur
clicktodev
HenriqueBragaMoreira
udnes99
harrybuisman
hcampbell98
hansfpc
Maqed
Stadly
lewsmith
Ehesp
ejjsharpe
diogoribeirodev
emilwidlund
eni4sure
asterikx
Badbird5907
Eazash
ibxbit
omnision0
gabrielmar
sudoFerraz
GivenBY
hendrik-krebs
ismailsabet
jcqvisser
mrl5
hosenur
clicktodev
HenriqueBragaMoreira
udnes99
harrybuisman
hcampbell98
hansfpc
gustavovalverde
guilhermejansen
ouwargui
imgta
borgoat
georgegebbett
HoshangDEV
ianmartorell
ic4l4s9c
Igonato
bnzone
XiNiHa
icalvin102
nascode
isaacriehm
ismael-iskauskas
meisolated
jabedzaman
btx-systems
jparw3
yacobmole
Joshua-Chu
anatrajkovska
ebalo55
edisim
coyotte508
elldritch
gustavovalverde
guilhermejansen
ouwargui
imgta
borgoat
georgegebbett
HoshangDEV
ianmartorell
ic4l4s9c
Igonato
bnzone
XiNiHa
icalvin102
nascode
isaacriehm
ismael-iskauskas
meisolated
jabedzaman
btx-systems
jparw3
yacobmole
Joshua-Chu
anatrajkovska
ebalo55
edisim
coyotte508
elldritch
Elliot-Alexander
elliottminns
ryzxxn
emroot
spoon16
ericc-ch
Eiley2
ErikPetersenDev
EthanShoeDev
EugeneDraitsev
iamEvanYT
fabianmerino
DevanAbinaya
fathisiddiqi
felipemotarocha
felipeva
lumpinif
redoh
TheYoxy
Livog
dalist1
TheGB0077
Gaga86
gaganref
yeoffrey
joshuanianji
modejota
Elliot-Alexander
elliottminns
ryzxxn
emroot
spoon16
ericc-ch
Eiley2
ErikPetersenDev
EthanShoeDev
EugeneDraitsev
iamEvanYT
fabianmerino
DevanAbinaya
fathisiddiqi
felipemotarocha
felipeva
lumpinif
redoh
TheYoxy
Livog
dalist1
TheGB0077
Gaga86
gaganref
yeoffrey
joshuanianji
modejota
tan911
juliesaia
jmontoyaa
jl33-ai
chitalian
kaandok
kamilkisiela
karuppusamy-d
keeandev
kerodkibatu
xKesvaL
KGALLET
kirill-dev-pro
outluch
iRoachie
Scooter1337
AkeboshiHimari
lakbychance
Lqm1
landoncolburn
Laurin-Notemann
linyiru
legions-developer
leolorenzoluis
leon-wbr
Lionvsx
focux
tan911
juliesaia
jmontoyaa
jl33-ai
chitalian
kaandok
kamilkisiela
karuppusamy-d
keeandev
kerodkibatu
xKesvaL
KGALLET
kirill-dev-pro
outluch
iRoachie
Scooter1337
AkeboshiHimari
lakbychance
Lqm1
landoncolburn
Laurin-Notemann
linyiru
legions-developer
leolorenzoluis
leon-wbr
Lionvsx
focux
jacoborus
jafri
JagritGumber
bairdj
jamesone
jcajuab
janhesters
Fyrlex
jasongitmail
JNLei
Manokii
CaraTortu
jaynguyens
SkyZonDev
JedPattersonn
okxiaoliang4
Trifall
jiashengguo
DimplesY
0xJJW
hjoelh
latinrev
jramosg
jonas-s-s-s
SNRSE
luxaritas
jonaspm
jacoborus
jafri
JagritGumber
bairdj
jamesone
jcajuab
janhesters
Fyrlex
jasongitmail
JNLei
Manokii
CaraTortu
jaynguyens
SkyZonDev
JedPattersonn
okxiaoliang4
Trifall
jiashengguo
DimplesY
0xJJW
hjoelh
latinrev
jramosg
jonas-s-s-s
SNRSE
luxaritas
jonaspm
joseavr
Zollerboy1
jpsullivan
cucumber-sp
dngpng
hongkongkiwi
an1ndra
ansonkao
77zv
arithefirst
armannaj
arslan2012
fax1ty
kulterryan
aryanprince
Azzerty23
ay-rod
aagarwal1012
azaek
azizbecha
BSIT-Evanism
bbabou
9j
balbuzar
baptisteArno
BayBreezy
NuroDev
joseavr
Zollerboy1
jpsullivan
cucumber-sp
dngpng
hongkongkiwi
an1ndra
ansonkao
77zv
arithefirst
armannaj
arslan2012
fax1ty
kulterryan
aryanprince
Azzerty23
ay-rod
aagarwal1012
azaek
azizbecha
BSIT-Evanism
bbabou
9j
balbuzar
baptisteArno
BayBreezy
NuroDev
ben-agnew
benhovinga
benmccann
benNek
benbehringer
danielepintore
aajeeth-m
aarync
Abemelekermi
Proxyy587
incogiscool
adarshmadrecha
adriandlam
sovetski
ahmadaccino
ahmedriad1
aidankmcalister
ajanraj
ajaykarthikr
000alen
alessandrojean
almadoro
Ramiras123
alexaraiza
bookercodes
javawizard
xlanex6
ben-agnew
benhovinga
benmccann
benNek
benbehringer
danielepintore
aajeeth-m
aarync
Abemelekermi
Proxyy587
incogiscool
adarshmadrecha
adriandlam
sovetski
ahmadaccino
ahmedriad1
aidankmcalister
ajanraj
ajaykarthikr
000alen
alessandrojean
almadoro
Ramiras123
alexaraiza
bookercodes
javawizard
xlanex6
awwong1
astahmer
villaa19
alfanjauhari
alhassanalbadri
alliefitter
that-ambuj
ammarrik
chrille0313
jippi
corydeppen
kristiandrex
Cyanhall
CesarRodrigu
Daanish2003
dandamian
radiantwave
danimarin24
dpuscher
danielroe
dani-z
work-in-progress-danny
hartbit
davemooreuws
DavidMarioLC
DawitMengistu
decker-dev
awwong1
astahmer
villaa19
alfanjauhari
alhassanalbadri
alliefitter
that-ambuj
ammarrik
chrille0313
jippi
corydeppen
kristiandrex
Cyanhall
CesarRodrigu
Daanish2003
dandamian
radiantwave
danimarin24
dpuscher
danielroe
dani-z
work-in-progress-danny
hartbit
davemooreuws
DavidMarioLC
DawitMengistu
decker-dev
3ddelano
DDeenis
maddhruv
diegopluna
DilbertRV
shadowoff09
krasun
NeoPrint3D
Ducktatorrr
dustin-we
eaoliver
Benjamin-Lee
Berndwl
billdotdev
BjoernRave
boazpoolman
bdkopen
wilsonianb
delfortrie
BrennenRocks
LightInn
bunducdragos
gustavocadev
mwufi
CalLavicka
cnbrown04
CaoMeiYouRen
3ddelano
DDeenis
maddhruv
diegopluna
DilbertRV
shadowoff09
krasun
NeoPrint3D
Ducktatorrr
dustin-we
eaoliver
Benjamin-Lee
Berndwl
billdotdev
BjoernRave
boazpoolman
bdkopen
wilsonianb
delfortrie
BrennenRocks
LightInn
bunducdragos
gustavocadev
mwufi
CalLavicka
cnbrown04
CaoMeiYouRen