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.


Import an EOA wallet

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

const importWalletResp = await wk.wallets.import({
    network: Network.Base,
    name: "User Wallet",
    ownerId: userId,
    controlMode: WalletControlMode.User,
    type: WalletType.Eoa,
    privateKey: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    userPin: "<user pin>",

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

const importedWalletAddress = importWalletResp.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.