Skip to main content

Developer-Controlled Wallets

Project description

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.0.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

  1. 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"
    
  2. 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.

  3. 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_ciphertext function downloads a recovery file named recovery_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.

  4. In your code, use the init_developer_controlled_wallets_client function 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")
    
  5. 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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

circle_developer_controlled_wallets-9.0.0.tar.gz (84.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file circle_developer_controlled_wallets-9.0.0.tar.gz.

File metadata

File hashes

Hashes for circle_developer_controlled_wallets-9.0.0.tar.gz
Algorithm Hash digest
SHA256 20a8e7460eae22f2b6831c575842a2892424c4762ffb7c4e7fa954c0bddf9085
MD5 2f50311f7283773398c1fc2f0a00429b
BLAKE2b-256 1f8856fbcece94f4c4438c6a991f4826443c65edf44a0f2ef998977314b14cab

See more details on using hashes here.

File details

Details for the file circle_developer_controlled_wallets-9.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for circle_developer_controlled_wallets-9.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e320b3ce913ade20e56a6c30f5a21df54bc4d96f3472d58a12d7506621a1841
MD5 83e4ec385d88a7092b165f12e7ab7389
BLAKE2b-256 bfb7c341a8534ac78c8740319defa223467e9f4dd1e332a36b2bf19a6f0f1ced

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page