SDK Explorer

Creates a new developer-controlled wallet or a batch of wallets within a wallet set, given the target blockchain and wallet name.

Note: Each walletSetId supports a maximum of 10 million wallets.

Parameters
CreateWalletRequest
object
Required
idempotency_key
string

Universally unique identifier (UUID v4) idempotency key. This key is utilized to ensure exactly-once execution of mutating requests. To create a UUIDv4 go to uuidgenerator.net. If the same key is reused, it will be treated as the same request and the original response will be returned.

account_type
string

An account can be a Smart Contract Account (SCA) or an Externally Owned Account (EOA). To learn more, see the account types guide.

If an account type is not specified during the creation of a wallet, it defaults to EOA (Externally Owned Account). Note that Solana doesn't support Smart Contract Account (SCA).

Allowed valuesSCAEOA
blockchains
array of strings
Required

Blockchain(s) the requested wallets will be created on.

Allowed valuesETHETH-SEPOLIAAVAXAVAX-FUJIMATICMATIC-AMOYSOLSOL-DEVNETARBARB-SEPOLIANEARNEAR-TESTNETEVMEVM-TESTNETUNIUNI-SEPOLIABASEBASE-SEPOLIAOPOP-SEPOLIA
count
integer

Number of wallets that will be created per specified blockchain.

entity_secret_ciphertext
string

A base64 string expression of the entity secret ciphertext. The entity secret should be encrypted by the entity public key. Circle mandates that the entity secret ciphertext is unique for each API request.

metadata
array of objects

List of metadata fields to associate with the corresponding wallet. If count is specified, the amount of items in the array should match the count field.

wallet_set_id
string
Required

System-generated unique identifier of the resource.

x_request_id
string

Developer-provided parameter used to identify this request. Useful when communicating with Circle Support.

Responses
Example
1from circle.web3 import developer_controlled_wallets
2from circle.web3 import utils
3
4client = utils.init_developer_controlled_wallets_client(api_key=key, entity_secret=entitySecret)
5
6api_instance = developer_controlled_wallets.WalletsApi(client)
7request = developer_controlled_wallets.CreateWalletRequest.from_dict({
8    "accountType": "SCA",
9    "blockchains": ["ETH-SEPOLIA"],
10    "count": 1,
11    "walletSetId": "b3fa50d0-5fca-527f-b13e-979a6f5ee419",
12})
13response = api_instance.create_wallet(create_wallet_request=request)
14print(response.json())
15
ResponseChoose an example
1{
2  "data": {
3    "wallets": [
4      {
5        "id": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
6        "address": "0xca9142d0b9804ef5e239d3bc1c7aa0d1c74e7350",
7        "blockchain": "MATIC-AMOY",
8        "create_date": "2023-01-01T12:04:05Z",
9        "update_date": "2023-01-01T12:04:05Z",
10        "custody_type": "DEVELOPER",
11        "name": "",
12        "ref_id": "custom_ref_id",
13        "state": "LIVE",
14        "user_id": "ext_user_id_1",
15        "wallet_set_id": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5",
16        "initial_public_key": "3eQoJ3ex6uWX3R8F1THF6Y6oBQwPYpF1X9HBM1gjqw7w",
17        "account_type": "EOA"
18      }
19    ]
20  }
21}
Did this page help you?
© 2023-2025 Circle Technology Services, LLC. All rights reserved.