Skip to main content
For each organization, create Privy users to represent the individuals within that organization. The user IDs for these users can then be assigned specific roles and permissions over the organization’s wallet(s). Privy’s infrastructure ensures that only authenticated users are able to take access from wallets within their defined scope.

Using your own authentication system

Privy seamlessly integrates with any OIDC-compatible, JWT-based authentication system (including Auth0, Firebase, AWS Cognito, etc.). To allow users to access organization wallets via your own authentication system, first configure your authentication provider’s settings in the Privy Dashboard. Next, for each user, set the user’s linked_accounts to an array with a single entry containing:
  • type: 'custom_auth'
  • custom_user_id: string, which should be the unique ID for the user in your authentication system

Using Privy’s authentication system

Alternatively, if your application does not have an existing authentication system or you would prefer to use Privy’s authentication service, simply create users with a linked_accounts array containing all of the accounts (e.g. email, SMS, socials) that they should be able to authenticate with. View the API reference for creating users to inspect the full types of linked accounts.