Modules are the building blocks of modular wallets. Built on smart contract accounts (SCAs), they extend the business logic of Web3 applications. Each module provides a solution component for a new use case. You can enable specific modules in your app to meet specific business needs, such as automated transactions, subscription billing, or event-triggered actions when integrated with Circle Contracts. This makes USDC more programmable and enhances its role as a medium of exchange.Documentation Index
Fetch the complete documentation index at: https://developers.circle.com/llms.txt
Use this file to discover all available pages before exploring further.
Note: Modules are built on Circle’s modular smart contract accounts (MSCA)
technology and support the following standards:
- ERC-4337: Enables account abstraction, allowing operations without an initial Ether balance, improving flexibility.
- ERC-6900: Provides a framework for modular smart contracts that are customizable and extendable.
Supported modules
The default signer for a Circle Smart Account is passkey (WebAuthn). The table below lists that module and optional modules you can attach.| Module Name | Description | Module Address |
|---|---|---|
| Passkey (WebAuthn) | Default signer for the smart account. Users register or log in with a passkey; signing uses the key on the user’s device. For auth, backup, and recovery, see Passkeys. | Built-in (default signer). |
| Address Book | Only allows you to transfer assets to a list of allowlisted addresses that is enforced onchain. Useful if you are building a vault for your treasury. • Add a list of address you allow sending ERC20, 721 or 1155 assets too • Any transfers of these assets outside that list of address will fail onchain | ✅ Available: MSCA version: circle_6900_v1 Mainnet address: 0x0000000d81083B16EA76dfab46B0315B0eDBF3d0 Testnet address: 0x0000000d81083B16EA76dfab46B0315B0eDBF3d0 |