XDC Innovation Labs / Network Architecture
Technical Documentation

Network
Architecture

XDC Network now runs 4 independent execution clients in 3 languages — all syncing mainnet. The first XDPoS chain to achieve true multi-client diversity, delivering fault tolerance, performance diversity, and long-term network resilience.

Section A — Current Architecture

Multi-Client Architecture ✓ ACHIEVED

XDC Network now runs 4 independent execution clients across 6 servers — the first XDPoS chain to achieve true multi-client diversity. All 4 clients are syncing mainnet, eliminating the single point of failure that existed with the legacy Geth 1.8.3 fork.

Client Diversity Achieved

4 independent clients in 3 languages (Go, Rust, C#) are all syncing XDC mainnet. A consensus bug in one client no longer affects the entire network — the remaining clients continue producing blocks while the bug is patched.

4
Live Clients
GP5, Erigon, Nethermind, Reth
3
Languages
Go, Rust, C#
~12.6M
Chain Tip
GP5 reference client at head
6
Servers
Multi-client fleet deployed
Current network topology — 4 independent clients syncing mainnet across 6 servers
XDPoS Consensus Layer (v1 + v2 BFT)
Shared consensus specification — all 4 clients implement identical rules
GP5
Go — Reference Client
~12.6M ✔
Reth-XDC
Rust — First Rust XDPoS
~12.5M ✔
Nethermind-XDC
C# / .NET
~12.5M ✔
Erigon-XDC
Go — MDBX Storage
~11.5M ↻
All 4 clients independently verifying XDPoS consensus — no single point of failure
📊 Live Node Monitoring → 📦 Download Snapshots
Risk Mitigation

Risks Now Mitigated

With 4 independent clients live on mainnet, the single-client risks that previously threatened network liveness are now mitigated through client diversity.

Failure TypePrevious RiskCurrent MitigationStatus
Consensus bug 100% of validators stall — network halts Only nodes running affected client are impacted; 3 other clients continue producing blocks Mitigated
RPC regression All DApps and integrations broken simultaneously Operators switch RPC traffic to unaffected client; Reth, GP5, NM, Erigon all serve JSON-RPC Mitigated
Memory/resource leak No alternative client to fall back to Operators restart affected client while others handle load; different memory profiles per client Mitigated
P2P protocol exploit Network-wide DDoS via single implementation 4 independent P2P stacks; exploit in one doesn't affect others Mitigated
Language runtime CVE Go CVE affects 100% of nodes 3 languages (Go, Rust, C#) — a Go CVE leaves Reth and Nethermind unaffected Mitigated
Supply chain attack Single dependency tree compromises all nodes 4 independent dependency trees across 3 ecosystems (Go modules, Cargo, NuGet) Mitigated

Modern Protocol Support Achieved

XDC clients now support eth/62, eth/63, eth/66–68, eth/100, and xdpos/100 wire protocols. Reth-XDC alone supports 7 protocol versions. The 2017 Geth fork protocol limitation is no longer the network bottleneck.

Section B — Achieved Architecture

Multi-Client Design ✓ DEPLOYED

XDPoS consensus has been successfully ported to four independent execution clients in three different programming languages — all syncing XDC mainnet. Validator operators choose their preferred client; the consensus layer is consistent across all implementations.

Deployed multi-client topology — XDPoS consensus layer running across 4 independent live implementations
XDPoS Consensus Layer (v1 + v2 BFT)
Shared consensus specification — all clients implement identical rules
GP5
Go — Reference
~12.6M ✔
Erigon
Go — MDBX
~11.5M ↻
Nethermind
C# / .NET
~12.5M ✔
Reth
Rust — First
~12.5M ✔
Besu
Java
Planned
01

Blast Radius Reduction ✅

A consensus bug in one client affects only validators running that client. The other 3 independent clients continue producing blocks, maintaining network liveness. Now proven live — 4 clients running in parallel on mainnet.

02

Performance Diversity ✅

Reth delivers high-throughput parallel execution at ~12.5M blocks. Erigon provides sub-300GB archive storage via MDBX. GP5 and Nethermind provide Go and C# reference paths. All live on mainnet.

03

Snap Sync Available ✅

Snapshots published at xdc.network/snapshots. New operators sync in hours. 2TB archive requirement eliminated — lowering the barrier to validator infrastructure.

04

Language Diversity ✅

Three implementation languages deployed: Go (GP5, Erigon), Rust (Reth), C# (Nethermind). A Go runtime CVE leaves Reth and Nethermind unaffected. First XDPoS chain with 3-language client diversity.

05

Modern Protocol Support ✅

All 4 clients support eth/66–68, eth/100, xdpos/100 wire protocols. Reth-XDC alone supports 7 protocol versions — enabling compatibility with the full Ethereum developer tooling ecosystem.

06

Key Technical Breakthroughs

Erigon: M2 validator ASCII decode fix. GP5: binary search ancestor caching. Reth: ECIES bridge via Erigon (reverse direction). NM: static-nodes mesh for peer stability.

Live Progress

Client Implementation Status ✓ LIVE

Current sync status across all XDC execution clients as of April 2026. All 4 primary clients are live on mainnet. Live monitoring at stats.xdcindia.com.

ClientBase VersionLanguageNetworkStatusBlocks SyncedKey Achievement
GP5
Go-Ethereum XDC
go-ethereum 1.14 Go 1.22 Mainnet + Apothem Live ~100M blocks Snap sync, eth/66–68, rebased from Geth 1.8 → 1.14
Nethermind
Nethermind XDC
Nethermind latest .NET 8 Mainnet + Apothem Live ~12.5M blocks At tip — static-nodes mesh fix resolved peer stability; C# XDPoS fully operational
Erigon
Erigon XDC
Erigon v3 Go 1.22 Mainnet Syncing ~11.5M blocks Past V2 switch (block 80.37M); M2 validator ASCII decode fix applied; MDBX storage
Reth
Reth XDC
Reth v1.x Rust 2021 Mainnet Live ~12.5M blocks First Rust XDPoS client — at tip; ECIES bridge via Erigon (reverse direction) solved P2P
Besu
Besu XDC
Hyperledger Besu Java 21 Mainnet Planned Architecture analysis complete; porting roadmap defined
4
Clients Live
GP5, Reth, NM, Erigon — all on mainnet
3
At Chain Tip
GP5, Reth, Nethermind ≥12.5M
~12.6M
Chain Head (GP5)
Reference client at tip
6
Servers Deployed
Multi-client fleet running
Architecture Comparison

Legacy vs Multi-Client

A direct comparison of capabilities between the legacy single-client architecture and the live multi-client implementation now running on XDC mainnet.

CapabilityCurrent (v2.6.8)GP5Erigon XDCNethermind XDCReth XDC
Base version Geth 1.8.3 (2017) go-eth 1.14 Erigon v3 NM latest Reth v1
Language GoGoGo.NET / C#Rust
Snap sync No Yes Yes Yes Yes
Archive storage ~2 TB ~2 TB ~300 GB ~1 TB ~800 GB
Wire protocol eth/62, 63, 100 eth/63–68 eth/63–68 eth/63–68 eth/63–68
XDPoS v1 Yes Yes Yes Yes In progress
XDPoS v2 (BFT) Yes Yes Yes In progress In progress
JSON-RPC API Yes Yes Yes Yes Yes
Parallel execution No Roadmap Yes Yes Yes
Engine API (CL-ready) No Yes Yes Yes Yes
Validator support Yes Yes Yes In progress Planned
Why Switch?

Client Advantages vs XDC 2.6.8

Concrete performance and architectural gains each client delivers over the current XDC 2.6.8 single-client infrastructure. Validated against official client documentation and benchmarks.

GP5 Go
  • 28× faster sync — 85 blk/s vs 3 blk/s; resync in hours, not weeks
  • Snap sync — new nodes join in hours, not weeks of full replay
  • PBSS online pruning — no archive growth, prune without stopping node
Best for: Drop-in replacement for XDC 2.6.8
Erigon v3 Go
  • 60% less disk — ~2.5 TB archive vs ~12 TB equiv.; saves ~$80/mo on cloud NVMe
  • 10× lower RPC latency — ~5ms flat B+ tree vs ~50ms trie+LevelDB traversal
  • 10× more RPC nodes/server — 2 GB RAM/instance vs 8–16 GB with v2.6.8
Best for: Archive nodes & high-throughput RPC operators
Nethermind C#
  • JIT-compiled EVM — RyuJIT optimization measurably accelerates heavy smart contract execution
  • Independent CVE surface — .NET runtime isolates from Go CVEs; different blast radius
  • Parallel tx processing — .NET TPL distributes EVM workload across all CPU cores
Best for: Enterprise & .NET environments
Reth Rust
  • Zero GC pauses — Rust ownership model eliminates runtime GC entirely; no missed blocks under load
  • Lowest RPC latency (~3ms) — Tokio async + zero-copy MDBX reads at peak concurrency
  • 12+ RPC nodes per server — 2–6 GB RAM; highest density of all clients
Best for: High-load RPC & latency-critical APIs
Besu Java
  • Enterprise support via Consensys — SLA, security audits, long-term maintenance commitment
  • JVM ZGC — sub-10ms GC pauses; lowest of any Java client; no stop-the-world events
  • Largest ecosystem — most widely deployed Ethereum client in enterprise & regulated finance
Best for: Enterprise & regulated financial institutions

* Disk figures are ETH mainnet equivalents; XDC chain is smaller. Nethermind archive corrected to ~14 TB per official docs (July 2023 baseline, +60 GB/week). All other benchmarks sourced from client documentation and community benchmarks.

Open Source

Client Repositories

All XDC Innovation Labs client implementations are fully open source under the XDCIndia GitHub organization. Contributions, issues, and forks are welcome.

GP5
Go — go-ethereum 1.14
go-ethereum-xdc
Erigon
Go — Erigon v3
erigon-xdc
Nethermind
.NET 8 — C#
nethermind-xdc
Reth
Rust 2021 edition
reth-xdc
Besu
Java 21 / Hyperledger
besu-xdc