> For the complete documentation index, see [llms.txt](https://docs.botanixlabs.com/botanix/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.botanixlabs.com/botanix/get-to-know-botanix/intermediate/ethereum-virtual-machine-evm.md).

# Ethereum Virtual Machine (EVM)

### What is the EVM?

The Ethereum Virtual Machine (EVM) is a piece of software that executes smart contracts and computes the state of the Botanix network after each new block is added to the chain. Think of it as the engine that powers all decentralized applications on the network.

The EVM sits on top of Botanix's hardware and node network layer. Its main purpose is to compute the network's state and run various types of smart contract code, compiling them into bytecode (machine-readable code that the EVM can execute).

### Why EVM for Bitcoin?

Botanix Labs chose EVM compatibility to unlock Bitcoin's potential while leveraging the most mature smart contract ecosystem in crypto. This strategic decision brings several key advantages:

**Proven Ecosystem**: The Ethereum Foundation has led the way in composable smart contract development, creating an ecosystem with the largest number of applications and developers. Rather than starting from scratch, Botanix taps into this established foundation.

**Developer Accessibility**: EVM compatibility means developers can port their dApps or tokens from Ethereum to Botanix with relative ease. Smart contracts deployed on EVM-compatible chains like Polygon, Avalanche, or Ethereum can be recognized by Botanix nodes without modification.

**Battle-Tested Security**: Solidity smart contracts benefit from the Lindy effect—the idea that older, battle-tested technology is more trustworthy. With billions of dollars secured by Solidity contracts, they experience higher levels of trust and familiarity compared to newer programming languages.

### What This Means for Users

EVM compatibility transforms Bitcoin from a simple store of value into a platform for sophisticated financial applications. Bitcoin users can now access the same types of applications available on Ethereum—from Uniswap-style DEXs to Aave-style lending protocols—but secured by Bitcoin's unmatched security and decentralization.

This means you can:

* Trade tokens on decentralized exchanges
* Lend and borrow assets
* Participate in yield farming
* Trade NFTs
* Use familiar wallets like MetaMask

### Technical Implementation

On Botanix, the EVM processes transactions and maintains network state while Bitcoin's proof-of-work provides final settlement and security. This hybrid approach combines Ethereum's programmability with Bitcoin's security model.

The EVM's composability (how different protocols can work together like building blocks) enables complex financial products and services that would be impossible on Bitcoin alone.

### Programming Language Choice

While other blockchains have chosen different paths—Solana with Rust, Starkware with Cairo—Botanix Labs opted for Solidity compatibility. From a programming language perspective, Solidity has established a stronghold in the crypto world, making it the clear choice for attracting developers and ensuring compatibility with existing tools and applications.

This decision means developers can use familiar tools like:

* Solidity for smart contract development
* Hardhat for development frameworks
* Remix for online development
* Web3.js and ethers.js for frontend integration

### Learn More

For deeper technical understanding, explore these resources:

* [Ethereum Virtual Machine (Ethereum.org)](https://ethereum.org/en/developers/docs/evm/)
* [What is Ethereum Virtual Machine (EVM) in Blockchain?](https://medium.com/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.botanixlabs.com/botanix/get-to-know-botanix/intermediate/ethereum-virtual-machine-evm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
