The Registration Flow
The complete sign-up process moves through five stages from the moment the user taps your sign-up button to the moment your application receives a session.1
User Initiates Sign-Up
The user clicks your sign-up or “Get Started” button. Your application calls That’s the only line of code your application needs. Everything else happens inside the SDK and SocketFi’s backend.
socketfi.authenticate(). SocketFi detects that no existing account is associated with the current device and begins the registration flow rather than the sign-in flow.2
Passkey Created
SocketFi generates a cryptographic registration challenge and passes it to the browser’s WebAuthn API. The user’s authenticator (Face ID, Touch ID, Windows Hello, etc.) prompts the user for biometric or PIN confirmation, then generates a new public-private key pair.The private key is stored inside secure hardware and never transmitted. The public key and a signed registration response are returned to SocketFi for verification.
3
Credential Verified
SocketFi validates the registration response:
- The challenge matches the one issued for this request
- The attestation signature is cryptographically valid
- The credential ID is unique and not already registered
- The registration metadata passes integrity checks
4
Wallet Deployed
With a verified credential in hand, SocketFi automatically deploys a smart wallet for the new user. This step is completely invisible to the user — no gas fee prompt, no wallet address to copy, no network selection.The newly deployed wallet can immediately receive assets, interact with contracts, and authorize transactions. The passkey credential is stored as the wallet’s primary authorized signer.
5
Session Created
SocketFi issues a signed session and returns it to your application. The user is now authenticated and their wallet is immediately accessible.
The Authentication Response
After a successful sign-up,socketfi.authenticate() resolves with a Session object:
socketfiAccessToken and attach it to every request you make to your backend. Verify it server-side before granting access to any protected resource.
What the User Experiences
From the user’s perspective, the entire flow takes a few seconds:- A password field or confirmation box
- A seed phrase or recovery key to copy down
- A wallet address to save
- A network or chain selection screen
- A gas fee or transaction confirmation
Wallet Ownership
The wallet created during sign-up belongs entirely to the user. SocketFi deploys and indexes it, but does not hold custody:- SocketFi does not own the wallet
- SocketFi does not hold the user’s private keys
- SocketFi does not control the assets inside the wallet
Error Handling
Not every sign-up attempt completes successfully. Handle these scenarios gracefully in your application:Wallet deployment is idempotent. If a deployment fails partway through, retrying
socketfi.authenticate() will not create a duplicate wallet.