A wallet set is a container that groups your developer-controlled wallets under a single entity secret. All wallets in a set share the same entity secret, and EVM wallets in the same set share the same address. After completing this tutorial, you’ll have a wallet set and a developer-controlled wallet. The examples use an externally owned account (EOA) on Arc Testnet, but you can create a smart contract account (SCA) or use any supported blockchain.Documentation Index
Fetch the complete documentation index at: https://developers.circle.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, ensure you have:- Obtained an API key from the Circle Console.
- Generated and registered an entity secret.
- Installed Node.js 22+ or Python 3.11+.
Step 1. Set up your project
1.1. Create the project and install dependencies
Create a new directory and install the SDK for the path you want to use.1.2. Configure TypeScript (optional)
Create atsconfig.json file:
tsconfig.json file:
1.3. Set environment variables
Create a.env file in the project directory:
.env
CIRCLE_API_KEYis your Circle Developer API key.CIRCLE_ENTITY_SECRETis your registered entity secret.
Step 2. Create your wallet
Write a script creates a wallet set and a developer-controlled wallet, then prints the wallet set ID, wallet ID, and wallet address.2.1. Create the script
Create acreate-wallet.ts (or create_wallet.py) file and add the following
code. This code creates a wallet set first, and then creates a wallet within it:
If you are calling the API directly instead of using the SDK, you need two
requests: one to create the wallet
set
and one to create the
wallet.
Replace the entity secret ciphertext and idempotency key in your request. The
SDKs handle this automatically.
2.2. Run the script
Run the script from your project directory:Next steps
Now that you have a developer-controlled wallet, you can:- Fund the wallet: Get testnet USDC from the Circle Faucet.
- Send tokens across wallets: Transfer USDC from one developer-controlled wallet to another.
- Build payment workflows with Arc App Kit: Use the Circle Wallets adapter to add token transfers, swaps, bridging, and chain-agnostic unified balances to your app without building each integration yourself.