Synthesizer Documentation

The Synthesizer is the core frontend of the Tokamak zk-EVM that converts Ethereum transactions into Tokamak zk-SNARK circuits. This documentation is organized into six main sections:


1. Concepts

Start here if you're new to the Synthesizer

Learn the fundamental concepts and high-level architecture.

2. Terminology

Quick reference for Synthesizer-specific terms

Alphabetically organized glossary of key concepts, data structures, and technical terms used throughout the Synthesizer documentation.

3. Execution Flow

Understand how transactions are processed

Follow the step-by-step execution flow from transaction input to output file generation.

4. Code Architecture

Deep dive into code structure and implementation

Explore the detailed code architecture, core classes, and integration points with EthereumJS. Includes:

  • Transaction processing flow
  • Repository structure
  • Class structure and relationships
  • Practical code examples
  • Output file format reference

5. Data Structures

Master the core data types

Understand DataPt, StackPt, MemoryPt, and Placement - the key data structures for symbol processing.

6. Opcodes

Reference guide for EVM opcode implementation

Detailed opcode-by-opcode reference with circuit generation details and source code links.