Skip to main content
Pre-generated wallets allow you to create embedded wallets for users before they authenticate. This is useful for scenarios where you want to prepare wallets in advance or create wallets for users who haven’t logged in yet.

When to use pre-generated wallets

Use pre-generated wallets when you need to:
  • Create wallets for users before they sign up or log in
  • Prepare wallets in advance for a batch of users
  • Set up wallets for users identified by email, phone, or other identifiers
  • Create wallets programmatically from your backend

Prerequisites

Before creating pre-generated wallets, you need:
  1. Your environment ID from the Dynamic dashboard URL
  2. A Dynamic API key:
    • Go to Developers > SDK and API Key
    • Create a new API key with appropriate permissions

Creating a pre-generated wallet

To create a pre-generated wallet, make a POST request to the Dynamic API:
curl -X POST "https://app.dynamic.xyz/api/v0/environments/{environmentId}/waas/create" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "identifier": "user@example.com",
    "type": "email",
    "chains": ["EVM"]
  }'

Request parameters

ParameterTypeRequiredDescription
environmentIdstringYesYour Dynamic environment ID (found in the dashboard URL)
identifierstringYesThe user identifier (email, phone, etc.)
typestringYesThe type of identifier. See social providers or identifier types.
chainsarrayYesArray of blockchain chains to create wallets for. See WaasChainEnum.

Response

The API returns the created wallet information including:
  • Wallet address
  • Chain details
  • Wallet ID
  • Creation timestamp

How users claim pre-generated wallets

When a user authenticates with the same identifier (email, phone, etc.) used to pre-generate the wallet, the wallet is automatically associated with their account. No additional steps are required from the user.

API reference

For complete API details, see the Create WaaS Wallet API endpoint.