Add WalletKit to your app

Get your SDK setup as usual using Get Started.


Authenticate to WalletKit

Get your SDK authenticated or get the API key if server-side app follwoing Authentication guide.


Obtain user pincode

In your app, ask the user for a 6-digit pincode. This pincode will be used to encrypt the user’s share of the signing key.

You must never store the user pin on your servers.


Create a EOA wallet

Create a wallet with the userPin, controlMode set to user and type set to eoa.

const createWalletResp = await wk.wallets.create({
    network: Network.Base,
    name: "<walelt name>",
    ownerId: userId, // optional
    controlMode: WalletControlMode.User,
    type: WalletType.Eoa,
    userPin: "<user pin>",

if (!createWalletResp.ok) {
// handle error

const walletAddress = createWalletResp.body.address;

ownerId is automatically set to the user id when authenticated with email login, you can safely ignore it in this case. If you are making server-side requests using your API Key, you can optionally set the owner id to a user id corresponding to your authentication system.