Deploy and use a wallet from your server in under 5 minutes
In this quickstart you will learn how to create and manage wallets using a REST API from a server environment.
Create a Developer Account and Project
To get started, create a developer account in the Crossmint Staging Console. Open that link, sign in, and accept the dialog to continue.
Crossmint offers two consoles: staging, for development and testing, and production.
With Solana Smart Wallets you can specify who pays for transactions fees and with what token those fees are paid. Go to the Crossmint Console and choose one of these two fee payment models:
Developers: Pay fees using Crossmint credits in the project's balance
Users: Pay fees using user's own smart wallet token balance
Get an API Key
Create a server-side API key with these scopes:
Navigate to the "Integrate" section on the left navigation bar, and ensure you're on the "API Keys" tab.
Within the Server-side keys section, click the "Create new key" button in the top right.
Next, check the scopes labeled wallets.create
, wallets.read
, wallets.fund
, wallets:balance.read
, wallets:transactions.create
, wallets:transactions.read
, wallets:transactions.sign
.
Finally, create your key and save it for subsequent steps.
This allows your API key to perform any kind of wallet action.
Choose a Wallet Type
Below is a summary of available wallet types and their characteristics:
Chain | Custodial | Type | Admin Signer |
---|---|---|---|
EVM | True | evm-smart-wallet | evm-fireblocks-custodial |
EVM | False | evm-smart-wallet | evm-keypair |
EVM | True | evm-mpc-wallet | None |
Solana | True | solana-smart-wallet | solana-fireblocks-custodial |
Solana | False | solana-smart-wallet | solana-keypair |
Solana | True | solana-mpc-wallet | None |
Aptos | True | aptos-mpc-wallet | None |
Aptos | False | Contact Support | Contact Support |
Cardano | True | cardano-mpc-wallet | None |
Cardano | False | Contact Support | Contact Support |
Sui | True | sui-mpc-wallet | None |
Sui | False | Contact Support | Contact Support |
Smart wallets cannot be used as the admin signer for Solana smart wallets. Please use a keypair or fireblocks custodial signer instead.
Create Your First Wallet
Create a file (e.g. createWallet.ts
) and enter this code:
Before running it, be sure to fill in:
YOUR_API_KEY
with the key obtained in step 2Now, run the script:
The API will return a response with your new wallet details. Save the wallet address, as you’ll use it in the next step.
Sample response
Interact with Your Wallet
First, let’s get some test USDXM to work with. Visit Crossmint Testnet USDXM Faucet and paste your wallet address from step 4 to receive test USDXM tokens in your chain of choice.
Now that you have some tokens, let’s check the wallet’s balance:
What does this API do behind the scenes?
Creates a wallet of your chosen type on the specified blockchain
Sets up the appropriate signing mechanism (MPC, smart contract, etc.)
If specified, links the wallet to a user identity
Pre-generate wallets associated with a user
You can create wallets linked to users by adding a linkedUser
parameter with a user identifier:
For production, the steps are almost identical, but some changes are required:
https://www.crossmint.com
instead of https://staging.crossmint.com
Send native tokens between wallets.
Send ERC20 and other tokens.
Check wallet balances.
Get NFTs owned by a wallet.
Deploy and use a wallet from your server in under 5 minutes
In this quickstart you will learn how to create and manage wallets using a REST API from a server environment.
Create a Developer Account and Project
To get started, create a developer account in the Crossmint Staging Console. Open that link, sign in, and accept the dialog to continue.
Crossmint offers two consoles: staging, for development and testing, and production.
With Solana Smart Wallets you can specify who pays for transactions fees and with what token those fees are paid. Go to the Crossmint Console and choose one of these two fee payment models:
Developers: Pay fees using Crossmint credits in the project's balance
Users: Pay fees using user's own smart wallet token balance
Get an API Key
Create a server-side API key with these scopes:
Navigate to the "Integrate" section on the left navigation bar, and ensure you're on the "API Keys" tab.
Within the Server-side keys section, click the "Create new key" button in the top right.
Next, check the scopes labeled wallets.create
, wallets.read
, wallets.fund
, wallets:balance.read
, wallets:transactions.create
, wallets:transactions.read
, wallets:transactions.sign
.
Finally, create your key and save it for subsequent steps.
This allows your API key to perform any kind of wallet action.
Choose a Wallet Type
Below is a summary of available wallet types and their characteristics:
Chain | Custodial | Type | Admin Signer |
---|---|---|---|
EVM | True | evm-smart-wallet | evm-fireblocks-custodial |
EVM | False | evm-smart-wallet | evm-keypair |
EVM | True | evm-mpc-wallet | None |
Solana | True | solana-smart-wallet | solana-fireblocks-custodial |
Solana | False | solana-smart-wallet | solana-keypair |
Solana | True | solana-mpc-wallet | None |
Aptos | True | aptos-mpc-wallet | None |
Aptos | False | Contact Support | Contact Support |
Cardano | True | cardano-mpc-wallet | None |
Cardano | False | Contact Support | Contact Support |
Sui | True | sui-mpc-wallet | None |
Sui | False | Contact Support | Contact Support |
Smart wallets cannot be used as the admin signer for Solana smart wallets. Please use a keypair or fireblocks custodial signer instead.
Create Your First Wallet
Create a file (e.g. createWallet.ts
) and enter this code:
Before running it, be sure to fill in:
YOUR_API_KEY
with the key obtained in step 2Now, run the script:
The API will return a response with your new wallet details. Save the wallet address, as you’ll use it in the next step.
Sample response
Interact with Your Wallet
First, let’s get some test USDXM to work with. Visit Crossmint Testnet USDXM Faucet and paste your wallet address from step 4 to receive test USDXM tokens in your chain of choice.
Now that you have some tokens, let’s check the wallet’s balance:
What does this API do behind the scenes?
Creates a wallet of your chosen type on the specified blockchain
Sets up the appropriate signing mechanism (MPC, smart contract, etc.)
If specified, links the wallet to a user identity
Pre-generate wallets associated with a user
You can create wallets linked to users by adding a linkedUser
parameter with a user identifier:
For production, the steps are almost identical, but some changes are required:
https://www.crossmint.com
instead of https://staging.crossmint.com
Send native tokens between wallets.
Send ERC20 and other tokens.
Check wallet balances.
Get NFTs owned by a wallet.