<p align="center">
  <img src="./.github/taiko-icon-blk.svg" width="80" alt="Logo for Taiko" />
</p>

<h1 align="center">
  Taiko Alethia
</h1>

<p align="center">
  The first based rollup.
</p>

<div align="center">

[![Twitter Follow](https://img.shields.io/twitter/follow/taikoxyz?style=social)](https://twitter.com/taikoxyz)
[![Discord](https://img.shields.io/discord/984015101017346058?color=%235865F2&label=Discord&logo=discord&logoColor=%23fff)](https://discord.gg/aGZYtKqMjj)

[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/taikoxyz/taiko-mono/blob/main/LICENSE)

</div>

> [!WARNING]
> The `main` branch is under active development. For the latest version of the Taiko Alethia protocol contracts (Unzen fork), please use the [`taiko-alethia-protocol-v3.0.0`](https://github.com/taikoxyz/taiko-mono/tree/taiko-alethia-protocol-v3.0.0) branch. The release process involves security measures that the `main` branch does not guarantee.

## Documentation

Get started with Taiko Alethia:

- [Taiko Alethia docs](https://docs.taiko.xyz) — High-level concepts, guides, resources, and reference pages for getting started (source: [taiko-docs](https://github.com/taikoxyz/taiko-docs)).
- [Protocol specs](./packages/protocol/docs/README.md) — In-depth specifications of the Taiko Alethia protocol for deeper understanding.
- [Smart contracts](./packages/protocol/contracts/) — Taiko Alethia protocol smart contracts, fully documented with NatSpec.

## Packages

> [!TIP]
> Make sure your node is using the latest version tags for taiko-client and taiko-geth. Check out the [node releases page](https://docs.taiko.xyz/network/software-releases) for the latest versions.

| Package                                                       | Description                                                        |
| :------------------------------------------------------------ | :----------------------------------------------------------------- |
| [balance-monitor](./packages/balance-monitor)                 | Service that monitors Ethereum L1/L2 addresses and token balances. |
| [bridge-ui](./packages/bridge-ui)                             | Bridge UI.                                                         |
| [ejector](./packages/ejector)                                 | Preconfirmation ejector service for operators with issues.         |
| [eventindexer](./packages/eventindexer)                       | Event indexer.                                                     |
| [fork-diff](./packages/fork-diff)                             | Fork diff page.                                                    |
| [nfts](./packages/nfts)                                       | NFT-related smart contracts and utilities.                         |
| [protocol](./packages/protocol)                               | Taiko Alethia protocol smart contracts.                            |
| [relayer](./packages/relayer)                                 | Bridge backend relayer.                                            |
| [supplementary-contracts](./packages/supplementary-contracts) | Supplementary contracts not part of the Taiko Alethia protocol.    |
| [taiko-client](./packages/taiko-client)                       | Taiko Alethia client implementation in Go.                         |
| [taiko-client-rs](./packages/taiko-client-rs)                 | Taiko Alethia client implementation in Rust.                       |

## Issues

If you find a bug or have a feature request, please [open an issue](https://github.com/taikoxyz/taiko-mono/issues/new/choose).

## Contributing

Check out [CONTRIBUTING.md](./CONTRIBUTING.md) for details on how to contribute. You can also check out our grants cycle at [https://taiko.xyz/grant-program](https://taiko.xyz/grant-program).

## Getting support

Reach out to the community on [Discord](https://discord.gg/7cAp9kQ8) if you need any help!
