EVM
Send native-token transfers on an EIP-1559-compatible chain using an RPC URL and private key.
Use an Agno agent to submit native-token transfers on a chain that supports EIP-1559 fees.
Prerequisites
-
Set your environment variables:
export EVM_PRIVATE_KEY=0x<your-private-key> export EVM_RPC_URL=https://your-rpc-endpoint export OPENAI_API_KEY=<your-openai-key> -
Or pass them directly to the EvmTools constructor
-
Install dependencies:
uv pip install agno openai web3
from agno.agent import Agent
from agno.tools.evm import EvmTools
# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
# Option 1: Use environment variables (recommended)
agent = Agent(
tools=[EvmTools()], # Will use EVM_PRIVATE_KEY and EVM_RPC_URL from env
)
# Option 2: Pass credentials directly (for testing only)
# private_key = "0x<private-key>"
# rpc_url = "https://0xrpc.io/sep" # Sepolia testnet
# agent = Agent(
# tools=[
# EvmTools(
# private_key=private_key,
# rpc_url=rpc_url,
# )
# ],
# )
# Convert 0.001 ETH to wei (1 ETH = 10^18 wei)
# 0.001 ETH = 1,000,000,000,000,000 wei
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
agent.print_response(
"Send 0.001 eth (which is 1000000000000000 wei) to address 0x3Dfc53E3C77bb4e30Ce333Be1a66Ce62558bE395"
)Configure a test transfer
Use a test-network RPC, a test account funded for the transfer and gas, and replace the recipient address in the prompt with your own test address. The tool signs and broadcasts a real transaction on the configured chain and waits for its receipt.
The implementation requires baseFeePerGas, submits a type-2 transaction with a fixed gas limit of 21,000, and transfers the chain's native currency. It is not an ERC-20 transfer tool or a general contract-call interface. On Ethereum, 1000000000000000 wei is 0.001 ETH.
Run the Example
# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno
git checkout d703c34f3abf3c41275d3fb2da6e0518a8881f24
# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate
uv pip install -U web3
python cookbook/91_tools/evm_tools.pyFor details, see EVM cookbook.