You can only create Externally Owned Accounts (EOA) for signing transactions.
For details, see the Account Types guide.
Prerequisites
Before you begin:- Create a Circle Developer Account and API key
- Install the Developer Services Server-side SDKs
- Complete the Create Your First Developer-Controlled Wallet tutorial to register an entity secret and create a wallet set
- Get familiar with wallets and wallet sets
If you have created a wallet on an EVM-compatible chain such as Ethereum,
Polygon, Avalanche, or Arbitrum, an EVM wallet created under the same wallet set
maps to the same address.In the case where a native wallet is already created, it is important that you
don’t use the generic EVM wallet to sign transactions in place of the native
wallet on those chains.If you sign with the generic EVM wallet, your transaction may become stuck.
Step 1. Create EVM wallets
When creating a developer-controlled wallet, passEVM-TESTNET or EVM in the blockchains field. This wallet can be used
to sign transactions on any EVM chain.
The following example code shows how to create a wallet using the Circle
Developer SDK.
Use
count to specify the number of wallets to create, up to a maximum of 200
per API request.Step 2. Build transactions
To build a transaction, connect to an Ethereum node and prepare your transaction object as shown in the following example code.Note: The
txObject schema conforms to the Ethereum JSON-RPC
transaction specification.
In go-ethereum, this corresponds to the
transaction call object.
chainId is required to ensure the transaction is processed on the right
chain; use the appropriate chain ID for your network.For EVM-compatible wallets, these EIP-1559 fields are required when setting
gas fees:maxFeePerGas- the maximum total fee per unit of gasmaxPriorityFeePerGas- the maximum priority fee per unit of gas