1

Add WalletKit to your app

Get your SDK setup as usual using Get Started.

2

Authenticate to WalletKit

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

3

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.

4

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.