Server Wallets
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.
Integration Steps
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.
Then, navigate to project Settings > General:
- For EVM chains: Set the wallet type to “Smart Wallets”
- For all other chains: Set the wallet type to “Custodial Wallets”
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 |
Solana | True | solana-mpc-wallet | None |
Solana | False | Contact Support | Contact Support |
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 |
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 2- Choose your desired wallet type and admin signer from the table above
Now, 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.
Interact with Your Wallet
First, let’s get some test USDC to work with. Visit Crossmint Testnet USDXM Faucet and paste your wallet address from step 4 to receive test USDC tokens in your chain of choice.
Now that you have some tokens, let’s check the wallet’s balance:
More info
Launching in Production
For production, the steps are almost identical, but some changes are required:
- Create a developer account on the production console
- Add credits to your account from Billing & Usage
- Create a production key on the API Keys page with the same API scopes
- Modify all code snippets to use
https://www.crossmint.com
instead ofhttps://staging.crossmint.com
Learn More
Transfer Native Tokens
Send native tokens between wallets.
Transfer Tokens
Send ERC20 and other tokens.
Fetch Balance
Check wallet balances.
Fetch NFTs
Get NFTs owned by a wallet.
Dive into Advanced Topics
Other Links
Was this page helpful?