> For the complete documentation index, see [llms.txt](https://docs.seismic.systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.seismic.systems/reference/repos.md).

# Repos

This document describes how the Seismic repos are organized.

## Stack Overview

![](/files/GuAzHLd5Nu9TkCfi9myh)

## Repositories

| Repo                                                                                 | Upstream Fork                                                                 | What It Does                                                                           |
| ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [summit](https://github.com/SeismicSystems/summit)                                   | — (original)                                                                  | Consensus client (Simplex protocol via Commonware)                                     |
| [seismic-reth](https://github.com/SeismicSystems/seismic-reth)                       | [paradigmxyz/reth](https://github.com/paradigmxyz/reth)                       | Full execution client with TEE, encrypted RPC, genesis builder                         |
| [seismic-foundry](https://github.com/SeismicSystems/seismic-foundry)                 | [foundry-rs/foundry](https://github.com/foundry-rs/foundry)                   | sforge/sanvil/scast dev tools                                                          |
| [seismic-solidity](https://github.com/SeismicSystems/seismic-solidity)               | [ethereum/solidity](https://github.com/ethereum/solidity)                     | Compiler: adds suint, sbool, saddress shielded types                                   |
| [seismic-revm](https://github.com/SeismicSystems/seismic-revm)                       | [bluealloy/revm](https://github.com/bluealloy/revm)                           | Mercury EVM: CLOAD/CSTORE, 6 precompiles, flagged storage                              |
| [seismic-evm](https://github.com/SeismicSystems/seismic-evm)                         | [alloy-rs/evm](https://github.com/alloy-rs/evm)                               | Seismic block execution layer                                                          |
| [seismic-alloy](https://github.com/SeismicSystems/seismic-alloy)                     | — (original)                                                                  | Rust SDK: TxSeismic type, encryption-aware providers                                   |
| [seismic-alloy-core](https://github.com/SeismicSystems/seismic-alloy-core)           | [alloy-rs/core](https://github.com/alloy-rs/core)                             | Shielded types (suint, sbool, saddress), FlaggedStorage primitive                      |
| [seismic-trie](https://github.com/SeismicSystems/seismic-trie)                       | [alloy-rs/trie](https://github.com/alloy-rs/trie)                             | Merkle trie encoding for FlaggedStorage values                                         |
| [seismic-enclave](https://github.com/SeismicSystems/enclave)                         | — (original)                                                                  | ECDH + AES-GCM crypto for tx encryption/decryption                                     |
| [seismic-revm-inspectors](https://github.com/SeismicSystems/seismic-revm-inspectors) | [paradigmxyz/revm-inspectors](https://github.com/paradigmxyz/revm-inspectors) | EVM tracing/debugging with Seismic support                                             |
| [seismic-compilers](https://github.com/SeismicSystems/seismic-compilers)             | [foundry-rs/compilers](https://github.com/foundry-rs/compilers)               | Compiler integration for sforge                                                        |
| [seismic-foundry-fork-db](https://github.com/SeismicSystems/seismic-foundry-fork-db) | [foundry-rs/foundry-fork-db](https://github.com/foundry-rs/foundry-fork-db)   | Fork DB with FlaggedStorage support                                                    |
| [seismic-client](https://github.com/SeismicSystems/seismic-client)                   | — (original)                                                                  | TypeScript client (Viem actions + Wagmi hooks)                                         |
| [src20-factory](https://github.com/SeismicSystems/src20-factory)                     | — (original)                                                                  | Factory contract + CLI/SDK/Web/API for deploying SRC20 tokens without a local compiler |

## Fork Management

Every forked repo has:

* A `seismic` branch as the default branch containing all Seismic modifications
* An upstream tracking branch (usually `main`, but notably `master` for seismic-foundry and `develop` for seismic-solidity)
* Periodic rebases or merges from upstream to stay current

To see what Seismic has changed in any repo, compare the `seismic` branch against the upstream base:

```
https://github.com/SeismicSystems/seismic-reth/compare/main...seismic
https://github.com/SeismicSystems/seismic-revm/compare/main...seismic
https://github.com/SeismicSystems/seismic-foundry/compare/master...seismic
```

## Dependency Flow

Changes flow **bottom-up** through the stack. A change in a lower layer may require updates in everything above it:

```
alloy-core change → may require trie, revm, alloy, evm, reth, foundry updates
revm change       → may require evm, reth, foundry updates
alloy change      → may require evm, reth, foundry updates
reth change       → usually isolated
```

All repos use `[patch.crates-io]` sections in `Cargo.toml` to pin specific commits of their dependencies. When updating a dependency, you need to:

1. Make the change in the upstream repo (e.g., seismic-revm)
2. Push and note the commit hash
3. Update the `[patch]` section in downstream repos (e.g., seismic-reth, seismic-foundry)


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.seismic.systems/reference/repos.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
