Fetch Users

From your backend, you can list all your users and fetch the details of any user within your in app or ecosystem wallet. This includes their address, email, phone number, and more.


Endpoint

GET request to the following endpoint:

https://in-app-wallet.thirdweb.com/api/2023-11-30/embedded-wallet/user-details

Query Parameters

You can specify the query parameter queryBy to query by different user identifiers:

  • queryBy: The parameter to query by. Can be one of walletAddress, email, phone, externalWalletAddress, or id.

You can then specify the value to query by, matching the queryBy parameter:

  • walletAddress: The user's wallet address that thirdweb has generated for them
  • email: The user's email address
  • phone: The user's phone number
  • externalWalletAddress: The user's wallet address that used to login via SIWE
  • id: The user's ID (for custom auth)

Authentication

You need to include the following headers:

  • x-secret-key: Your secret key for authentication
  • x-ecosystem-id (optional): Your ecosystem ID
  • x-ecosystem-partner-id (optional): Your ecosystem partner ID

Example Requests

Here's an example curl command to fetch user details by email:

curl -X GET 'https://in-app-wallet.thirdweb.com/api/2023-11-30/embedded-wallet/user-details?queryBy=email&email=user@example.com' \
-H 'x-secret-key: YOUR_SECRET_KEY'

Here's an example curl command to fetch user details by address:

curl -X GET 'https://in-app-wallet.thirdweb.com/api/2023-11-30/embedded-wallet/user-details?queryBy=walletAddress&walletAddress=0x123456789abcdef' \
-H 'x-secret-key: YOUR_SECRET_KEY'

Here's an example curl command to fetch the user details for an ecosystem owner:

curl -X GET 'https://in-app-wallet.thirdweb.com/api/2023-11-30/embedded-wallet/user-details?queryBy=walletAddress&walletAddress=0x123456789abcdef' \
-H 'x-secret-key: YOUR_SECRET_KEY' \
-H 'x-ecosystem-id: ecosystem.YOUR_ECOSYSTEM_ID' \
-H 'x-ecosystem-partner-id: YOUR_PARTNER_ID'

In both examples, replace YOUR_SECRET_KEY with your actual ThirdWeb Client Secret.

Replace YOUR_ECOSYSTEM_ID and YOUR_PARTNER_ID with your actual ecosystem ID and partner ID respectively. The partner ID can be one you set up for yourself as the ecosystem owner.

Response Format

The API returns a JSON array with the following structure for each user:

[
{
"userId": "string",
"walletAddress": "string",
"email": "string (optional)",
"phone": "string (optional)",
"createdAt": "string",
"linkedAccounts": [
{
"type": "string",
"details": {
"phone": "string",
// or
"email": "string",
// or
"address": "string",
// or
"id": "string",
// Additional key-value pairs may be present
}
}
]
}
]

Note: The details object in linkedAccounts will contain different fields based on the account type. See the list of Strategies above for more information.

Remember to handle the response appropriately in your chosen programming language, including error cases and parsing the JSON response.

Convenience Methods

If you are using the thirdweb SDK, you can use the getUser method to retrieve user details.