Skip to main content

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.

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.
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.
You can also create custom modules to expand the ecosystem based on this standard.

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 NameDescriptionModule 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 BookOnly 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