In this guide, we'll teach you how to create a blockchain wallet for any protocol, integrated into your solution.

Okay, but what do I need a wallet for?

In a "for dummies" explanation, wallets are a prerequisite for interacting with the blockchain - whether sending values, creating NFTs, currencies or even interacting with blockchain "programs". Making a comparison with Web 2.0, it's like your login/password to perform actions.
Do not to confuse the creation of Cryptum wallets with existing wallets on the market, such as MetaMask, Phantom, TrustWallet and others. Cryptum allows the creation of the address and the private key without the need to create one of these wallets - however, you can use that same wallet created by importing the information into your preferred wallet.
Do not confuse the creation of Cryptum wallets with existing wallets apps on the market, such as MetaMask, Phantom, TrustWallet and others.

And how do I apply wallets to my business?

You probably have a userbase and/or companies that will need to interact with the blockchain features, like described above.
Let's use a common example where "new users of an app need to have a wallet to receive and transfer tokens". When an approval or registration event happens in the back-end of your application, Cryptum must be called to create a wallet for this new user - 1 or N wallets. The wallet will be created, the private key will be sent to your application and the management will be done by you or your end user.
Business definitions must be created by you - Cryptum is fully prepared to generate the wallets and private keys.
As previously informed, Cryptum doesn't keep and doesn't have access to any generated Private Key. Cryptum also does not advise clients to keep end users' keys.

​Integrating Wallets creation with Cryptum SDK

Step 1
The first prerequisite you will need is the creation of an account and a Project (API Key) on Cryptum Dashboard.
To do so, access our Dashboard and create a DEV-type Project.
Step 2
With a valid Cryptum API Key, you can then instantiate the SDK as follows:
const CryptumSdk = require('cryptum-sdk')
const sdk = new CryptumSdk({
environment: 'testnet', // 'testnet', 'mainnet'
Step 3
Then you call the generateWallet() function passing the protocol you want:
const wallet = await sdk.wallet.generateWallet({ protocol: 'ETHEREUM' })
The function will return the newly created wallet:
Wallet {
protocol: 'ETHEREUM',
privateKey: '0xfb2faa54a3e9c2a285f350bbe38c4e4a630.......',
publicKey: '0x94c778b620e0467839931e611d5ff6071952.......',
address: '0xd09cb824b21e25370ceb930c9df7cc4e79bb6e20',
xpub: 'xpub6DkhmSGmsjNrBSM2du8BQsGmnGjfZQDk4JAc3WD.......',
testnet: true
Step 4
Wallet function can receive other parameters:
const wallet = await sdk.wallet.generateWallet({
protocol: 'ETHEREUM',
mnemonic: 'hurdle local pear demand practice midnight coast ...',
derivation: { account: 0, address: 0 } // optional
If you want to check the full wallet doc, go to: