> For the complete documentation index, see [llms.txt](https://financiyo.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://financiyo.gitbook.io/docs/smart-contracts/evm-extensions.md).

# EVM Extensions

Stateful EVM Extensions on the core protocol allow dApps and users to access logic outside of the EVM. Acting as a gateway, these EVM Extensions define how smart contracts can perform cross-chain transactions (via IBC) and interact with core functionalities on the Financiyo chain (e.g. staking, voting) from the EVM.

{% hint style="info" %}
**TIP**\
**Note**: Not sure what EVM extensions are? EVM extensions behave like smart contracts that are compiled and deployed within the EVM. If you are familiar with the EVM, you may know them as Precompiles. These have predefined addresses and, according to their logic, can be classified as stateful or stateless. When they change the state of the chain (transactions) or access state data (queries), extensions are considered "stateful"; when they don't, they're "stateless".
{% endhint %}

### EVM Extensions documentation[​](https://docs.evmos.org/develop/smart-contracts/evm-extensions#evm-extensions-documentation) <a href="#evm-extensions-documentation" id="evm-extensions-documentation"></a>

Find in this section an outline of the currently implemented EVM extensions with transactions, queries, and examples of using them:

* [Authorization interfaces (read first if you're new to EVM extensions)](https://docs.evmos.org/develop/smart-contracts/evm-extensions/authorization)
* [EVM Extensions shared types](https://docs.evmos.org/develop/smart-contracts/evm-extensions/types)
* [`x/staking` module EVM extension](https://docs.evmos.org/develop/smart-contracts/evm-extensions/staking)
* [`x/distribution` module EVM extension](https://docs.evmos.org/develop/smart-contracts/evm-extensions/distribution)
* [`ibc/transfer` module EVM extension](https://docs.evmos.org/develop/smart-contracts/evm-extensions/ibc-transfer)

{% hint style="info" %}
**TIP**

**Note**: Find the EVM Extensions Solidity interfaces and examples in the [Evmos Extensions repo](https://github.com/evmos/extensions).
{% endhint %}

### Other Learning Resources[​](https://docs.evmos.org/develop/smart-contracts/evm-extensions#other-learning-resources) <a href="#other-learning-resources" id="other-learning-resources"></a>

* [EVM Extensions - Staking & Distribution](https://academy.evmos.org/articles/advanced/evm-extensions-stk-distr) academy article
* [Diving into EVM Extensions Workshop (DoraHacks Hackathon)](https://www.youtube.com/live/pJhOfZ0ScAE?feature=share)
