Subscribe to our Blog

Subscribe to Crossmint's blog to receive updates on the latest case studies, Web3 technical guides, and more.

Subscribe Crossmint Blog cover image
Dwight Torculas profile image Dwight Torculas

How to Create Soneium Wallets: A Complete Guide (2025)

Learn how to create custodial & non-custodial wallets for your users on Soneium in under 5 mins!

How to Create Soneium Wallets: A Complete Guide (2025)
Web3 Wallet Creation with Soneium using the Crossmint Wallet API

Welcome! In this guide, we will be diving into wallet creation on Soneium. By the end, you will be able to onboard your users into your onchain application by creating embedded custodial wallets on Soneium for them using the Crossmint Wallet API.

Best of all, these wallets integrate seamlessly with Crossmint Auth, making wallet management simple and flexible for your users through familiar sign-in methods like Email OTP (One Time Password) or Social Accounts (Google, Apple, X). Want to see it in action? Check out our Smarter Wallet demo to experience just how smooth the onboarding process can be.

Looking for non-custodial smart wallet solutions instead? Our quickstart guides have you covered.

For any assistance, our sales team is always ready to help and can answer all questions about pricing, features, and implementation.

Prerequisites for Creating Soneium Wallets

Before you start, you will need to create a Crossmint Account so that you can access Crossmint's suite of onchain developer and no-code tools.

Next, navigate to the "Developers" section and create a Server-side API Key:

  • Select essential scopes:
    • "wallets.read"
    • "wallets.create"

You need the scopes specified above to create Soneium wallets.

upload in progress, 0

Creating Custodial Wallets on Soneium

Now that you have everything set up, let's look at how you can create an embedded Soneium wallet.

First, create a Javascript code file on your computer and then paste the below boilerplate-code within that code file. Use this to create wallets via email:

const options = {
  method: "POST",
  headers: {
    "X-API-KEY": "<your-api-key-here>",
    "Content-Type": "application/json"
  },
  body: '{"email":"yourEmail@email.com","chain":"soneium"}'
};

fetch("<https://www.crossmint.com/api/v1-alpha2/wallets>", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));

Alternatively, you can create wallets by UserID:

const options = {
  method: "POST",
  headers: {
    "X-API-KEY": "<your-api-key-here>",
    "Content-Type": "application/json"
  },
  body: '{"userId":"anyUserId","chain":"soneium"}'
};

fetch("<https://www.crossmint.com/api/v1-alpha2/wallets>", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));
  • Replace "<your-api-key-here>" with the API key that you created earlier.
  • Replace "yourEmail@email.com" with the actual email address of the user that you are trying to create the wallet for.
  • With UserID, replace "anyUserId" with any value of userId that you want to assign to a user. This value is of String type.

Pro Tips

  • Use the staging environment (staging.crossmint.com/console) for testing
  • Replace placeholders with your actual API key and user information
  • Run the script using Node.js: node createWallet.js

Next Steps

Now that you have wallets for your users, you can transfer tokens between wallets, check wallet balances, fetch NFTs that are held by wallets and more.

Ready to dive deeper? Learn how to create and mint NFTs on Soneium.

Need Support?

Sign up developer console