# EVM Compatibility

## Overview

BitBadges Chain integrates the Cosmos `x/evm` module to enable Ethereum Virtual Machine (EVM) compatibility. Solidity contracts can interact with the tokenization module through precompiled contracts.

## Architecture

```
Solidity Contract → EVM Precompile → Tokenization Module → Cosmos SDK State
```

**Precompile Address:** `0x0000000000000000000000000000000000001001`

## Documentation

* [**Setup & Configuration**](https://docs.bitbadges.io/token-standard/evm_integration/setup-and-configuration) - Chain config, MetaMask setup, dApp setup
* [**Developer Guide**](https://docs.bitbadges.io/token-standard/evm_integration/developer-guide) - Transaction signing, address conversion, limitations
* [**Architecture**](https://docs.bitbadges.io/token-standard/evm_integration/architecture) - System architecture details
* [**ERC-3643 Security Token Template**](https://github.com/trevormil/bitbadges-docs/blob/master/evm/evm-precompiles/erc3643-template.md) - Standardized security token template
* [**Tokenization Precompile API**](https://docs.bitbadges.io/token-standard/evm_integration/tokenization-precompile/api) - Complete API reference
* [**Error Handling**](https://docs.bitbadges.io/token-standard/evm_integration/tokenization-precompile/errors) - Error codes and handling
* [**Gas Costs**](https://docs.bitbadges.io/token-standard/evm_integration/tokenization-precompile/gas) - Gas calculation and optimization
* [**Security**](https://docs.bitbadges.io/token-standard/evm_integration/tokenization-precompile/security) - Security best practices

## Resources

* [Cosmos SDK EVM Documentation](https://docs.cosmos.network/evm/v0.5.0/documentation/overview)
* [Tokenization Module](https://docs.bitbadges.io/token-standard/x-tokenization)
* [Counter dApp Example](https://github.com/BitBadges/bitbadgeschain/tree/evm-poc/counter-dapp)
* [Contracts Folder](https://github.com/BitBadges/bitbadgeschain/tree/evm-poc/contracts)
