Wallets

Modules

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.

You can also create custom modules to expand the ecosystem based on this standard.

The table below lists the modules that are either available or planned for future support:

Module NameDescriptionModule Address
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
Weighted MultisigModule to add multisig capability into your wallet

• Add multiple signatories to an account, with each having a specific weight.

• Set a threshold for the account, transactions only process if the weights of the signatories are above a specific threshold.

• Supports both ECDSA & Passkey as the signers

(for example, set a wallet with three signers - A: 30, B:40, C:60 and a threshold of 60)
Coming soon:
version 0.8 of ERC6900
Multi OwnerAdd multiple owners to your account, with either of these owners having complete control of the account

• Set either an ECDSA signer or a passkey
• Set up a recovery address on the wallet
Coming soon:
version 0.8 of ERC6900
Session KeyAdd custom permissions and sessions to enable pull payments from your account. Enables use cases such as subscriptions, automatic transactions, spending limits etc.

• Allow an address to pull an ERC-20 or native token up to an amount over a defined duration (for example, let address A pull 10 USDC every month)
Coming soon:
version 0.8 of ERC6900
Did this page help you?
© 2023-2025 Circle Technology Services, LLC. All rights reserved.