# Token contracts

## Token contracts on mainnet

### Ethereum

* WHITE: [0x9cdf242ef7975d8c68d5c1f5b6905801699b1940](https://etherscan.io/token/0x9cdf242ef7975d8c68d5c1f5b6905801699b1940)
* USDX: [0x54e43f06c5f974efdaddce8122060814e3881a45](https://etherscan.io/address/0x54e43f06c5f974efdaddce8122060814e3881a45)
* WHITENET: [0x051532857b47269b04f9af17998aa47a4ab4c3f4](https://etherscan.io/token/0x051532857b47269b04f9af17998aa47a4ab4c3f4)

### Arbitrum

* WHITE: [0x9cdf242Ef7975D8c68D5C1F5B6905801699b1940](https://arbiscan.io/token/0x9cdf242Ef7975D8c68D5C1F5B6905801699b1940)

### Solana

* WHITE: [ENWC66tsY6cyqSrd8a7S9ETc712xCcSAuGcRUwSMWhyo](https://solscan.io/token/ENWC66tsY6cyqSrd8a7S9ETc712xCcSAuGcRUwSMWhyo)
* WHITENET: [43bd7CsBtGZdzdAzrKyJHJhvcz32XuMj6EiH18eBR8cQ](https://solscan.io/token/43bd7CsBtGZdzdAzrKyJHJhvcz32XuMj6EiH18eBR8cQ)

## Proxy contracts

WHITE, USDX and WHITENET are both 'proxy contracts', which means that the token contracts are 'upgradeable': changes can be made.&#x20;

By default, smart contracts are 'immutable'. Once a contract is deployed, it can never be changed. This is useful for tokens that live on a specific chain with basic features and short code, for example memecoins. These tokens do not need any (future) changes.&#x20;

However, for utility tokens upgradeability can be an important and needed technical implementation. Most important, it allows bugs in the contract to be fixed without having to redeploy the token and make all the token holders migrate over to a new token.&#x20;

The same applies when new features are being added, for example compatibility with a cross-chain bridge, adding gasless approvals, governance changes, staking functions, compliance features and many more options that are available.

The contracts use a common proxy standard, which is called the Universal Upgradeable Proxy Standard ([UUPS](https://ercs.ethereum.org/ERCS/erc-1822)). Proxy contracts are used by big industry players, such as Circle with [USDC](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#readProxyContract), Lido with [stETH](https://etherscan.io/token/0xae7ab96520de3a18e5e111b5eaab095312d7fe84#readProxyContract), and Aave Labs with [AAVE](https://etherscan.io/token/0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9#readProxyContract). Proxy contracts are not a sign of risk, but are used as best practice.&#x20;

#### Token contract code

The code of the token contracts is publicly visible, since the contracts have been verified on Etherscan. You can read the code by visiting the 'code' tab on the explorer page, for example for WHITE on Ethereum: <https://etherscan.io/token/0x9cdf242ef7975d8c68d5c1f5b6905801699b1940#code>.


---

# Agent Instructions: 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:

```
GET https://docs.whiterock.fi/technical/token-contracts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
