BnkLabBnkLab/DocsGitHub

Deploy Guide

Deploy a Coinbase Smart Wallet on Base by calling the official factory v1.1 from the deploy UI or any wallet. No custom helper contract is required.

Factory (v1.1)

Default address on Base (mainnet and Sepolia via Safe Singleton Factory):

0xBA5ED110eFDBa3D005bfC882d75358ACBbB85842

1. Frontend setup

cd frontend
cp .env.example .env.local

NEXT_PUBLIC_CHAIN_ID=84532
NEXT_PUBLIC_RPC_URL=https://sepolia.base.org
# Optional: NEXT_PUBLIC_ONCHAINKIT_API_KEY=... (Coinbase Smart Wallet connect)
# Optional: NEXT_PUBLIC_CSW_FACTORY_ADDRESS=0xBA5ED110... (override factory)
npm install
npm run dev

2. Deploy your Coinbase Smart Wallet

  1. Open /deploy
  2. Connect a wallet on Base Sepolia or Base Mainnet
  3. Optionally enter seed ETH
  4. Click Deploy Coinbase Smart Wallet

The site calls createAccount(owners, nonce) on the factory. Your connected address is encoded as the sole owner. The app picks the next unused nonce automatically.

On-chain call (manual)

// Factory v1.1 on Base
// owners = [abi.encode(yourEOA)]
// nonce = 0 for first wallet, then 1, 2, ...

createAccount(owners, nonce);              // no seed
createAccount{value: 1 ether}(owners, nonce);  // seed new wallet

You must sign the transaction. The returned / emitted address is your new Coinbase Smart Wallet — not the factory.

Testnet ETH

Base Sepolia requires test ETH for gas (and optional seed). Use a Base Sepolia faucet before deploying.