# Cronos, EVM Chain for the Crypto.com Ecosystem

## Cronos RPC plans and rate limits

- **Free plan:** 20 responses per second, up to 100,000 responses a day.
- **Plans:** $49/mo, $299/mo, $999/mo with 25M, 150M, and 500M included responses. Overages billed at $5/$3/$2 per million responses respectively.
- **Paid rate limits:** 100 to 5,000 responses per second (bursts from 500 to 10,000), no daily limit.
- **Billing:** 1 response = 1 API credit on every shared plan, over HTTPS or WebSocket (WSS) where Cronos supports it.

Details: [Pricing](https://www.dwellir.com/docs/getting-started/pricing) · [Rate limits](https://www.dwellir.com/docs/getting-started/rate-limits) · [Authentication](https://www.dwellir.com/docs/getting-started/authentication) · [Archive nodes](https://www.dwellir.com/docs/getting-started/archive-nodes)

## Why Build on Cronos?

Cronos is an EVM-compatible Layer 1 built with the Cosmos SDK and Tendermint consensus. It powers the Crypto.com ecosystem while offering a familiar developer experience for Solidity teams.

### Production-Ready Performance

- \~5–6 second block times with immediate probabilistic finality
- Scales via IBC interoperability with the broader Cosmos network
- Optimized for low fees (fractions of a cent per transaction)

### Strong Ecosystem & Liquidity

- Native integration with Crypto.com App and Exchange
- 1M+ unique addresses and $100M+ TVL across DeFi protocols
- Bridges to Ethereum, Cosmos Hub, and other chains via Gravity Bridge & IBC

### Developer-Friendly Tooling

- Full Ethereum JSON-RPC surface, compatible with Hardhat, Foundry, Truffle
- EVM bytecode equivalence, deploy existing Solidity contracts without changes
- Rich tooling for gaming (Cronos Play), DeFi, and NFTs

## Quick Start

Connect to Cronos with Dwellir's globally distributed infrastructure:

Cronos shared endpoints currently publish mainnet access in the public catalog. If you need a separate testnet endpoint, contact our team for provisioning.

## Network Information

| Parameter          | Value         | Details |
| ------------------ | ------------- | ------- |
| Mainnet Chain ID   | 25 (0x19)     |         |
| Testnet Chain ID   | 338 (0x152)   |         |
| Native Token       | CRO           |         |
| Average Block Time | \~5.6 seconds |         |

## Installation & Setup

ethers.js v6
web3.js
viem
web3.py

```javascript
import { JsonRpcProvider } from 'ethers';

const provider = new JsonRpcProvider('https://api-cronos-mainnet-archive.n.dwellir.com/YOUR_API_KEY');

const { chainId } = await provider.getNetwork();
console.log('Cronos chain ID:', chainId); // 25n

const block = await provider.getBlock('latest');
console.log('Latest block:', block.number);
```

```javascript
import Web3 from 'web3';

const web3 = new Web3('https://api-cronos-mainnet-archive.n.dwellir.com/YOUR_API_KEY');

const gasPrice = await web3.eth.getGasPrice();
console.log('Cronos gas price (wei):', gasPrice);

const balance = await web3.eth.getBalance('0x000000000000000000000000000000000000dead');
console.log('Balance:', web3.utils.fromWei(balance, 'ether'), 'CRO');
```

```typescript
import { createPublicClient, defineChain, http } from 'viem';

const cronos = defineChain({
  id: 25,
  name: 'Cronos',
  nativeCurrency: { name: 'Cronos', symbol: 'CRO', decimals: 18 },
  rpcUrls: {
    default: { http: ['https://api-cronos-mainnet-archive.n.dwellir.com/YOUR_API_KEY'] }
  }
});

const client = createPublicClient({ chain: cronos, transport: http() });

const gas = await client.estimateGas({
  account: '0x000000000000000000000000000000000000dead',
  to: '0x0000000000000000000000000000000000000000',
  value: 0n
});
console.log('Estimated gas:', gas);
```

```python
from web3 import Web3

w3 = Web3(Web3.HTTPProvider('https://api-cronos-mainnet-archive.n.dwellir.com/YOUR_API_KEY'))

assert w3.is_connected()
print('Chain ID:', w3.eth.chain_id)  # 25

tx_count = w3.eth.get_transaction_count('0x0000000000000000000000000000000000000000')
print('Nonce:', tx_count)
```

## API Reference

Cronos exposes the standard Ethereum JSON-RPC interface. Method deep-dives will be added soon; use the dropdown for existing guides and compatibility hints.

Cronos shared RPC endpoints do not expose Optimism-style rollup helpers such as `rollup_getInfo`, `rollup_gasPrices`, or `eth_estimateL1Fee`.

## Network Architecture

- **Consensus**: Proof-of-Authority (PoA) variant built on Tendermint for fast finality
- **IBC Enabled**: Interoperates with Cosmos Hub, Crypto.org, and other IBC networks
- **Gravity Bridge**: Facilitates asset transfers to/from Ethereum and other ERC-20 ecosystems
- **Cronos Play**: Middleware stack for game developers integrating Unity, Unreal, and C++ SDKs

## Bridging Assets

- **Cronos Bridge**: [bridge.cronos.org](https://cronos.org/bridge/) for ETH  CRO transfers
- **Gravity Bridge**: Move ERC-20 tokens from Ethereum without centralized custody
- **IBC Transfers**: Swap assets between Cronos and Cosmos chains using IBC-enabled wallets like Keplr

## Best Practices

1. **Gas Strategy:** Fetch `eth_feeHistory` or `eth_gasPrice` to adapt to variable network load.
2. **Unit Conventions:** Gas is paid in CRO (18 decimals). Use `web3.utils.toWei` or viem helpers to avoid rounding errors.
3. **Monitor Finality:** Wait for a few confirmations, usually 3 to 5 blocks, before acting on large-value transfers.
4. **Use IBC Safely:** Confirm counterparty channel IDs when transferring assets cross-chain.

## Tooling & Resources

- [Cronos Documentation](https://docs.cronos.org/)
- [Cronoscan Explorer](https://explorer.cronos.org/)
- [Testnet Explorer](https://explorer.cronos.org/testnet)
- [Get a Dwellir API Key](https://dashboard.dwellir.com/register)

Start building performant, EVM-compatible apps on Cronos with Dwellir's resilient infrastructure.
