Server wallets
Server wallets are in early access and we’d love to hear how you’re using them! Contact us at [email protected] - we’d love to help you get up and running.
Server wallets can be programmatically controlled using access keys. This enables backend applications to sign transactions and messages on behalf of users without requiring interactive authentication.
JavaScript
Prerequisites
Get your API key by creating a new app in your Alchemy Dashboard. Make sure your desired network is enabled for your app under the Networks tab.
Step 1: Generate an Access Key
Generate a secure access key for authentication. This key will never be sent to our servers - we’ll derive a public key from it when interacting with Alchemy.
Critical: Save your access key securely!
This access key is required to control your server wallet and cannot be recovered if lost. Make sure to store it in a secure location.
Step 2: Create the Server Signer
Before we can send transactions we need a way to sign them. Let’s create a server signer using the access key you just created to handle this:
Want to use the same access key to control multiple server signers? Check out
the example below to learn how to use auth.accountId to create multiple
signers that you can control with the same access key.
Multiple signers per access key
Step 3: Send a Transaction
We can now send transactions using the Smart Account Client:
Solana Support
Server wallet can also easily be used on Solana. To start sending sponsored transactions on Solana, set up a Solana sponsor gas policy in our dashboard and follow the guide below.