> For the complete documentation index, see [llms.txt](https://docs.cogitus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cogitus.io/getting-started/launching-an-l1-devnet-testnet/a-deep-dive-into-precompiles.md).

# A Deep Dive into Precompiles

Technical Overview of Precompiles

Precompiles are system-level contracts embedded directly into the Avalanche L1 protocol. Unlike traditional Solidity smart contracts, which are executed within the EVM runtime, precompiles invoke native Go functions, providing access to low-level operations that are gas-efficient and optimized for performance.

#### 📌 What Are Precompiles?

Precompiles serve as a bridge between Solidity and the underlying protocol logic, enabling developers to:

* Interact with blockchain features not natively supported in Solidity
* Execute operations like native token minting, permission changes, and governance role management
* Achieve faster execution with reduced gas costs

They are defined at specific addresses and behave like standard contracts from the perspective of the EVM but are implemented and handled directly by the Avalanche node software.

{% hint style="danger" %}
You must define precompiles during chain initialization in the genesis configuration.
{% endhint %}

To know more about precompile, refer this [documentation link](https://build.avax.network/docs/avalanche-l1s/evm-configuration/evm-l1-customization#precompiles)
