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

# Token Contracts

## Shared features

Standard ERC-20 with EIP-2612 permit · UUPS upgradeable (EIP-1967) · EIP-7201 namespaced storage · max supply enforced on all mints · owner-controlled mint/burn · pausable transfers · `tokenURI()` returns base64-encoded ERC-7572 JSON metadata.

## L1Token (Ethereum)

Standard L1 ERC-20. Initial supply minted to a recipient at deployment. No bridge logic — when paired with an L2 token, the Optimism Standard Bridge locks/unlocks L1 supply.

Key functions: `mint()`, `burn()` (owner only), `setMaxSupply()` (≥ current supply), `pause()`/`unpause()`, `permit()`.

## L2SuperChainToken (Celo)

All L1Token features, plus:

* `IOptimismMintableERC20` — L2StandardBridge can `mint()`/`burn()` when bridging from L1
* `IERC7802` — SuperchainTokenBridge (`0x4200...0028`) can `crosschainMint()`/`crosschainBurn()` for cross-L2 transfers
* `setBridge()` / `setRemoteToken()` — link to an L1 counterpart (owner only, used in [migration](/tokenmanager/guides/l2-to-l1-migration.md))
* `burnFromTreasury()` — owner burns own balance for bridging

### Bridge modes

| Mode        | Config                          | Behavior                                                |
| ----------- | ------------------------------- | ------------------------------------------------------- |
| **Native**  | `bridge = 0`, `remoteToken = 0` | Standard token, owner controls supply                   |
| **Bridged** | both set                        | Bridge mints/burns L2 supply to mirror L1 locked supply |

## Cross-L2 transfers

`crosschainBurn()` on the source chain + `crosschainMint()` on the destination (e.g. Celo ↔ Base ↔ OP Mainnet). Aggregate supply across chains stays constant. Both restricted to the SuperchainTokenBridge.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://celopg.gitbook.io/tokenmanager/smart-contracts/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.
