# Smart Contract Addresses

When building on Chiliz Chain, you will need to integrate certain functionalities that are provided through our smart contracts. This page provides you everything you need.

## Chiliz Chain contract addresses

{% hint style="info" %}
Addresses are the same whether you are working on Chiliz Chain Mainnet or on Spicy Testnet.
{% endhint %}

{% hint style="warning" %}
Make sure to always use the correct Chain ID in your code:

* Chiliz Chain Mainnet: `88888`
* Spicy Testnet: `88882`
  {% endhint %}

| Contract                                                     | Contract Address                           |
| ------------------------------------------------------------ | ------------------------------------------ |
| Staking                                                      | 0x0000000000000000000000000000000000001000 |
| Slashing Indicator                                           | 0x0000000000000000000000000000000000001001 |
| SystemReward                                                 | 0x0000000000000000000000000000000000001002 |
| StakingPool (wrapper of Staking, used by users, dapps, etc.) | 0x0000000000000000000000000000000000007001 |
| Governance                                                   | 0x0000000000000000000000000000000000007002 |
| ChainConfig                                                  | 0x0000000000000000000000000000000000007003 |
| RuntimeUpgrade                                               | 0x0000000000000000000000000000000000007004 |
| DeployerProxy                                                | 0x0000000000000000000000000000000000007005 |
| Tokenomics                                                   | 0x0000000000000000000000000000000000007006 |
| <p>Multicall <br><em>(Mainnet only)</em></p>                 | 0x0E6a1Df694c4be9BFFC4D76f2B936bB1A1df7fAC |

In addition to these, the FanX team has created specific contracts to work with their DEX:

{% embed url="<https://fanx.gitbook.io/fanx-docs/contract/contracts>" %}

## Fan Token contract addresses

### List of Fan Tokens

Our friends at FanX have built a full list of addresses for the current Fan Tokens, both on Chiliz Chain Mainnet and on Spicy Testnet:

{% embed url="<https://fanx.gitbook.io/fanx-docs/contract/tokens-in-fanx>" %}

### Fan Token staking contracts

For Fan Token staking, you can use these addresses on Chiliz Chain Mainnet:

| Contract       | Contract Address                           |
| -------------- | ------------------------------------------ |
| Proxy          | 0x5ff7f9724fd477d9a07dcdb894d0ca7f8fae1501 |
| Implementation | 0xD1bAfa7A246f5685cd22A563FD20fb164fAF0A4c |

## Pepper contract addresses

The [$PEPPER community token](https://www.peppercoin.com/) has its own set of addresses on Chiliz Chain Mainnet:

| Contract       | Contract Address                           |
| -------------- | ------------------------------------------ |
| Pepper Factory | 0xb06709919e0279fC7e01bfBc4Cead2dD99F74Ca8 |
| Pepper Staking | 0x5cA4C88339D89B2547a001003Cca84F62F557A72 |

## LayerZero contract addresses

Chiliz Chain implements the [LayerZero protocol](https://layerzero.network/), to make Fan Token omnichain.

{% tabs %}
{% tab title="Chiliz Chain Mainnet" %}
Layer Zero Endpoint ID (`eid`) for Chiliz Chain Mainnet: `30409`.

| Contract                                                       | Contract Address                           |
| -------------------------------------------------------------- | ------------------------------------------ |
| EndpointV2                                                     | 0x6F475642a6e85809B1c36Fa62763669b1b48DD5B |
| sendUln302                                                     | 0xC39161c743D0307EB9BCc9FEF03eeb9Dc4802de7 |
| receiveUln302                                                  | 0xe1844c5D63a9543023008D332Bd3d2e6f1FE1043 |
| <p>blockedMessageLib<br><em>(Blocked Message Library)</em></p> | 0xc1ce56b2099ca68720592583c7984cab4b6d7e7a |
| executor                                                       | 0x4208D6E27538189bB48E603D6123A94b8Abe0A0b |
| Dead DVN                                                       | 0x6788f52439ACA6BFF597d3eeC2DC9a44B8FEE842 |
| {% endtab %}                                                   |                                            |

{% tab title="Spicy Testnet" %}
Layer Zero Endpoint ID (`eid`) for Spicy Testnet: `40440`.

| Contract                                            | Contract Address                           |
| --------------------------------------------------- | ------------------------------------------ |
| EndpointV2                                          | 0x3aCAAf60502791D199a5a5F0B173D78229eBFe32 |
| sendUln302                                          | 0x45841dd1ca50265Da7614fC43A361e526c0e6160 |
| receiveUln302                                       | 0xd682ECF100f6F4284138AA925348633B0611Ae21 |
| <p>blockedMessageLib<br>Blocked Message Library</p> | 0xa229b65cc2191bf60bc24efcda3487d7b5c0c9f0 |
| executor                                            | 0x701f3927871EfcEa1235dB722f9E608aE120d243 |
| {% endtab %}                                        |                                            |
| {% endtabs %}                                       |                                            |

You can double-check that information in the LayerZero documentation:

{% embed url="<https://docs.layerzero.network/v2/deployments/chains/chiliz>" %}

{% embed url="<https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=chiliz>" %}

The LayerZero team also provides a quick-start guide to mint and transfer an Omnichain Fungible Token (OFT) between Chiliz Mainnet and any other supported chain:

{% embed url="<https://docs.layerzero.network/v2/deployments/evm-chains/chiliz-mainnet-oft-quickstart>" %}
