circle-developer-controlled-wallets
This SDK provides convenient access to Circle's Developer Controlled Wallets APIs for applications written in Python. For the API reference, see the Circle Web3 API docs.
- Package version: 9.6.0
Requirements.
Python 3.9+
Installation
pip install
pip install circle-developer-controlled-wallets
Then import the package:
from circle.web3 import developer_controlled_wallets
Usage
-
Generate an API key, if you haven't already, in the Web3 Services Console. This API key will be used for authentication and authorization when making requests to Circle's APIs.
export CIRCLE_WEB3_API_KEY="Your API KEY"
-
Generate a new entity secret by using the helper function in the SDK. This will print a new entity secret which will be used in step 3 to register it.
from circle.web3 import utils utils.generate_entity_secret()
[!IMPORTANT]
Protect your Entity Secret as you would protect your house key. Losing it or sharing it with others can have serious consequences. As the name suggests, the Entity Secret is sensitive information. Store it securely and treat it with the highest level of confidentiality to prevent unauthorized access or use. -
Register the entity secret either by using the SDK or by following Circle's Developer-Controlled QuickStart. This step ensures that your account is correctly set up to interact with Circle's APIs.
from circle.web3 import utils result = utils.register_entity_secret_ciphertext(api_key='your_api_key', entity_secret='new_entity_secret') print(result)
[!IMPORTANT] The
register_entity_secret_ciphertextfunction downloads a recovery file namedrecovery_file_<timestamp>.dat. This file should be stored securely, similar to the entity secret. Additionally, the function returns the content of the recovery file as a JSON response. -
In your code, use the
init_developer_controlled_wallets_clientfunction from the utils and initialize the client using your API key and entity secret:from circle.web3 import utils client = utils.init_developer_controlled_wallets_client(api_key="Your API KEY", entity_secret="Your entity secret")
-
Interact with the client:
from circle.web3 import utils
from circle.web3 import developer_controlled_wallets
client = utils.init_developer_controlled_wallets_client(api_key="Your API KEY", entity_secret="Your entity secret")
api_instance = developer_controlled_wallets.WalletSetsApi(client)
# create wallet sets
try:
request = developer_controlled_wallets.CreateWalletSetRequest.from_dict({
"name": "my_wallet_set"
})
response = api_instance.create_wallet_set(request)
print(response)
except developer_controlled_wallets.ApiException as e:
print("Exception when calling WalletSetsApi->create_wallet_set: %s\n" % e)
# list wallet sets
try:
response = api_instance.get_wallet_sets()
for wallet_set in response.data.wallet_sets:
print(wallet_set.actual_instance.id)
except developer_controlled_wallets.ApiException as e:
print("Exception when calling WalletSetsApi->get_wallet_sets: %s\n" % e)
We recommend reading through the official documentation and QuickStart guides mentioned above to ensure a smooth setup and usage experience.
Configuration
The client accept following configuration parameters:
| Option | Required | Description |
|---|---|---|
| api_key | Yes | Api Key that is used to authenticate against Circle APIs. Must be provided by ether env variable or function parameter |
| entity_secret | Yes | Your configured entity secret. Must be provided by ether env variable or function parameter. |
| host | No | Optional base URL to override the default: https://api.circle.com/v1/w3s. |
| user_agent | No | Optional custom user agent request header. We will prepend it to default user agent header if provided. |
Need help or have questions?
Here are some helpful links, if you encounter any issues or have questions about this SDK:
- 📖 Getting started: Check out our official Developer-Controlled Wallets QuickStart.
- 🎮 Join our Discord Community: Engage, learn, and collaborate.
- 🛎 Visit our Help-Desk Page: Dive into curated FAQs and guides.
- 📧 Direct Email: We're always a message away.
- 📖 Read docs: Check out our developer documentation. Happy coding!
Metadata
Release files for circle-developer-controlled-wallets 9.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| circle_developer_controlled_wallets-9.6.0.tar.gz | 85.5 kB | Without provenance | Details |
Release files / circle_developer_controlled_wallets-9.6.0.tar.gz
| Download URL | circle_developer_controlled_wallets-9.6.0.tar.gz |
|---|---|
| Size | 85.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d314acb5140bd7bcbd548bc264b7b1e995d9488069439a253403f3a5cb7b292
|
|
BLAKE2b-256 checksum How to use checksums |
681ef1f9a23d5c278470e35b1590532e80b3786b736ceccab2e3890466ecbe9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for circle-developer-controlled-wallets 9.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.