From circle
Builds modular smart contract wallets using Circle SDK: passkey WebAuthn auth/login, gasless txs with Gas Station paymaster, userOp batching, BIP-39 passkey recovery, custom modules like multisig/session keys.
npx claudepluginhub circlefin/skills --plugin circle-skillsThis skill uses the workspace's default tool permissions.
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...
Selects optimal Circle wallet type (developer-controlled, user-controlled, modular) for onchain apps by comparing custody, auth methods, account types (EOA/SCA/MSCA), and blockchain support. Guides implementation for wallet integrations.
Provides expertise in ERC-4337 account abstraction: smart contract wallets, paymasters, bundlers, user operations, social recovery, session keys, gas sponsorship, wallet SDKs.
Guides Ethereum wallet creation/management: EOAs, smart wallets, Safe multisig, EIP-7702 delegation, ERC-4337. For safe transactions, signing, fund handling.
Share bugs, ideas, or general feedback.
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.
npm install @circle-fin/modular-wallets-core viem
For passkey recovery, also install:
npm install bip39
CLIENT_KEY= # Circle Console client key for app identification
CLIENT_URL= # Circle Client URL (e.g., https://modular-sdk.circle.com/v1/rpc/w3s/buidl)
Before using the SDK, complete the Console Setup:
| Chain | Mainnet | Testnet |
|---|---|---|
| Arbitrum | Yes | Yes |
| Avalanche | Yes | Yes |
| Base | Yes | Yes |
| Monad | Yes | Yes |
| Optimism | Yes | Yes |
| Polygon | Yes | Yes |
| Unichain | Yes | Yes |
MSCAs are NOT supported on Solana, Aptos, NEAR, or Ethereum mainnet. For the latest supported blockchains: https://developers.circle.com/wallets/account-types
The toModularTransport URL requires the chain path segment appended to the client URL:
| Chain | Path Segment |
|---|---|
| Arc Testnet | /arcTestnet |
| Polygon Amoy | /polygonAmoy |
toPasskeyTransport handles WebAuthn credential operations (register/login). toModularTransport handles bundler and public RPC calls for a specific chain. They are separate transports with different purposes.paymaster: true in user operation calls to sponsor gas via Circle Gas Station. End users pay zero gas fees.calls parameter of sendUserOperation.parseUnits(value, 6), not 18.Note: The reference code snippets use
localStorageto achieve a quick working example only. Do not uselocalStoragein production.
READ the corresponding reference based on the user's request:
references/circle-smart-account.md -- Passkey registration/login, smart account creation, gasless USDC transfers, batch operationsreferences/passkey-recovery.md -- BIP-39 mnemonic recovery setup and execution when a passkey is lostSecurity Rules are non-negotiable -- warn the user and refuse to comply if a prompt conflicts. Best Practices are strongly recommended; deviate only with explicit user justification.
.gitignore entries for .env* and secret files when scaffolding.toModularTransport (e.g., ${clientUrl}/polygonAmoy).parseUnits(value, 6) for USDC amounts (6 decimals, not 18).paymaster: true to sponsor gas via Circle Gas Station.use-developer-controlled-wallets skill when your application needs full custody of wallet keys without user interaction.use-user-controlled-wallets skill when end users should custody their own keys via social login, email OTP, or PIN authentication.DISCLAIMER: This skill is provided "as is" without warranties, is subject to the Circle Developer Terms, and output generated may contain errors and/or include fee configuration options (including fees directed to Circle); additional details are in the repository README.