use-modular-walletslisted
Install: claude install-skill Ekinoxis-evm/claude-skills
## Overview
Modular Wallets are flexible smart contract accounts (MSCAs) that extend functionality through installable modules. Built on ERC-4337 (account abstraction) and ERC-6900 (modular smart contract framework), they support passkey authentication, gasless transactions, batch operations, and custom logic modules (multisig, subscriptions, session keys). MSCAs are lazily deployed -- gas fees for account creation are deferred until the first outbound transaction.
## Prerequisites / Setup
### Installation
```bash
npm install @circle-fin/modular-wallets-core viem
```
For passkey recovery, also install:
```bash
npm install bip39
```
### Environment Variables
Write or merge into the project's env file when scaffolding Modular Wallets:
```bash
# .env.local (Next.js) or .env (Vite)
# Paste your Client Key from Console → Keys → Client Keys (shown once; starts with TEST_API_KEY:)
NEXT_PUBLIC_CLIENT_KEY=
NEXT_PUBLIC_CLIENT_URL=https://modular-sdk.circle.com/v1/rpc/w3s/buidl
VITE_CLIENT_KEY=
VITE_CLIENT_URL=https://modular-sdk.circle.com/v1/rpc/w3s/buidl
```
Use the `NEXT_PUBLIC_*` pair for Next.js or the `VITE_*` pair for Vite — not both. Client URL is fixed — do not ask the user to copy it from Console. Chain paths (e.g. `/arcTestnet`) are appended in code via `toModularTransport`, not in the env var.
Before using the SDK, complete the [Console Setup](https://developers.circle.com/wallets/modular/console-setup.md):
1. Console → Keys → Client Keys — create a Client Key
2