Wallets

User-Controlled Wallets SDKs

Circle's User-Controlled Wallets SDKs allow for the integration of user-controlled wallets within your client applications. The SDKs support various authentications methods to ensure a seamless user experience while using the wallet.

To build client applications that enable secure, user-controlled wallets, you must use one of Circle's User-Controlled Wallets SDKs. Circle supports the following platforms:

The User-Controlled Wallets SDKs securely manage and communicate with your server, ensuring that users' keyshares remain exclusively with them and are never exposed to your server. To maintain security, the SDKs encrypt all request bodies using an encryption key. This guarantees that users retain full control over their digital assets in the wallet, with no access to funds by either Circle or your application.

You initialize the SDK by setting the endpoint server. This allows your application and Circle’s API platform to communicate. To simplify the development of your application, you can use the corresponding server-side Node.js SDKs or Python SDKs.

Your server retrieves challengeId from Circle's API platform and passes it to the SDK, which then executes relevant operations. Certain operations may differ based on the authentication method with which you choose to integrate, for example:

  • For social login or email authentication, the SDK can display a confirmation UI to your users to preview and confirm the transaction or signature details
  • For PIN authentication, the SDK can display a UI that allows your users to securely input their PIN and security answers

For more on the SDK design flow including a diagram, see SDK Architecture for User-Controlled Wallets.

You can customize the styling, layout, and description of your UI modals, including:

  • Title and subtitle - Modify the title and subtitle to reflect your brand identity or provide specific instructions.
  • Transaction and signature details - Tailor the information displayed on the Confirmation UIs to provide context for your users during the signing process.
  • Error messages - Customize the error messages displayed to users to provide guidance and a personalized experience.
  • PIN code input layout - Adjust the layout and styling of the PIN code input field to align with your application's design guidelines.
  • Question list configuration - Set the list of security questions and allow users to choose from a predefined set.

For detailed instructions on customizing UIs for web, iOS, and Android, see the following docs:

Circle provides the following client-side web SDK to enable integrations with Circle’s prebuilt UI components to create user wallets securely, send transactions and more.

Circle provides the following client-side mobile device SDKs to help you create native applications for iOS and Android devices and platforms. Mobile SDKs support only user-controlled wallets.

Circle’s Postman workspace lets you quickly send requests and learn to use Developer Services APIs.

Did this page help you?
© 2023-2025 Circle Technology Services, LLC. All rights reserved.