Client-side SDKs

Circle's client-side 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.

📘

Note:

Currently, Circle’s client-side SDKs support user-controlled wallets and are not required for developer-controlled wallets.

To build client applications that enable secure, user-controlled wallets, you must use one of Circle's client-side SDKs. The following platforms are supported: Web, iOS, Android, and React Native.

Client-side SDKs Operation

The client-side SDKs secure, manage, and communicate with your server to ensure your users' keyshares always stay with them and are not exposed to your server. The SDKs use an encryption key to encrypt all request bodies, which ensures your users have full control over their digital assets in the wallet. Neither Circle nor your application can access users' funds.

How client-side SDKs work

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.

Customizable UI elements

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:

Web SDK

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.

Mobile SDKs

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.

Postman API Suite

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