Key features
User retains custody
Users have full control of their private keys secured with
. Your app or backend never holds user keys. See Key
management for more details.
Seamless onboarding
Choose from social login (Google, Apple, Facebook), email OTP, or PIN with
security questions to authenticate your users. Optional biometrics with PIN.
Customizable UIs
For social login and email OTP, Circle provides confirmation UIs for
transfers and signing that you can customize, or disable to build and match
your own branding.
What you can build
Payments and P2P apps
Payments and P2P apps
Build payment or remittance apps with USDC, with faster settlement and low
fees versus traditional rails, no custody or key management for you. Users
approve transfers in your app; you execute using Circle APIs.
Commerce and checkout
Commerce and checkout
Build marketplaces and subscriptions with in-app crypto checkout. One-tap
approval, higher conversion, no external wallets or seed phrases. Users
approve; you run checkout and complete the transfer using Circle APIs.
DeFi and onchain apps
DeFi and onchain apps
Build lending, swapping, yield/earn, or other DeFi flows with user
custody. Users sign (for example,
,
) from your app, with no key export or separate wallet; optional gas
sponsorship hides gas complexity. You orchestrate the flow and never hold
keys.
Social and creator apps
Social and creator apps
Gaming and rewards
Gaming and rewards
Build games or loyalty apps where users earn, hold, or spend USDC or
in-game assets. Keep engagement in-app, with no external wallets or seed
phrases. Users approve (rewards, purchases); you create wallets and run
transfers using the SDK and APIs.
Fintech and embedded finance
Fintech and embedded finance
Embed USDC into savings, payroll, B2B payments, or remittance. Users keep
custody; you avoid holding assets. Social, email, or PIN for familiar
onboarding. Users approve from your UI; you execute using Circle APIs.
How it works
Choose an authentication type
Circle offers social logins, email OTP, or PIN with security questions for
recovery. Configure your choice in the Circle Console for web2-like user
onboarding.
Create user identifier and wallet
Your app invokes the
and users authenticate with social or email, or set up PIN. Circle creates a
user identifier and a wallet that the user controls.
Obtain user approval and confirmation
For transfers or signatures, present confirmation UIs (or your custom flow):
the user approves on their device with one tap, PIN, or biometrics.
Users authorize every transaction; your app never holds or uses their key
material. For details on each authentication type, see Authentication
types.
Account types
On EVM chains, a user-controlled wallet is created as either an externally owned account (EOA) or a smart contract account (SCA). Pick one based on your needs. For non-EVM chains such as Aptos or Solana, see Account Types for a full breakdown by blockchain.EOA (Externally Owned Account)
Select when the source wallet can hold native token for gas, you want simple
key-controlled accounts, and you don’t need multiple operations in one
transaction (batch execution).
SCA (Smart Contract Account)
Select when you need gas paid by a relayer or platform (gas sponsorship),
batch execution, or other programmable behavior. For details on gas
sponsorship, see Gas Station.
Get started
Choose how users authenticate, then follow a quickstart to create wallets and see the full flow:Authentication types
Compare social logins, email OTP, and PIN: onboarding UX, signing UX, and key
management so you can pick the right type for your app.
Create user wallets with social login
Build a web app that allows users to sign in with Google and get a
user-controlled wallet with USDC balance.
Create user wallets with email
Authenticate users with an OTP sent by email and create a user-owned wallet
linked to your app.
Create user wallets with PIN
Allow users to set a PIN (and optional biometrics) to create and authorize a
user-controlled wallet from your app.