Wallets

Server Wallets

Server wallets are wallets that are managed by your own application, like a treasury wallet or admin wallet. They are used to send transactions from the server.

Use an existing Server Wallet

Once created, you can use your server wallet by passing it as the from field of the thirdweb API.

Create a new Server Wallet

You can create new server wallets via API by just passing an identifier. This can be any string, but we recommend using a descriptive name.

Request

fetch("https://api.thirdweb.com/v1/wallets/server", {
method: "POST",
headers: {
"x-secret-key": "<your-project-secret-key>",
},
body: {
identifier: "treasury-wallet-123",
},
});

Response

{
"result": {
"address": "string",
"profiles": [
{
"email": "string",
"emailVerified": true,
"hd": "string",
"id": "string",
"locale": "string",
"picture": "string",
"type": "google",
"familyName": "string",
"givenName": "string",
"name": "string"
}
],
"createdAt": "string",
"smartWalletAddress": "string",
"publicKey": "string"
}
}

List all Server Wallets

You can also list all server wallets for your project to get their addresses and identifiers.

Request

fetch("https://api.thirdweb.com/v1/wallets/server?limit=50&page=1", {
method: "GET",
headers: {
"x-secret-key": "<your-project-secret-key>",
},
});

Response

{
"result": {
"pagination": {
"hasMore": false,
"limit": 20,
"page": 1
},
"wallets": [
{
"address": "string",
"profiles": [
{
"type": "server",
"identifier": "string"
}
],
"createdAt": "string",
"smartWalletAddress": "string"
}
]
}
}