End User Account Management

Validate end user access token

Changed on

Validates the end user's access token and returns the end user's information. Returns an error if the access token is invalid or expired.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

post/v2/end-users/auth/validate-token

Request

  • Base URL: https://api.cdp.coinbase.com/platform
  • URL: https://api.cdp.coinbase.com/platform/v2/end-users/auth/validate-token
  • Auth: HTTP bearer

Request body

accessTokenstring required

The access token in JWT format to verify.

Example request

{
  "accessToken": "eyJhbGciOiJFUzI1NiIsImtpZCI6IjA1ZGNmYTU1LWY1NzktNDg5YS1iNThhLTFlMDI5Nzk0N2VlNiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJjZHAtYXBpIiwiYXV0aF90eXBlIjoiZW1haWwiLCJleHAiOjE3NTM5ODAyOTksImlhdCI6MTc1Mzk3ODQ5OSwiaXNzIjoiY2RwLWFwaSIsImp0aSI6IjA3ZWY5M2JlLTYzMDQtNGQ1YS05NmE3LWJlMGI5MWI0ZTE3NCIsInByb2plY3RfaWQiOiJjNzRkOGI4OC0wOTNiLTQyZDItOGE4Yy1kZGM1YzVlMGViNDMiLCJzdWIiOiJjYTM4YTM4ZC0xNmE5LTRkMjYtYTcxZC0zOWY2NmY5YzZiN2UifQ.1SU0pOy-WR002qUw4hd_UmZWRSLz-ZL6v7PvQvZMKVE6a51x_tqeUeRGaTGuYl1whg0eccMObmK7FqXKRH6E4g"
}

Response

Confirms that the access token is valid and returns the end user's information.

userIdstring 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.

evmAccountsstring[] required

DEPRECATED: Use evmAccountObjects instead for richer account information. The list of EVM account addresses associated with the end user. End users can have up to 10 EVM accounts.

evmSmartAccountsstring[] required

DEPRECATED: Use evmSmartAccountObjects instead for richer account information including owner relationships. The list of EVM smart account addresses associated with the end user. Each EVM EOA can own one smart account.

solanaAccountsstring[] required

DEPRECATED: Use solanaAccountObjects instead for richer account information. The list of Solana account addresses associated with the end user. End users can have up to 10 Solana accounts.

createdAtstring date-time required

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

Example response

{
  "userId": "e051beeb-7163-4527-a5b6-35e301529ff2",
  "authenticationMethods": [
    {
      "type": "email",
      "email": "user@example.com"
    },
    {
      "type": "sms",
      "phoneNumber": "+12055555555"
    },
    {
      "type": "jwt",
      "sub": "e051beeb-7163-4527-a5b6-35e301529ff2",
      "kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg"
    },
    {
      "type": "google",
      "sub": "115346410074741490243",
      "email": "test.user@gmail.com"
    },
    {
      "type": "telegram",
      "id": 1223456,
      "firstName": "Satoshi",
      "lastName": "Nakamoto",
      "photoUrl": "https://image.url/profile.jpg",
      "authDate": 1770681412,
      "username": "satoshinakamoto"
    },
    {
      "type": "siwe",
      "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
    }
  ],
  "mfaMethods": {
    "enrollmentPromptedAt": "2025-01-15T10:30:00Z",
    "totp": {
      "enrolledAt": "2025-01-15T10:30:00Z"
    },
    "sms": {
      "enrolledAt": "2025-01-15T10:30:00Z"
    }
  },
  "evmAccounts": [
    "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
  ],
  "evmAccountObjects": [
    {
      "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
      "createdAt": "2025-01-15T10:30:00Z"
    },
    {
      "address": "0x1234567890abcdef1234567890abcdef12345678",
      "createdAt": "2025-01-15T11:00:00Z"
    }
  ],
  "evmSmartAccounts": [
    "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
  ],
  "evmSmartAccountObjects": [
    {
      "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
      "ownerAddresses": [
        "0x1234567890abcdef1234567890abcdef12345678",
        "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd"
      ],
      "createdAt": "2025-01-15T12:00:00Z"
    }
  ],
  "solanaAccounts": [
    "HpabPRRCFbBKSuJr5PdkVvQc85FyxyTWkFM2obBRSvHT"
  ],
  "solanaAccountObjects": [
    {
      "address": "HpabPRRCFbBKSuJr5PdkVvQc85FyxyTWkFM2obBRSvHT",
      "createdAt": "2025-01-15T10:30:00Z"
    },
    {
      "address": "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin",
      "createdAt": "2025-01-15T11:30:00Z"
    }
  ],
  "createdAt": "2025-01-15T10:30:00Z"
}

Changes

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status