- **Rate limits**: Higher with key (see [Block Explorer and API Keys](https://docs.cronos.org/block-explorers/block-explorer-and-api-keys))
- **Account dashboard**: View API keys, contract verification status
---
## API Format
Per [Cronos docs](https://docs.cronos.org/block-explorers/block-explorer-and-api-keys#5-using-apis):
```
GET https://explorer-api.cronos.org/mainnet/api/v1/{module}/{action}?apikey={key}
```
**Working endpoint (tested):**
-`api/v1/ethproxy/getBlockNumber` — returns current block
**Blockscout-style** (`?module=X&action=Y`) is documented at [cronos.org/explorer/api-docs](https://cronos.org/explorer/api-docs). Forge `verify-contract --verifier blockscout` is incompatible (Cronos API path/format differs). Use manual verification at explorer.cronos.org/verifyContract.
---
## Contract Verification
Per [Contract Deployment and Verification](https://docs.cronos.org/for-dapp-developers/cronos-smart-contract/contract-verification):
### 1. Web interface (recommended for Foundry users)
-`forge verify-contract` does not successfully submit verification to Cronos Explorer (legacy Etherscan-style POST returns 404; Etherscan v2 does not support chain id 25).
- Run `./scripts/deployment/verify-cronos-contracts.sh` to confirm bytecode on RPC and print manual steps (optional `CRONOS_EXPORT_SOURCES=1` to regenerate Standard-JSON).
- **Recommended**: Manual verification via the web interface above and `docs/deployment/CRONOS_VERIFICATION_RUNBOOK.md`
for addr in 0x99B3511A2d315A497C8112C1fdd8D508d4B1E506 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 0x3Cc23d086fCcbAe1e5f3FE2bA4A263E1D27d8Cab 0x105F8A15b819948a89153505762444Ee9f324684; do
5. If the API returns `Invalid parameter(s)` or `JSON files not found`, prefer the web UI and upload the generated `*_standard_input.json` file instead of retrying the API blindly.