Prerequisites
Before you begin, ensure that you’ve:- Obtained an API key from the Circle Console
- Generated and registered an entity secret
- Installed one of the following:
Step 1. Set up your project
1.1. Install additional dependencies
From the same directory where you set up your entity secret, add a run script and install the TypeScript development dependencies.1.2. Configure TypeScript (optional)
Create atsconfig.json file:
tsconfig.json file:
1.3. Verify environment variables
Your.env file from the entity secret setup already contains both values you
need. Confirm it includes:
.env
CIRCLE_API_KEYis your Circle API key.CIRCLE_ENTITY_SECRETis your registered entity secret.
Step 2. Create your wallet
Write a script that 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
In your project directory, createcreate-wallet.ts (Node.js) or
create_wallet.py (Python) and add the following code. When run, this code
creates a wallet set first, and then creates a wallet in 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.