---
name: cdp-end-users
description: Creates end-user embedded wallets with email authentication and adds EVM, Solana, or smart account sub-accounts to them.
---

# cdp-end-users

End-user CRUD and sub-account management.

## Create end user

```
cdp end-users create \
  'authenticationMethods:=[{"type":"email","email":"<email>"}]' userId=<userId>
```
If `already_exists` → email in use, try different email.

Verify: `cdp end-users get <userId>`

## Add sub-accounts

### EVM

```
cdp end-users evm <userId> 'createSmartAccount:=false'
```
Response: `.evmAccount.address`

### Solana

```
cdp end-users solana <userId>
```
Response: `.solanaAccount.address`

### Smart account

```
cdp end-users evm-smart-account <userId> 'enableSpendPermissions:=false'
```
Response: `.evmSmartAccount.address`

## Import key for end user

```
ENCRYPTED=$(cdp util encrypt-key <privateKey>)
cdp end-users import encryptedPrivateKey=$ENCRYPTED ...
```

## List end users

```
cdp end-users list
```

## Notes

- End-user accounts are in a separate namespace — `cdp evm accounts sign <endUserAddr>` returns 404.
- End-user signing requires the CDP SDK, not the CLI.
- `userId` must be unique within your project.
