Per-App Accounts
A user's smart account address is derived from your app's account namespace. The same person signing up on two different 1auth apps gets two different accounts — separate addresses, separate balances, separate recovery setups.
This is deliberate. Accounts are isolated by the app that created them: your app only ever sees the accounts in its own namespace, and a passkey registered on another app cannot sign in to yours.
What "one account" means
Two claims are easy to confuse:
- One account across chains — true. A 1auth account has the same address on every supported EVM chain, one unified balance, and executes anywhere. That is chain abstraction.
- One account across apps — not true. Each app gets its own account for the same user.
What this means for your integration
- Account management lives in your app. Integrations provide their own account-management UI. There is no central 1auth dashboard listing a user's accounts across apps — the architecture has no single account to show.
- Recovery is per app. Guardians a user sets up in your app recover your app's account only. See Lost Passkey Recovery.
- Funding is per app. Deposits go to the address your app reports; funds in an account created by another app are not reachable from yours.
- Users authenticate per app. Signing in to one 1auth app does not sign a user in to another, and each app's sign-up registers its own passkey.
Your namespace is part of your configuration
The namespace is https://<rpId> — the RP ID hostname, with the port excluded. Anything
that changes the namespace changes your users' addresses:
https://app.example.com vs https://beta.example.com | different accounts |
https://example.com vs https://www.example.com | different accounts |
http://localhost:3000 vs http://localhost:3001 | same account |
So staging and production hold separate accounts, which is usually what you want. And moving your app to a new domain moves your users to new, empty accounts — treat the production hostname as fixed once you have users, and talk to us before changing it.
Native apps
A native app is its own namespace by default and does not see your web app's accounts. Sharing is supported but explicit: we register your native app's identifier against the web origin whose accounts it may use, so native and web resolve to the same accounts. Contact us to set this up.