crypto-com-developer-platform-client


Namecrypto-com-developer-platform-client JSON
Version 1.1.1 PyPI version JSON
download
home_pageNone
SummaryA python client to interact with @cryptocom/developer-platform-service
upload_time2025-09-11 06:54:46
maintainerNone
docs_urlNone
authorRic Arcifa
requires_python<4.0.0,>=3.8.1
licenseMIT
keywords blockchain crypto.com tool sdk
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Crypto.com Developer Platform Client.py

The **Crypto.com Developer Platform Client.py** is a Python SDK for integrating with the Crypto.com Developer Platform Service API. It simplifies access to blockchain features across the Cronos ecosystem (Cronos EVM & Cronos ZK EVM), covering native & ERC20 tokens, smart contracts, DeFi, wallets, transactions, and more.

![PyPI](https://img.shields.io/pypi/v/crypto-com-developer-platform-client)

## Features

- Blockchain interaction for Cronos EVM & ZK EVM chains
- Native and ERC20/ERC721 token operations
- Smart contract ABI & bytecode querying
- Cronos ID forward/reverse resolution
- Transactions, blocks, and fee utilities
- DeFi protocols: farms, tokens
- Exchange ticker data

## Installation

```bash
pip install crypto-com-developer-platform-client
```

### Initialize the Client

First, initialize the client with your API key. To get an API Key, please create an account and a project at https://developer.crypto.com.

```py
from crypto_com_developer_platform_client import Client
from crypto_com_developer_platform_client.interfaces.chain_interfaces import CronosZkEvm

Client.init(
    api_key="YOUR_EXPLORER_API_KEY",
    provider="https://your-provider.com"  # Optional
)
```

## Wallet

```py
from crypto_com_developer_platform_client import Wallet

wallet = Wallet.create()
print(wallet)
```

```py
balance = Wallet.get_balance("0xYourWalletAddress")
print(balance)
```

## Token

```py
from crypto_com_developer_platform_client import Token

native_balance = Token.get_native_balance("0xYourWalletAddress")
print(native_balance)
```

```py
erc20_balance = Token.get_erc20_balance("0xYourWallet", "0xTokenContract")
print(erc20_balance)
```

```py
result = Token.transfer_token("0xRecipient", 10)
print(result)
```

```py
wrap = Token.wrap_token("0xFromContract", "0xToContract", "0xReceiver", 5)
print(wrap)
```

```py
swap = Token.swap_token("0xFrom", "0xTo", "0xReceiver", 3)
print(swap)
```

## Transaction

```py
from crypto_com_developer_platform_client import Transaction

tx = Transaction.get_transaction_by_hash("0xTxHash")
print(tx)
```

```py
status = Transaction.get_transaction_status("0xTxHash")
print(status)
```

```py
count = Transaction.get_transaction_count("0xWallet")
print(count)
```

```py
gas_price = Transaction.get_gas_price()
print(gas_price)
```

```py
fee = Transaction.get_fee_data()
print(fee)
```

```py
estimate = Transaction.estimate_gas({
    "from": "0xFromAddress",
    "to": "0xToAddress",
    "value": "0xAmountInHex"
})
print(estimate)
```

## Contract

```py
from crypto_com_developer_platform_client import Contract

bytecode = Contract.get_contract_code("0xContractAddress")
print(bytecode)
```

## Block

```py
from crypto_com_developer_platform_client import Block

current = Block.get_current_block()
print(current)
```

```py
block = Block.get_by_tag("latest", tx_detail="true")
print(block)
```

## Cronos ID

```py
from crypto_com_developer_platform_client import CronosId

resolved = CronosId.forward_resolve("alice.cro")
print(resolved)
```

```py
reverse = CronosId.reverse_resolve("0xAddress")
print(reverse)
```

## DeFi

```py
from crypto_com_developer_platform_client import Defi
from crypto_com_developer_platform_client.interfaces.defi_interfaces import DefiProtocol

tokens = Defi.get_whitelisted_tokens(DefiProtocol.H2)
print(tokens)
```

```py
farms = Defi.get_all_farms(DefiProtocol.VVS)
print(farms)
```

```py
farm = Defi.get_farm_by_symbol(DefiProtocol.H2, "zkCRO-MOON")
print(farm)
```

## Exchange

```py
from crypto_com_developer_platform_client import Exchange

tickers = Exchange.get_all_tickers()
print(tickers)
```

```py
ticker = Exchange.get_ticker_by_instrument("BTC_USDT")
print(ticker)
```

## API

### Client

- `Client.init(api_key, chain_id, provider=None)`: Initialize the SDK with API key, chain, and optional provider.

### Wallet

- `Wallet.create()`: Creates a new wallet.
- `Wallet.get_balance(address)`: Returns the native token balance for a given wallet address.

### Token

- `Token.get_native_balance(address)`: Fetches native token balance.
- `Token.get_erc20_balance(address, contract_address, block_height='latest')`: Fetches ERC20 token balance.
- `Token.transfer_token(to, amount)`: Transfers tokens.
- `Token.wrap_token(from_contract_address, to_contract_address, to, amount)`: Wraps tokens.
- `Token.swap_token(from_contract_address, to_contract_address, to, amount)`: Swaps tokens.

### Transaction

- `Transaction.get_transaction_by_hash(tx_hash)`: Returns a transaction by hash.
- `Transaction.get_transaction_status(tx_hash)`: Returns the status of a transaction.
- `Transaction.get_transaction_count(address)`: Returns nonce for a wallet.
- `Transaction.get_gas_price()`: Returns current gas price.
- `Transaction.get_fee_data()`: Returns fee-related data.
- `Transaction.estimate_gas(payload)`: Estimates gas for a given transaction payload.

### Contract

- `Contract.get_contract_code(contract_address)`: Fetches contract bytecode.

### Block

- `Block.get_current_block()`: Returns the latest block.
- `Block.get_by_tag(tag, tx_detail=False)`: Returns a block by tag or number.

### CronosId

- `CronosId.forward_resolve(cronos_id)`: Resolves CronosId to address.
- `CronosId.reverse_resolve(address)`: Resolves address to CronosId.

### DeFi

- `Defi.get_whitelisted_tokens(protocol)`: Returns list of whitelisted tokens.
- `Defi.get_all_farms(protocol)`: Returns all farms.
- `Defi.get_farm_by_symbol(protocol, symbol)`: Returns specific farm by symbol.

### Exchange

- `Exchange.get_all_tickers()`: Returns all tickers.
- `Exchange.get_ticker_by_instrument(instrument_name)`: Returns specific ticker info.

## Supported Chains

The SDK supports both **Cronos EVM** and **Cronos ZK EVM** networks.

```py
from crypto_com_developer_platform_client.interfaces.chain_interfaces import CronosEvm, CronosZkEvm

CronosEvm.MAINNET     # Chain ID: 25
CronosEvm.TESTNET     # Chain ID: 338
CronosZkEvm.MAINNET   # Chain ID: 388
CronosZkEvm.TESTNET   # Chain ID: 240
```

## License

This project is licensed under the MIT License.

## Contact

If you have any questions or comments about the library, please feel free to open an issue or a pull request on our GitHub repository.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "crypto-com-developer-platform-client",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.8.1",
    "maintainer_email": null,
    "keywords": "blockchain, crypto.com, tool, SDK",
    "author": "Ric Arcifa",
    "author_email": "ricardo.arcifa@crypto.com",
    "download_url": null,
    "platform": null,
    "description": "# Crypto.com Developer Platform Client.py\n\nThe **Crypto.com Developer Platform Client.py** is a Python SDK for integrating with the Crypto.com Developer Platform Service API. It simplifies access to blockchain features across the Cronos ecosystem (Cronos EVM & Cronos ZK EVM), covering native & ERC20 tokens, smart contracts, DeFi, wallets, transactions, and more.\n\n![PyPI](https://img.shields.io/pypi/v/crypto-com-developer-platform-client)\n\n## Features\n\n- Blockchain interaction for Cronos EVM & ZK EVM chains\n- Native and ERC20/ERC721 token operations\n- Smart contract ABI & bytecode querying\n- Cronos ID forward/reverse resolution\n- Transactions, blocks, and fee utilities\n- DeFi protocols: farms, tokens\n- Exchange ticker data\n\n## Installation\n\n```bash\npip install crypto-com-developer-platform-client\n```\n\n### Initialize the Client\n\nFirst, initialize the client with your API key. To get an API Key, please create an account and a project at https://developer.crypto.com.\n\n```py\nfrom crypto_com_developer_platform_client import Client\nfrom crypto_com_developer_platform_client.interfaces.chain_interfaces import CronosZkEvm\n\nClient.init(\n    api_key=\"YOUR_EXPLORER_API_KEY\",\n    provider=\"https://your-provider.com\"  # Optional\n)\n```\n\n## Wallet\n\n```py\nfrom crypto_com_developer_platform_client import Wallet\n\nwallet = Wallet.create()\nprint(wallet)\n```\n\n```py\nbalance = Wallet.get_balance(\"0xYourWalletAddress\")\nprint(balance)\n```\n\n## Token\n\n```py\nfrom crypto_com_developer_platform_client import Token\n\nnative_balance = Token.get_native_balance(\"0xYourWalletAddress\")\nprint(native_balance)\n```\n\n```py\nerc20_balance = Token.get_erc20_balance(\"0xYourWallet\", \"0xTokenContract\")\nprint(erc20_balance)\n```\n\n```py\nresult = Token.transfer_token(\"0xRecipient\", 10)\nprint(result)\n```\n\n```py\nwrap = Token.wrap_token(\"0xFromContract\", \"0xToContract\", \"0xReceiver\", 5)\nprint(wrap)\n```\n\n```py\nswap = Token.swap_token(\"0xFrom\", \"0xTo\", \"0xReceiver\", 3)\nprint(swap)\n```\n\n## Transaction\n\n```py\nfrom crypto_com_developer_platform_client import Transaction\n\ntx = Transaction.get_transaction_by_hash(\"0xTxHash\")\nprint(tx)\n```\n\n```py\nstatus = Transaction.get_transaction_status(\"0xTxHash\")\nprint(status)\n```\n\n```py\ncount = Transaction.get_transaction_count(\"0xWallet\")\nprint(count)\n```\n\n```py\ngas_price = Transaction.get_gas_price()\nprint(gas_price)\n```\n\n```py\nfee = Transaction.get_fee_data()\nprint(fee)\n```\n\n```py\nestimate = Transaction.estimate_gas({\n    \"from\": \"0xFromAddress\",\n    \"to\": \"0xToAddress\",\n    \"value\": \"0xAmountInHex\"\n})\nprint(estimate)\n```\n\n## Contract\n\n```py\nfrom crypto_com_developer_platform_client import Contract\n\nbytecode = Contract.get_contract_code(\"0xContractAddress\")\nprint(bytecode)\n```\n\n## Block\n\n```py\nfrom crypto_com_developer_platform_client import Block\n\ncurrent = Block.get_current_block()\nprint(current)\n```\n\n```py\nblock = Block.get_by_tag(\"latest\", tx_detail=\"true\")\nprint(block)\n```\n\n## Cronos ID\n\n```py\nfrom crypto_com_developer_platform_client import CronosId\n\nresolved = CronosId.forward_resolve(\"alice.cro\")\nprint(resolved)\n```\n\n```py\nreverse = CronosId.reverse_resolve(\"0xAddress\")\nprint(reverse)\n```\n\n## DeFi\n\n```py\nfrom crypto_com_developer_platform_client import Defi\nfrom crypto_com_developer_platform_client.interfaces.defi_interfaces import DefiProtocol\n\ntokens = Defi.get_whitelisted_tokens(DefiProtocol.H2)\nprint(tokens)\n```\n\n```py\nfarms = Defi.get_all_farms(DefiProtocol.VVS)\nprint(farms)\n```\n\n```py\nfarm = Defi.get_farm_by_symbol(DefiProtocol.H2, \"zkCRO-MOON\")\nprint(farm)\n```\n\n## Exchange\n\n```py\nfrom crypto_com_developer_platform_client import Exchange\n\ntickers = Exchange.get_all_tickers()\nprint(tickers)\n```\n\n```py\nticker = Exchange.get_ticker_by_instrument(\"BTC_USDT\")\nprint(ticker)\n```\n\n## API\n\n### Client\n\n- `Client.init(api_key, chain_id, provider=None)`: Initialize the SDK with API key, chain, and optional provider.\n\n### Wallet\n\n- `Wallet.create()`: Creates a new wallet.\n- `Wallet.get_balance(address)`: Returns the native token balance for a given wallet address.\n\n### Token\n\n- `Token.get_native_balance(address)`: Fetches native token balance.\n- `Token.get_erc20_balance(address, contract_address, block_height='latest')`: Fetches ERC20 token balance.\n- `Token.transfer_token(to, amount)`: Transfers tokens.\n- `Token.wrap_token(from_contract_address, to_contract_address, to, amount)`: Wraps tokens.\n- `Token.swap_token(from_contract_address, to_contract_address, to, amount)`: Swaps tokens.\n\n### Transaction\n\n- `Transaction.get_transaction_by_hash(tx_hash)`: Returns a transaction by hash.\n- `Transaction.get_transaction_status(tx_hash)`: Returns the status of a transaction.\n- `Transaction.get_transaction_count(address)`: Returns nonce for a wallet.\n- `Transaction.get_gas_price()`: Returns current gas price.\n- `Transaction.get_fee_data()`: Returns fee-related data.\n- `Transaction.estimate_gas(payload)`: Estimates gas for a given transaction payload.\n\n### Contract\n\n- `Contract.get_contract_code(contract_address)`: Fetches contract bytecode.\n\n### Block\n\n- `Block.get_current_block()`: Returns the latest block.\n- `Block.get_by_tag(tag, tx_detail=False)`: Returns a block by tag or number.\n\n### CronosId\n\n- `CronosId.forward_resolve(cronos_id)`: Resolves CronosId to address.\n- `CronosId.reverse_resolve(address)`: Resolves address to CronosId.\n\n### DeFi\n\n- `Defi.get_whitelisted_tokens(protocol)`: Returns list of whitelisted tokens.\n- `Defi.get_all_farms(protocol)`: Returns all farms.\n- `Defi.get_farm_by_symbol(protocol, symbol)`: Returns specific farm by symbol.\n\n### Exchange\n\n- `Exchange.get_all_tickers()`: Returns all tickers.\n- `Exchange.get_ticker_by_instrument(instrument_name)`: Returns specific ticker info.\n\n## Supported Chains\n\nThe SDK supports both **Cronos EVM** and **Cronos ZK EVM** networks.\n\n```py\nfrom crypto_com_developer_platform_client.interfaces.chain_interfaces import CronosEvm, CronosZkEvm\n\nCronosEvm.MAINNET     # Chain ID: 25\nCronosEvm.TESTNET     # Chain ID: 338\nCronosZkEvm.MAINNET   # Chain ID: 388\nCronosZkEvm.TESTNET   # Chain ID: 240\n```\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Contact\n\nIf you have any questions or comments about the library, please feel free to open an issue or a pull request on our GitHub repository.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A python client to interact with @cryptocom/developer-platform-service",
    "version": "1.1.1",
    "project_urls": {
        "Documentation": "https://github.com/crypto-com/developer-platform-client-py#readme",
        "Homepage": "https://github.com/crypto-com/developer-platform-client-py",
        "Repository": "https://github.com/crypto-com/developer-platform-client-py"
    },
    "split_keywords": [
        "blockchain",
        " crypto.com",
        " tool",
        " sdk"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "67b1edd2f7222b3c2d03c83a33ead589d70b962fe071092ea7afcd1180d4b0a3",
                "md5": "d7acced06030b15739f922e3cf93d695",
                "sha256": "eed400fdaa917086890c9dc0199d263de4a6d1500a614a6b9372a55540419853"
            },
            "downloads": -1,
            "filename": "crypto_com_developer_platform_client-1.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d7acced06030b15739f922e3cf93d695",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.8.1",
            "size": 23572,
            "upload_time": "2025-09-11T06:54:46",
            "upload_time_iso_8601": "2025-09-11T06:54:46.528732Z",
            "url": "https://files.pythonhosted.org/packages/67/b1/edd2f7222b3c2d03c83a33ead589d70b962fe071092ea7afcd1180d4b0a3/crypto_com_developer_platform_client-1.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-11 06:54:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "crypto-com",
    "github_project": "developer-platform-client-py#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "crypto-com-developer-platform-client"
}
        
Elapsed time: 4.11482s