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):
0xBA5ED110eFDBa3D005bfC882d75358ACBbB858421. 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 dev2. Deploy your Coinbase Smart Wallet
- Open /deploy
- Connect a wallet on Base Sepolia or Base Mainnet
- Optionally enter seed ETH
- 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 walletYou 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.