Authorization keys are the core primitive for control of Privy’s Wallet API. Authorization key signatures prove that requests are authorized directly by the permitted user. Self-custodial wallets are those owned directly by a user. Privy enables users to fully control their wallets by issuing time-bound authorization keys to users who authenticate via a verified JWT. Once users retrieve a time-bound authorization key, they can make requests with the key. This configuration results in cryptographically-enforced user custody of wallets.Documentation Index
Fetch the complete documentation index at: https://docs.privy.io/llms.txt
Use this file to discover all available pages before exploring further.
Authentication methods
Privy integrates directly with any OIDC or JWT-based authentication system and also offers dozens of login methods natively, including email, SMS, social login, passkeys, and more. If a user is logged in, they always have access to their wallet.Multi-factor authentication
Privy also enables multi-factor authentication for access to user authorization keys. Supported additional factors include:- Authenticator apps (TOTP)
- Biometric verification (passkeys)
- SMS confirmation
- Hardware security keys
Direct access via API
Directly managing user authorization keys via the API is an advanced setting. We recommend using
Privy’s SDKs, which internally manage user authorization keys.
- Your app makes a request to the Privy API using the authentication token from your JWT-based authentication system.
- The TEE issues a time-bound user authorization key in response.
- Use the authorization key to authorize requests to the Wallet API.


