Prerequisite: Create Wallet

Obtain user pincode

In your app, ask the user for their wallet’s 6-digit pincode.

You must never store the user pin on your servers.


Send transaction

Fill in the transaction details and send it to WalletKit. We use encodeFunctionData util method from viem to encode the transaction data in the example, but you can use any other method to encode the data.

import { encodeFunctionData } from "viem";

const transaction = await wk.transactions.signAndSend({
    network: Network.Base,
    signerWalletAddress: "<walelt address>",
    unsignedTransaction: {
        to: '0xf175520c52418dfe19c8098071a252da48cd1c19',
        input: encodeFunctionData({
            abi: erc20ABI,
            args: ["0x4795cd8f434847eccdf5b62370157a70a7da6a46", 0],
            functionName: "transfer",
    userPin: "<user pin>",