var img = document.createElement('img'); img.src = "https://nethermind.matomo.cloud//piwik.php?idsite=6&rec=1&url=https://www.surge.wtf" + location.pathname; img.style = "border:0"; img.alt = "tracker"; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(img,s);
Skip to main content

Components & Repositories

Overview of every component in the Surge stack, what it does, where the code lives, and which branch to use.

Component Diagram

User --(UserOps)----> Catalyst --(proof req)----> Raiko/Zisk
| |
simulate L1+L2 GPU proving
| (~10-17s)
v |
Multicall to L1 <-----------------+
+------+-------+
| propose() |----> RealTimeInbox (L1)
+--------------+ |
v v
Driver <---- ProposedAndProved event
|
NMC / Alethia-Reth (L2 execution)

Off-Chain Components

surge-taiko-mono

Monorepo for protocol contracts (RealTimeInbox, SurgeVerifier, Bridge, SignalService, Anchor) and the Driver (taiko-client).

  • Branches: surge-alethia-real-time-driver, surge-alethia-real-time-inbox
  • Key paths: packages/protocol/, packages/taiko-client/

simple-surge-node

Deployment scripts and orchestration.

  • Branch: shasta-poc
  • Contains deploy-surge-full.sh (the main deployment script), .env.devnet, docker-compose files
  • Handles everything from protocol deployment to genesis creation to L2 stack startup

raiko

ZK prover server. Receives proof requests from Catalyst, delegates to the Zisk zkVM backend, returns validity proofs.

  • Branch: surge-alethia-real-time-proving
  • Key endpoint: POST /v3/proof/batch/realtime
  • Requires CUDA-capable GPU

alethia-reth

Alternative L2 execution client (Nethermind's fork of reth with Taiko support). Implements the RealTime hardfork (TaikoHardfork::RealTime, TaikoSpecId::REALTIME = 4), including anchorV4WithSignalSlots and signal slot handling.

  • Branch: real-time-proving-migration

nethermind

Primary L2 execution client. High-performance .NET client.

  • Branch: feat/surge-real-time-poc

Catalyst

Builder/orchestrator. Receives UserOps via surge_sendUserOp RPC, simulates L1+L2 execution, requests proofs from Raiko, and submits the atomic multicall to L1. The central coordination point for synchronous composability.

Zisk

GPU-accelerated zkVM used by Raiko as the proving backend. Re-executes L2 blocks inside a ZK circuit and generates STARK+SNARK proofs. Maintained by the Zisk team (external).

On-Chain Contracts

L1

ContractPurpose
RealTimeInboxPermissionless block proposing with atomic prove-and-propose
SurgeVerifierProof verification router (+ ZiskVerifier, SP1Verifier, RISC0Verifier)
SignalServiceCross-chain message passing
BridgeAsset bridging between L1 and L2
ERC20Vault / ERC721Vault / ERC1155VaultToken vaults for bridged assets
UserOpsSubmitter + FactoryUserOp submission and deployer

L2

ContractPurpose
AnchorAnchors L1 state on L2 (golden touch address)
SignalServiceCross-chain message passing (L2 side)
BridgeAsset bridging (L2 side)

Key PRs

PRDescription
raiko#52Real-time proving support in Raiko
alethia-reth#12RealTime hardfork in Alethia-Reth
surge-taiko-mono#269Driver migration to real-time proving

Branch Strategy

Surge is under active development. Components use feature branches, not tagged releases. The branches listed above represent the latest working state.