Skip to main content
POST
/
v2
/
end-users
curl --request POST \
  --url https://api.cdp.coinbase.com/platform/v2/end-users \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Wallet-Auth: <x-wallet-auth>' \
  --data '
{
  "authenticationMethods": [
    {
      "type": "email",
      "email": "[email protected]"
    }
  ]
}
'
{
"userId": "user-001",
"authenticationMethods": [
{
"type": "email",
"email": "[email protected]"
}
],
"evmAccounts": [],
"evmSmartAccounts": [],
"solanaAccounts": [],
"createdAt": "2025-11-17T10:00:00Z"
}

Authorizations

Authorization
string
header
required

A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.

Headers

X-Wallet-Auth
string
required

A JWT signed using your Wallet Secret, encoded in base64. Refer to the Generate Wallet Token section of our Authentication docs for more details on how to generate your Wallet Token.

X-Idempotency-Key
string

An optional UUID v4 request header for making requests safely retryable. When included, duplicate requests with the same key will return identical responses. Refer to our Idempotency docs for more information on using idempotency keys.

Required string length: 36

Body

application/json
authenticationMethods
(EmailAuthentication · object | SmsAuthentication · object | DeveloperJWTAuthentication · object | OAuth2Authentication · object)[]
required

The list of valid authentication methods linked to the end user.

Information about how the end user is authenticated.

  • EmailAuthentication
  • SmsAuthentication
  • DeveloperJWTAuthentication
  • OAuth2Authentication
Example:
[
{
"type": "email",
"email": "[email protected]"
},
{
"type": "sms",
"phoneNumber": "+12055555555"
},
{
"type": "jwt",
"sub": "e051beeb-7163-4527-a5b6-35e301529ff2",
"kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg"
},
{
"type": "google",
"sub": "115346410074741490243",
"email": "[email protected]"
}
]
userId
string

A stable, unique identifier for the end user. The userId must be unique across all end users in the developer's CDP Project. It must be between 1 and 100 characters long and can only contain alphanumeric characters and hyphens.

If userId is not provided in the request, the server will generate a random UUID.

Example:

"e051beeb-7163-4527-a5b6-35e301529ff2"

evmAccount
object

Configuration for creating an EVM account for the end user.

solanaAccount
object

Configuration for creating a Solana account for the end user.

Response

Successfully created end user.

Information about the end user.

userId
string
required

A stable, unique identifier for the end user. The userId must be unique across all end users in the developer's CDP Project. It must be between 1 and 100 characters long and can only contain alphanumeric characters and hyphens.

Example:

"e051beeb-7163-4527-a5b6-35e301529ff2"

authenticationMethods
(EmailAuthentication · object | SmsAuthentication · object | DeveloperJWTAuthentication · object | OAuth2Authentication · object)[]
required

The list of valid authentication methods linked to the end user.

Information about how the end user is authenticated.

  • EmailAuthentication
  • SmsAuthentication
  • DeveloperJWTAuthentication
  • OAuth2Authentication
Example:
[
{
"type": "email",
"email": "[email protected]"
},
{
"type": "sms",
"phoneNumber": "+12055555555"
},
{
"type": "jwt",
"sub": "e051beeb-7163-4527-a5b6-35e301529ff2",
"kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg"
},
{
"type": "google",
"sub": "115346410074741490243",
"email": "[email protected]"
}
]
evmAccounts
string[]
required

The list of EVM accounts associated with the end user. Currently, only one EVM account is supported per end user.

The address of the EVM account associated with the end user.

Example:
[
"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
]
evmSmartAccounts
string[]
required

The list of EVM smart accounts associated with the end user. Currently, only one EVM smart account is supported per end user.

The address of the EVM smart account associated with the end user.

Example:
[
"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
]
solanaAccounts
string[]
required

The list of Solana accounts associated with the end user. Currently, only one Solana account is supported per end user.

The base58 encoded address of the Solana account associated with the end user.

Example:
[
"HpabPRRCFbBKSuJr5PdkVvQc85FyxyTWkFM2obBRSvHT"
]
createdAt
string<date-time>
required

The date and time when the end user was created, in ISO 8601 format.

Example:

"2025-01-15T10:30:00Z"