> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc-agui.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# EVM (Ethereum Virtual Machine)

> EvmTools enables agents to interact with Ethereum and EVM-compatible blockchains for transactions and smart contract operations.

## Example

The following agent can interact with Ethereum blockchain:

```python theme={null}
from agno.agent import Agent
from agno.tools.evm import EvmTools

agent = Agent(
    instructions=[
        "You are a blockchain assistant that helps with Ethereum transactions",
        "Help users send transactions and interact with smart contracts",
        "Always verify transaction details before executing",
        "Provide clear information about gas costs and transaction status",
    ],
    tools=[EvmTools()],
)

agent.print_response("Check my account balance and send 0.01 ETH to 0x742d35Cc6634C0532925a3b8D4034DfA8e5D5C4B", stream=True)
```

## Toolkit Params

| Parameter                 | Type            | Default | Description                                                   |
| ------------------------- | --------------- | ------- | ------------------------------------------------------------- |
| `private_key`             | `Optional[str]` | `None`  | Private key for signing transactions. Uses EVM\_PRIVATE\_KEY. |
| `rpc_url`                 | `Optional[str]` | `None`  | RPC URL for blockchain connection. Uses EVM\_RPC\_URL.        |
| `enable_send_transaction` | `bool`          | `True`  | Enable transaction sending functionality.                     |

## Toolkit Functions

| Function           | Description                                                  |
| ------------------ | ------------------------------------------------------------ |
| `send_transaction` | Send ETH or interact with smart contracts on the blockchain. |
| `get_balance`      | Get ETH balance for an address.                              |
| `get_transaction`  | Get transaction details by hash.                             |
| `estimate_gas`     | Estimate gas cost for a transaction.                         |

## Developer Resources

* View [Tools Source](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/evm.py)
* [Web3.py Documentation](https://web3py.readthedocs.io/)
* [Ethereum Documentation](https://ethereum.org/developers/)
