On the numbers recorded in the repositories, xOne matches geth-XDC where it has been compared. Replay and RPC parity show 0 mismatches or 0 differing rows in the ranges tested. On net2040, every xOne seat is within 0.5% of its fair share of blocks. This post gives each number with its network, range, date and source. It also lists what nobody has compared.

geth-XDC is the reference client of the xOne project. It is the XDC fork of go-ethereum, pinned to one commit in conformance/PIN. The fork repository, XDCIndia/go-ethereum, is private. A mismatch between the two clients is a defect on one side, found by a diff (ADR-003).

Does xOne produce its share of blocks next to geth-XDC seats?

Yes, on net2040 in the windows below. In the 14-seat window, each of the four xOne seats sealed 7.11% to 7.24% of blocks. The ten geth seats sealed 7.03% to 7.24%. Fair share for 14 seats is 7.14%.

REFERENCE TABLEScroll to explore all columns →
Network Blocks, date xOne geth-XDC Source
net2040 814,798 to 840,174 (25,377 blocks), counted 2026-11-14 17:55Z Rust 1,837 (7.24%), C++ 1,809 (7.13%), Python 1,807 (7.12%), TS 1,805 (7.11%) ten seats, 1,785 to 1,838 each (7.03% to 7.24%) #140, 17:55Z comment
net2040 last 7,000 blocks, ending 839,216, counted 2026-11-14 16:55Z Rust 507 (7.24%), TS 500 (7.14%), C++ 499 (7.13%), Python 487 (6.96%) ten seats, 499 to 507 each #140, 16:55Z comment

Fair share is 1,813 blocks in the first window and 500 in the second. The comments count the miner of every canonical block on the Rust archive node. Python's 487 includes an outage of 27 minutes, recorded on xOnePy #85. In the 14-seat window, the two geth seats at 7.24% took the turns that the Python seat lost.

The same 16:55Z comment has a 24-hour window. It is not like for like, because the set had 13 seats before block 814,798. This post leaves it out.

Do xOne RPC answers equal geth-XDC answers?

For the rows that the replayed chain backs, yes: 0 rows differ on both networks. Most rows are not backed yet, so this is partial coverage. The sweep replays recorded geth-XDC requests against the xOne handlers and diffs each answer with the recorded one. See the RPC surface.

REFERENCE TABLEScroll to explore all columns →
Network Replayed tip, report date xOne rows equal geth-XDC Source
Apothem 1,800, last changed 2026-11-14 820 equal, 0 differ, 1,774 not-backed, 16 allowlisted the recorded answers (reference) apothem.json
net2040 747,006, last changed 2026-11-14 1,038 equal, 0 differ, 1,577 not-backed, 4 allowlisted the recorded answers (reference) net2040.json

A not-backed row means the data does not exist in the replayed chain, such as state above the tip. An allowlisted row is a node-local value, such as a peer count (row classes in main.rs). The replayed tips differ, so do not read one network against the other.

Does xOne replay history to the same roots as geth-XDC?

Yes, in the ranges below, with 0 mismatches. The replay executes each block on xOne's own state and compares gasUsed, receiptsRoot, logsBloom, transactionsRoot and stateRoot with the header from a geth-XDC archive. It also compares the block hash on every 100th block. The run history is in RUNS.md. See also the replay gate.

REFERENCE TABLEScroll to explore all columns →
Network Range, date xOne geth-XDC Source
Apothem 0..=432,000, 2026-11-11 0 mismatches, 432,000 blocks, 4,320 hash checks archive headers RUNS.md
net2040 0..=21,599, 2026-11-12 0 mismatches, 21,599 blocks, 215 hash checks archive headers RUNS.md
net2040 30,001..=754,336, 2026-11-12 0 mismatches, 724,336 blocks, 7,244 hash checks archive headers RUNS.md
Apothem (diagnostic, state from the archive at the pivot) 56,826,901..=57,099,999, 2026-11-11 0 mismatches, 273,099 blocks archive headers RUNS.md

The geth-XDC column has no count of its own: the archive is the reference. The diagnostic row starts from the archive's state at a pivot block. It proves execution and consensus rules, not bootstrap trust. RUNS.md has two shorter diagnostic windows, also at 0 mismatches.

Does an xOne archive node read the same state as a geth-XDC archive?

Yes, on net2040 at the heights tested. PR #416 merged on 2026-11-14 and added --gcmode archive. The PR records a comparison of a synced xOne archive node with a geth-XDC archive of the same network. See archive mode.

REFERENCE TABLEScroll to explore all columns →
Network Heights, date xOne geth-XDC Source
net2040 0, 1, 16, 18000, 21600, 44000, 177963, 525514, 754000, 827598, 832588, run of 2026-11-14 378 of 378 reads equal, 0 unsupported history answers the answers of the archive (reference) PR #416

The reads are block hash, state root, balance, nonce and code of chosen accounts, eth_getStorageAt on 0x88 slots 0 to 4, and eth_call.

Live followers also spot-checked a geth-XDC archive (RUNS.md, 2026-11-12). Net2040 0..=767,009: 0 refused blocks, 8 heights and 9 transactions equal. Apothem 0..=1,066,000: 0 refused blocks, 7 heights and 2 transactions equal.

What has nobody compared yet?

Several things. This post makes no claim on them.

  • Mainnet. This post uses no mainnet result.
  • Throughput under load. docs/perf.md says no benchmark has been run for that contract. The baseline of geth-XDC is a procedure in bench/README.md, to be run on an assigned host.
  • Sync time and datadir size against geth-XDC. No repository document records either for geth-XDC on the same network. The archive notes compare an xOne archive datadir (22.8 GB) with an xOne full node (20.6 GB), not with geth-XDC. See docs/ops/archive.md.
  • Block share on Apothem. The share counts above are net2040 only.
  • Reliability. 14.1 hours is short. The performance contract proposes 200 eligible turns, 72 hours, 3 epoch changes and 5 restarts as soak minimums, and the owner has not confirmed them.

For the two networks, see networks.

Frequently asked questions

Is xOne faster than geth-XDC?

No repository result answers that. docs/perf.md is a contract, and no benchmark under load has been run for it.

Does xOne produce blocks like geth-XDC on net2040?

In blocks 814,798 to 840,174, each xOne seat sealed 7.11% to 7.24%. The ten geth seats sealed 7.03% to 7.24%.

Does xOne give the same RPC answers as geth-XDC?

For the rows the replayed chain backs, yes: 0 rows differ on Apothem and on net2040. 1,774 Apothem rows and 1,577 net2040 rows are not backed yet.

Does xOne replay to the same state roots as geth-XDC?

Yes, in the recorded ranges. The largest is net2040 30,001..=754,336, with 0 mismatches over 724,336 blocks.

Is the geth-XDC source public?

No. The fork repository, XDCIndia/go-ethereum, is private. The xOne repository pins its commit in conformance/PIN.

Sources