Infrastructure Models

This article describes the Circle infrastructure models so you can choose which approach to use for your development.

Infrastructure Model Types

Infrastructure models govern who controls the assets in a given wallet. Businesses and individuals need to understand the characteristics of each type of infrastructure to determine the correct wallet for their needs.

Circle Programmable Wallets provide two distinct types of infrastructure: user-controlled wallets and developer-controlled wallets.

User-Controlled Wallets

A user-controlled wallet provides autonomy to your app’s users by ensuring they have full control over their wallets. The user-controlled wallet setup requires the user to set up a PIN code for authorization. This setup prevents Circle, service providers, and developers from accessing or moving a user’s assets without consent.

Start building user-controlled wallets with the quickstart guide!

Developer-Controlled Wallets

A developer-controlled wallet allows developers to retain control over their users’ wallets, enabling their users to access the security, speed, and Web3 ecosystem while maintaining a frictionless user experience.

Get started with the Developer-Controlled Wallets quickstart.

Choosing your Infrastructure Model

Learn how to decide on the best infrastructure model for your use case.

Fundamental Behavior

The key distinction between user-controlled and developer-controlled wallets is which party controls the ability to access the private key used to interact with the blockchain.

Both user-controlled and developer-controlled wallets can make transactions, interact with smart contracts, and sign messages. In the case of a user-controlled wallet, the user themselves controls these abilities. In the case of a developer-controlled wallet, the developer has this control.

Why choose User-Controlled Wallets?

User-controlled wallets give your app’s users access and control over the underlying private keys of their wallets. Circle provides a Web3 user experience, using a PIN code mechanism and a set of security questions for account recovery, abstracting the complexity of seed phrases from your users. Additionally, Circle uses best-in-class security approaches to power its Programmable Wallets with secure multi-party computation.

PIN Code Responsibility

Users invoke usage of their private keys through their specified PIN code, which is then used to encrypt and decrypt access to the private keys upon invoking a transaction on the blockchain. Your users will be ultimately responsible for accessing their wallets, so it’s important that they understand the need to remember their PIN code and the answers to their security questions.

With user-controlled wallets, your users have access to the speed and security of the blockchain but with a much more familiar user experience.

Why choose Developer-Controlled Wallets?

Developer-controlled wallets allow you to create and manage asset flows on behalf of your users, providing them with easy-to-use access to Web3 functionality. These wallets allow you to manage virtually all blockchain interactions for your users, like sending and receiving digital assets, smart contract interactions, and NFT minting.

By using developer-controlled wallets, your users do not need to understand the complexities of the Web3 ecosystem or worry about losing their assets because of a lost seed phrase to access the speed of the blockchain.

What’s Next