Circle offers three wallet types -- developer-controlled, user-controlled, and modular -- each with different custody models, account types, key management, and capabilities. This skill helps you pick the right one.
Developer-ControlledUser-ControlledModular (Passkey)CustodyDeveloperUserUserAuthEntity secret (backend)Social login / email OTP / PINPasskey (WebAuthn)Account typesEOA, SCAEOA, SCAMSCA onlyGas sponsorshipSCA via Gas StationSCA via Gas StationGas Station or third-party paymasterCustom modulesNoNoYesArchitectureBackend SDK onlyBackend + frontend SDKsFrontend SDK only
For the latest supported blockchains: https://developers.circle.com/wallets/account-types
Step 1 -- Who controls the keys?
Step 2 -- Auth method?
Step 3 -- Account type?
Step 4 -- Chain check (Modular wallets)
ScenarioDecisionSkillPayment backend, programmatic payouts, high TPSDeveloper-controlled + EOAuse-developer-controlled-walletsConsumer app with Google/Apple login, gasless UXUser-controlled + SCA on L2use-user-controlled-walletsDeFi app with biometric auth, custom modulesModular on L2use-modular-walletsNFT marketplace on Ethereum L1User-controlled + EOAuse-user-controlled-walletsAI agent, autonomous multi-chain transactionsDeveloper-controlled + EOAuse-developer-controlled-wallets
Once a wallet type has been determined, TRIGGER the corresponding skill:
use-developer-controlled-wallets skilluse-user-controlled-wallets skilluse-modular-wallets skilluse-developer-controlled-wallets, use-user-controlled-wallets, or use-modular-wallets) for implementation.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.