EVM Module
General Ethereum Virtual Machine tools for blockchain interaction.
Overview
The EVM module provides universal tools for interacting with EVM-compatible blockchains. These tools work across multiple networks including Arbitrum, Ethereum, BSC, Polygon, and more.
Blocks
Query block data from the blockchain.
get_block
Get block information by number or hash.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | blockNumber | number | No | Block number | | blockHash | string | No | Block hash | | network | string | No | Network (default: arbitrum) |
Returns:
{
"number": 12345678,
"hash": "0x...",
"timestamp": 1234567890,
"gasUsed": "15000000",
"gasLimit": "30000000",
"transactions": 150,
"miner": "0x..."
}
get_latest_block
Get the latest block.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | network | string | No | Network name |
get_block_transactions
Get all transactions in a block.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | blockNumber | number | Yes | Block number | | network | string | No | Network name |
Contracts
Read smart contract state.
read_contract
Call a read-only contract function.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Contract address | | abi | array | Yes | Contract ABI | | functionName | string | Yes | Function to call | | args | array | No | Function arguments | | network | string | No | Network name |
Returns:
get_contract_code
Get contract bytecode.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Contract address | | network | string | No | Network name |
verify_contract
Check if an address is a contract.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Address to check | | network | string | No | Network name |
Tokens
ERC20 token operations.
get_erc20_token_info
Get token metadata.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | tokenAddress | string | Yes | Token contract address | | network | string | No | Network name |
Returns:
get_erc20_balance
Get token balance for an address.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | tokenAddress | string | Yes | Token contract | | address | string | Yes | Wallet address | | network | string | No | Network name |
Returns:
get_native_balance
Get native token balance (ETH, BNB, etc.).
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Wallet address | | network | string | No | Network name |
create_erc20_token
Deploy a new ERC20 token.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | name | string | Yes | Token name | | symbol | string | Yes | Token symbol | | network | string | No | Network name | | privateKey | string | Yes | Deployer private key |
⚠️ Requires private key for transaction signing.
NFT
ERC721/ERC1155 NFT operations.
get_nft_info
Get NFT collection info.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | contractAddress | string | Yes | NFT contract | | network | string | No | Network name |
Returns:
get_nft_owner
Get owner of a specific NFT.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | contractAddress | string | Yes | NFT contract | | tokenId | string | Yes | Token ID | | network | string | No | Network name |
get_nft_metadata
Get NFT metadata (name, image, attributes).
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | contractAddress | string | Yes | NFT contract | | tokenId | string | Yes | Token ID | | network | string | No | Network name |
get_nfts_by_owner
Get all NFTs owned by an address.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | ownerAddress | string | Yes | Owner wallet | | contractAddress | string | No | Filter by collection | | network | string | No | Network name |
Wallet
Wallet and balance operations.
get_wallet_balance
Get all balances for a wallet.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Wallet address | | network | string | No | Network name |
get_wallet_transactions
Get recent transactions for a wallet.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | address | string | Yes | Wallet address | | limit | number | No | Max transactions | | network | string | No | Network name |
Transactions
Transaction operations.
get_transaction
Get transaction details by hash.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | txHash | string | Yes | Transaction hash | | network | string | No | Network name |
Returns:
{
"hash": "0x...",
"from": "0x...",
"to": "0x...",
"value": "1000000000000000000",
"gasUsed": "21000",
"status": "success",
"blockNumber": 12345678
}
get_transaction_receipt
Get transaction receipt with logs.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | txHash | string | Yes | Transaction hash | | network | string | No | Network name |
estimate_gas
Estimate gas for a transaction.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | to | string | Yes | Recipient address | | data | string | No | Transaction data | | value | string | No | ETH value | | network | string | No | Network name |
Network
Network information.
get_network_info
Get current network details.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | network | string | No | Network name |
Returns:
get_gas_price
Get current gas price.
Parameters: | Name | Type | Required | Description | |------|------|----------|-------------| | network | string | No | Network name |
Supported Networks
| Network | Chain ID | Native Token |
|---|---|---|
| ethereum | 1 | ETH |
| bsc | 56 | BNB |
| polygon | 137 | MATIC |
| arbitrum | 42161 | ETH |
| optimism | 10 | ETH |
| base | 8453 | ETH |
| avalanche | 43114 | AVAX |
| opbnb | 204 | BNB |
| iotex | 4689 | IOTX |
Testnets
| Network | Chain ID | Native Token |
|---|---|---|
| sepolia | 11155111 | ETH |
| bsc_testnet | 97 | tBNB |
| polygon_mumbai | 80001 | MATIC |
| opbnb_testnet | 5611 | tBNB |
Additional Module Reference
Security Module
| Tool | Description |
|---|---|
analyze_token_security |
Comprehensive token analysis |
detect_rug_pull_risk |
Rug pull indicators detection |
detect_honeypot |
Honeypot token detection |
check_contract_ownership |
Ownership verification (renounced/multisig/timelock) |
get_holder_distribution |
Holder concentration & whale analysis |
analyze_contract_permissions |
Dangerous permissions detection |
verify_contract_source |
Verify source on block explorer |
Staking Module
| Tool | Description |
|---|---|
stake_eth_lido |
Stake ETH for stETH |
wrap_steth |
Wrap stETH to wstETH |
unwrap_wsteth |
Unwrap wstETH |
get_lido_stats |
Lido statistics |
stake_lp_tokens |
LP farming |
get_farming_position |
Farm position info |
Governance Module
| Tool | Description |
|---|---|
get_proposal_details |
Proposal info |
cast_vote |
Vote on proposal |
delegate_votes |
Delegate voting power |
queue_proposal |
Queue for execution |
execute_proposal |
Execute proposal |
cancel_proposal |
Cancel proposal |
ENS/Domains Module
| Tool | Description |
|---|---|
resolve_ens_name |
Resolve ENS to address |
reverse_resolve_address |
Get ENS for address |
check_ens_availability |
Check name availability |
get_ens_name_details |
Get comprehensive ENS info |
register_ens_name |
Register new ENS domain |
set_ens_records |
Set address, text, contenthash records |
transfer_ens |
Transfer ENS ownership |
renew_ens |
Extend registration |
create_subdomain |
Create ENS subdomain |
Deployment Module
| Tool | Description |
|---|---|
deploy_contract |
Deploy from bytecode |
deploy_create2 |
Deterministic CREATE2 deployment |
deploy_proxy |
Deploy upgradeable proxy |
upgrade_proxy |
Upgrade proxy implementation |
verify_contract |
Verify on block explorer |
predict_create2_address |
Predict CREATE2 address |
MEV Protection Module
| Tool | Description |
|---|---|
send_private_transaction |
Send via Flashbots Protect |
simulate_bundle |
Simulate transaction bundle |
check_mev_exposure |
Analyze MEV risk for swaps |
get_mev_protection_info |
Get protection options |
Environment Variables
| Variable | Description |
|---|---|
PRIVATE_KEY |
Default private key for write operations |
RPC_URL_ARBITRUM |
Custom Arbitrum RPC |
RPC_URL_ETHEREUM |
Custom Ethereum RPC |
RPC_URL_BSC |
Custom BSC RPC |
RPC_URL_POLYGON |
Custom Polygon RPC |