cdp package

Subpackages

Submodules

cdp.analytics module

cdp.api_clients module

class cdp.api_clients.ApiClients(cdp_client)

Bases: object

A container class for all API clients used in the CDP SDK.

This class provides lazy-loaded access to various API clients, ensuring that each client is only instantiated when it’s first accessed.

_cdp_client

The CDP API client used to initialize individual API clients.

Type:

CdpApiClient

_end_user

The EndUserAccountsApi client instance.

Type:

Optional[EndUserAccountsApi]

_evm_accounts

The EVMAccountsApi client instance.

Type:

Optional[EVMAccountsApi]

_evm_smart_accounts

The EVMSmartAccountsApi client instance.

Type:

Optional[EVMSmartAccountsApi]

_evm_swaps

The EVMSwapsApi client instance.

Type:

Optional[EVMSwapsApi]

_evm_token_balances

The EVMTokenBalancesApi client instance.

Type:

Optional[EVMTokenBalancesApi]

_faucets

The FaucetsApi client instance.

Type:

Optional[FaucetsApi]

_solana_accounts

The SolanaAccountsApi client instance.

Type:

Optional[SolanaAccountsApi]

_solana_token_balances

The SolanaTokenBalancesApi client instance.

Type:

Optional[SolanaTokenBalancesApi]

async close()

Close the CDP client asynchronously.

property end_user: EndUserAccountsApi

Get the EndUserAccountsApi client instance.

Returns:

The EndUserAccountsApi client instance.

Return type:

EndUserAccountsApi

property evm_accounts: EVMAccountsApi

Get the EVMAccountsApi client instance.

Returns:

The EVMAccountsApi client instance.

Return type:

EVMAccountsApi

Note

This property lazily initializes the EVMAccountsApi client on first access.

property evm_smart_accounts: EVMSmartAccountsApi

Get the EVMSmartAccountsApi client instance.

Returns:

The EVMSmartAccountsApi client instance.

Return type:

EVMSmartAccountsApi

Note

This property lazily initializes the EVMSmartAccountsApi client on first access.

property evm_swaps: EVMSwapsApi

Get the EVMSwapsApi client instance.

Returns:

The EVMSwapsApi client instance.

Return type:

EVMSwapsApi

Note

This property lazily initializes the EVMSwapsApi client on first access.

property evm_token_balances: EVMTokenBalancesApi

Get the EVMTokenBalancesApi client instance.

Returns:

The EVMTokenBalancesApi client instance.

Return type:

EVMTokenBalancesApi

Note

This property lazily initializes the EVMTokenBalancesApi client on first access.

property faucets: FaucetsApi

Get the FaucetsApi client instance.

Returns:

The FaucetsApi client instance.

Return type:

FaucetsApi

Note

This property lazily initializes the FaucetsApi client on first access.

property onchain_data: OnchainDataApi

Get the OnchainDataApi client instance.

Returns:

The OnchainDataApi client instance.

Return type:

OnchainDataApi

Note

This property lazily initializes the OnchainDataApi client on first access.

property policies: PolicyEngineApi

Get the PolicyEngineApi client instance.

Returns:

The PolicyEngineApi client instance.

Return type:

PolicyEngineApi

Note

This property lazily initializes the PolicyEngineApi client on first access.

property solana_accounts: SolanaAccountsApi

Get the SolanaAccountsApi client instance.

Returns:

The SolanaAccountsApi client instance.

Return type:

SolanaAccountsApi

Note

This property lazily initializes the SolanaAccountsApi client on first access.

property solana_token_balances: SolanaTokenBalancesApi

Get the SolanaTokenBalancesApi client instance.

Returns:

The SolanaTokenBalancesApi client instance.

Return type:

SolanaTokenBalancesApi

Note

This property lazily initializes the SolanaTokenBalancesApi client on first access.

cdp.base_node_rpc_url module

cdp.cdp_client module

cdp.constants module

Specifies package level constants used throughout the package.

cdp.constants.SDK_DEFAULT_SOURCE = 'sdk'

The public RSA key used to encrypt the private key when importing an EVM or Solana account.

cdp.end_user_client module

cdp.errors module

Custom error types for the CDP SDK.

exception cdp.errors.UserInputValidationError(message)

Bases: ValueError

UserInputValidationError is thrown when validation of a user-supplied input fails.

cdp.evm_call_types module

cdp.evm_client module

cdp.evm_local_account module

cdp.evm_message_types module

cdp.evm_server_account module

cdp.evm_smart_account module

cdp.evm_token_balances module

cdp.evm_transaction_types module

cdp.export module

cdp.network_capabilities module

cdp.network_config module

cdp.network_scoped_evm_server_account module

cdp.network_scoped_evm_smart_account module

cdp.policies_client module

cdp.solana_account module

cdp.solana_client module

cdp.solana_token_balances module

cdp.update_account_types module

cdp.update_smart_account_types module

cdp.utils module

exception cdp.utils.InvalidDecimalNumberError(value)

Bases: Exception

Exception raised for invalid decimal number strings.

Parameters:

value – The invalid decimal number string

cdp.utils.create_deterministic_uuid_v4(base_key, suffix='')

Create a deterministic UUID v4 from a base key and optional suffix.

This function generates a deterministic UUID by hashing the input components. Used for creating consistent idempotency keys across operations.

Parameters:
  • base_key (str) – The base key to generate the UUID from

  • suffix (str) – An optional suffix to append to the base key

Returns:

A deterministic UUID v4 string

Return type:

str

Examples

>>> create_deterministic_uuid_v4("my-base-key", "permit2")
"a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6"
>>> create_deterministic_uuid_v4("my-base-key")
"f1e2d3c4-b5a6-4798-8765-432109abcdef"
async cdp.utils.ensure_awaitable(func, *args, **kwargs)

Ensure a function call returns an awaitable result.

Works with both synchronous and asynchronous functions.

Parameters:
  • func – The function to call

  • *args – Arguments to pass to the function

  • **kwargs – Arguments to pass to the function

Returns:

The awaited result of the function

cdp.utils.parse_units(value, decimals)

Parse a decimal number string into an integer.

Parameters:
  • value (str) – The decimal number string to parse

  • decimals (int) – The number of decimal places

Return type:

int

Returns: The parsed integer

Raises:

InvalidDecimalNumberError – If the value is not a valid decimal number

cdp.utils.serialize_unsigned_transaction(transaction)

Serialize an unsigned transaction.

Parameters:

transaction (DynamicFeeTransaction) – The transaction to serialize

Return type:

str

Returns: The serialized transaction

cdp.utils.sort_keys(obj)

Recursively sorts object keys to ensure consistent JSON stringification.

Parameters:

obj (dict) – The object to sort

Return type:

dict

Returns:

A new object with sorted keys

Examples

>>> sort_keys({"b": 1, "a": 2})
{'a': 2, 'b': 1}
>>> sort_keys({"b": {"d": 1, "c": 2}, "a": 3})
{'a': 3, 'b': {'c': 2, 'd': 1}}

Module contents