Alpha · Olympia · Engine API on Sepolia

The Ethereum client built for operators.

Fukuii is an EVM-compliant execution layer client in Scala 3. Run it on ETC and Mordor natively, or pair it with any consensus client — Lighthouse, Prysm, Teku, Lodestar, Nimbus — to follow Ethereum mainnet or Sepolia via Engine API V1–V4 through Prague/Electra.

0 tests passing
0 Hive simulators
0 supported networks
0 sync modes
JDK 25 LTS Scala 3.3 LTS · Pekko 1.1

An independent execution client for ETC and Ethereum.

A continuation of Mantis, IOHK's Scala client — modernised to Scala 3 and pointed at a single goal: a credible second non-Geth EVM client for both Ethereum Classic and post-Merge Ethereum.

Dual EL client

Native Ethash for ETC mainnet and Mordor. Engine API for post-Merge Ethereum, validated on Sepolia with 21+ EL peers. One binary, two worlds.

Pluggable consensus

Three layers: fukuii-core (chain-agnostic EVM), fukuii-env (sync, RPC, networking), and a consensus module you can swap. Ethash today, more tomorrow.

Broad API surface

JSON-RPC over HTTP and WebSocket, trace and txpool introspection, GraphQL, and an MCP server — plus health, readiness, and buildinfo endpoints for your load balancer.

One client, four chains.

Run a PoW node on Ethereum Classic, follow Sepolia under any consensus client, or stand up Ethereum mainnet — all from the same codebase.

Ethereum Classic chain 61

Production · full sync validated

  • Consensus: PoW Ethash
  • Sync: SNAP / fast / regular
  • Native execution & consensus
Mordor chain 63

Production · full sync validated

  • Consensus: PoW Ethash
  • Sync: SNAP / fast / regular
  • ETC testnet
Sepolia chain 11155111

Validated · 21+ EL peers

  • Consensus: PoS via Engine API
  • Paired with Lighthouse
  • Engine API V1–V4
Ethereum Mainnet chain 1

Configuration available

  • Consensus: PoS via Engine API
  • Pair with any CL
  • Prague / Electra ready

Everything an execution client should be.

Sync modes, EVM forks, Engine API, JSON-RPC, Hive compliance, and the operational tooling around them.

SNAP, fast, and regular sync

Three sync modes with bootstrap checkpoints from well-known fork blocks, automatic fallback between modes, and in-place pivot refresh so a stale state root doesn't cost you the whole sync.

  • SNAP — flat storage, deferred Merkleization, adaptive batching, capability check, dynamic concurrency, partial-range resume
  • Fast — headers → state → bodies, with ExcludingPeers selectors and exponential backoff
  • Regular — block-by-block from genesis when you need certainty

Designed for the people who run it.

Observability, predictable behaviour under load, and a verifiable supply chain — the things that matter at 3 a.m.

Observability built in

Prometheus metrics and Grafana dashboards out of the box, with /health, /readiness, and /buildinfo endpoints for orchestrators and load balancers.

Predictable under load

Sync runs on its own dispatcher so JSON-RPC stays responsive during heavy SNAP traffic. Bootstrap checkpoints skip the peer-wait at startup, and log rotation survives disk pressure.

Verifiable supply chain

Cosign-signed container images on GHCR with SLSA build provenance and a CycloneDX SBOM, so you can verify exactly what you deploy.

Runbooks, alerting guidance, and upgrade procedures live in the operator documentation.

Three layers, cleanly separated.

Chain-agnostic at the bottom, opinionated at the top. Swap consensus without touching the EVM.

consensus module

Engine API, beacon root handling, fork choice integration. Ethash today; pluggable tomorrow.

fukuii-env

Networking, JSON-RPC, sync controllers, Prometheus metrics, storage glue. The "everything around the EVM" layer.

fukuii-core

EVM, state trie, RLP, txpool. Chain-agnostic. The library you'd reach for to build the next client.

Pick your path.

Docker images for deployments, source builds for development, and Engine API pairing with the consensus client you already run.

01

Mordor SNAP

Build from source and SNAP-sync the ETC testnet.

git clone https://github.com/chippr-robotics/fukuii
cd fukuii
sbt assembly

java -Xmx4g \
  -Dfukuii.datadir=/var/lib/fukuii \
  -Dfukuii.network=mordor \
  -jar target/fukuii-assembly-<ver>.jar mordor
02

Docker

Signed images on GHCR. Mount a datadir and go.

docker pull ghcr.io/chippr-robotics/fukuii:latest

docker run -d \
  --name fukuii \
  -p 8553:8553 \
  -p 30305:30305 \
  -v fukuii-data:/var/lib/fukuii \
  ghcr.io/chippr-robotics/fukuii:latest etc
03

Sepolia + CL

Pair with any consensus client over Engine API.

java -Xmx8g \
  -Dfukuii.network=sepolia \
  -Dfukuii.engine.enabled=true \
  -Dfukuii.engine.port=8551 \
  -Dfukuii.engine.jwt-secret=/etc/fukuii/jwt.hex \
  -jar fukuii-assembly-<ver>.jar sepolia

# then point Lighthouse / Prysm / Teku / Lodestar / Nimbus
# at http://localhost:8551 with the same JWT secret
Alpha software

Run a node. Tell us what you see.

Fukuii is in alpha and not yet recommended for production-critical workloads. Operator reports — sync behaviour, peering, resource profiles — directly shape the road to a stable release.