Skip to main content
Circle’s modular wallets client SDKs embed Modular Smart Contract Accounts (MSCAs) in your web and mobile apps. The SDKs handle passkey login, MSCA setup, and user operation signing. Keys stay on the user’s device. Your app never holds them.

Choose your platform

Web SDK

Get started

iOS SDK

Get started

Android SDK

Get started

How it works

A client SDK call uses a passkey to authorize each user operation on the device:
1

User initiates a wallet action

A user performs a wallet action in your application, such as sending USDC.
2

SDK constructs the user operation

The SDK constructs a user operation for the action.
3

User authorizes with passkey

The SDK prompts the user to authorize with their passkey (biometrics or device unlock). WebAuthn signs the user operation on the user’s device.
4

SDK submits to bundler

The SDK submits the signed user operation to a bundler, which broadcasts it to the network.
5

Application confirms execution

Your application polls for the user operation receipt or listens for a webhook confirmation.
6

Application notifies the user

Your application notifies the end user that the action is complete.

Security

Passkeys live on the user’s device, such as in Apple Keychain, Google Password Manager, or a hardware security key. Keys never reach your server or Circle. Your app cannot sign on the user’s behalf. For more detail, see How passkeys and modules work. For account recovery options, see How to set up passkey recovery.