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.
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.
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.
Native Ethash for ETC mainnet and Mordor. Engine API for post-Merge Ethereum, validated on Sepolia with 21+ EL peers. One binary, two worlds.
Three layers: fukuii-core (chain-agnostic EVM), fukuii-env
(sync, RPC, networking), and a consensus module you can swap.
Ethash today, more tomorrow.
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.
Run a PoW node on Ethereum Classic, follow Sepolia under any consensus client, or stand up Ethereum mainnet — all from the same codebase.
Production · full sync validated
Production · full sync validated
Validated · 21+ EL peers
Configuration available
Sync modes, EVM forks, Engine API, JSON-RPC, Hive compliance, and the operational tooling around them.
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.
ExcludingPeers selectors and exponential backoffFull mainnet hard-fork coverage on the Ethereum side, plus the Olympia ECIPs on the ETC side.
JWT-authenticated authrpc on port 8551 with the full V1–V4 method set. Validated on Sepolia paired with Lighthouse.
engine_newPayloadV1..V4engine_forkchoiceUpdatedV1..V3engine_getPayloadV1..V4engine_getPayloadBodiesByHashV1 / ByRangeV1engine_exchangeCapabilitiesStandard Ethereum JSON-RPC over HTTP (8553), WebSocket (8552), and authrpc (8551). Plus a Model Context Protocol server (2025-11-25) so LLM agents can drive the node directly.
eth_*net_*web3_*debug_*trace_*admin_*txpool_*personal_*engine_*Health endpoints: /health · /readiness · /buildinfo
Twelve compliance simulators wired into CI. hive-prague is the gated PR check — every change runs through it before merge.
sync-dispatcher prevents RPC starvationResilientRollingFileAppender for log rotation that survives disk pressureObservability, predictable behaviour under load, and a verifiable supply chain — the things that matter at 3 a.m.
Prometheus metrics and Grafana dashboards out of the box, with
/health, /readiness, and /buildinfo
endpoints for orchestrators and load balancers.
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.
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.
Chain-agnostic at the bottom, opinionated at the top. Swap consensus without touching the EVM.
Engine API, beacon root handling, fork choice integration. Ethash today; pluggable tomorrow.
Networking, JSON-RPC, sync controllers, Prometheus metrics, storage glue. The "everything around the EVM" layer.
EVM, state trie, RLP, txpool. Chain-agnostic. The library you'd reach for to build the next client.
Docker images for deployments, source builds for development, and Engine API pairing with the consensus client you already run.
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
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
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
The full docs live at chippr-robotics.github.io/fukuii. These are the four most common entry points.
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.