Prerequisites
- Create a Developer Account and acquire an API key in the Console.
- Install the applicable server-side SDK for your language - needed for 1a, 2a, 3a below.
Introduction
The Entity Secret is a randomly generated 32-byte key designed to enhance security in developer-controlled wallets. After being generated, the hex-encoded Entity Secret key is encrypted into ciphertext for greater data safety. Later on, to create a wallet or to perform a transaction, you must append the Entity Secret ciphertext to the API request arguments. The ciphertext must be re-encrypted (rotated) whenever an API requires it.1. Generate an Entity Secret
There are two ways to generate an Entity Secret: using the SDK, or using standard libraries or CLI tools. Once generated the Entity Secret will consist of a 32-byte hex string value similar to:7ae43b03d7e48795cbf39ddad2f58dc8e186eb3d2dab3a5ec5bb3b33946639a4.
Remember to keep your Entity Secret safe and store it securely, for instance in
your password manager, to ensure access to your developer-controlled wallet.
Although creating a ciphertext is not required for Entity Secret registration
using a server-side SDK, it is still important to store and keep the Entity
Secret for future API calls.
1a. Generate Entity Secret Using the SDK
You can use the SDK methods below to generate an Entity Secret.1b. Generate Entity Secret Using Standard Libraries
You can also use standard libraries or CLI tools to generate the Entity Secret. Below are a few examples.2. Encrypt the Entity Secret
Note: If you use an SDK method to register the Entity Secret, then this
step is optional - see step 3a. Register the Entity Secret Using the
SDK below.
2a. Encrypt Entity Secret Using the SDK
You can use the SDK methods below to generate the Entity Secret Ciphertext.2b. Encrypt Entity Secret Using Standard Libraries
Similarly, you can create the Entity Secret Ciphertext using standard libraries or CLI tools. To that end, you must first retrieve your Entity Secret’s public key. The public key plays a crucial role in generating the Entity Secret Ciphertext in the upcoming step. To obtain the required public key, initiate a request to the Get public key for entity API endpoint. Remember, this endpoint can be accessed by providing your valid API key for authentication.Response Body
Note: You can also refer to the provided sample
code for
encrypting and encoding the Entity Secret.
3. Register the Entity Secret
Finally, you can register your Entity Secret in two ways: using the SDK, or using the Circle Console.Caution: It is important to store a recovery file in case the Entity
Secret is lost. Such a recovery file can then be used to reset your Entity
Secret. You can optionally specify the path to store the recovery file when
you register your Entity Secret.
Note: Circle’s platform does not store the Entity Secret, meaning only you
can invoke private keys. However, it also means that you must save the Entity
Secret yourself to ensure the security and accessibility of your
developer-controlled wallets.
3a. Register the Entity Secret Using the SDK
Note: If you use the SDK to register, then this step accepts the
unencrypted Entity Secret directly. Therefore, step 2. Encrypt the Entity
Secret above would not be required.
3b. Register the Entity Secret Ciphertext Using the Console
You can also register the Entity Secret Ciphertext within the Circle Console. You need to register the ciphertext in the console only once by following the steps below.- Access the Configurator Page in the Circle Console.
- Enter the Entity Secret Ciphertext generated in the previous step.
- Click Register to complete the Entity Secret Ciphertext registration.

Final Considerations
Note: You must re-encrypt the Entity Secret to create a new ciphertext for
each API request.
Caution: Using the same Ciphertext for multiple requests will lead to
rejection.
Note: If you use the server-side SDK for API requests, you will only need
to configure the Entity Secret using the SDK. The SDK will then handle the
creation of a new ciphertext for each API request.
Next Steps
You have successfully registered your entity secret! Jump into the next guide, where you will learn how to:- Create your first developer-controlled wallet
- Rotate and Reset Entity Secret: Check out how you can rotate and reset your Entity Secret.