This is a status report. Every number comes from a file on origin/main of the four xOne repositories, read on 2026-11-15. The newest replay rows are dated 2026-11-12 and 2026-11-13. All replay rows that close a range show 0 mismatches. The RPC parity reports show 0 differ rows on Apothem and net2040.
The method is in How xOne proves parity with geth-XDC. This post adds no interpretation to the sources. xOneTS, xOnePy and xOneC are private repositories.
What is the pin?
The pin is one geth-XDC commit: 6fc8e8c2088b7f18264f5663036669d04fa7becf. It is the content of conformance/PIN in xOneRS. Both RPC parity reports name the same commit as oracle_pin. The xOneC Gate B record names it as 6fc8e8c2, with xOne vendor commit bc93d634.
Which block ranges replay with 0 mismatches?
Each row below is copied from the RUNS.md file of the client or from the xOneC Gate B record. "Blocks" is the number in the source. The result column is the source's result.
| Client | Date | Network | Range | Blocks | V2 switches | Result |
|---|---|---|---|---|---|---|
| xOneRS | 2026-11-11 | Apothem | 0..=432,000 | 432,000 | not stated | 0 mismatches, 4,320 archive hash checks, 480 checkpoint lists |
| xOneRS | 2026-11-12 | net2040 | 0..=21,599 | 21,599 | 13 | 0 mismatches, 215 archive hash checks |
| xOneRS | 2026-11-12 | net2040 | 30,001..=754,336 | 724,336 | 809 | 0 mismatches, 7,244 archive hash checks |
| xOneTS | 2026-11-12 | net2040 | 1..21600 | 21,600 | 13 | 0 mismatches, 216 archive hashes, 4,205,493 txs |
| xOneTS | 2026-11-12 | Apothem | 1..432000 | 432,000 | 0 | 0 mismatches, 4,320 archive hashes, 480 V1 checkpoint lists |
| xOnePy | 2026-11-12 | net2040 | 1..21600 | 21,600 | 13 | 0 mismatches, 216 archive hashes (two rows, commits d071a57 and d9be98e) |
| xOnePy | 2026-11-12 | Apothem | 1801..432000 | 430,200 | 0 | 0 mismatches, 4302 archive hashes, 478 V1 checkpoint lists |
| xOnePy | 2026-11-13 | net2040 | 21601..60000 | 38,400 | 42 | 0 mismatches, 384 archive hashes, 18,427,339 txs |
| xOneC | 2026-11-13 (commit date) | net2040 | 1..21,600 | 21,600 | 13 | 0 mismatches, 216 archive hashes, 4,205,493 txs |
| xOneC | 2026-11-13 (commit date) | Apothem | 1..432,000 | 432,000 | 0 | 0 mismatches, 4,320 archive hashes, 480 checkpoint lists |
The xOneC record has no date column. The date above is the date of the commit that added it (0bc4200).
Which replay rows did not end at 0 mismatches?
The xOneRS RUNS.md keeps its failed runs. Each one is fixed, as the file states.
| Date | Network | Range | Result |
|---|---|---|---|
| 2026-11-11 | Apothem | 0..=16 | 1 mismatch at block 16 |
| 2026-11-11 | Apothem | 0..=2187 | execution error at block 2187 (a balance above 2^256) |
| 2026-11-12 | net2040 | 0..=9,916 | 1 mismatch at block 9,917 (no base fee between London and Eip1559Block) |
| 2026-11-12 | net2040 | resume 21,599, 21,600..=22,408 | 1 mismatch at block 22,409 (the checkpoint had no V2 gap snapshots) |
Which fork rows does the replay cross?
The net2040 genesis run, 0..=21,599, includes every fork row up to Amsterdam. RUNS.md names these rows:
- tipSigning 1,800, tipRandomize 3,600, tipIncreaseMasternodes 5,400.
- The 7,200 cluster: denylist, no-halving, XDCx, TRC21 fee.
- Berlin, London, Merge and Shanghai at 9,000.
- gas50x 10,800 and the V2 switch, XDCxReceiverDisable 11,700, gas2500x and eip1559 12,600.
- Cancun 14,400.
- Dynamic gas limit, tiered reward and penalty 16,200.
- Prague 18,000 and Osaka 19,800.
A separate row covers Amsterdam at 21,600..=21,700 (0 mismatches, block access list hash equal at every block).
Apothem has three diagnostic windows. Each starts from the archive's state at a pivot block, not from genesis. All three show 0 mismatches.
| Pivot..end | Blocks | V2 epoch switches | Fork row named |
|---|---|---|---|
| 56,826,900..57,099,999 | 273,099 | 302 after the V2 switch block 56,828,700 | V2 switch 56,828,700 |
| 83,596,000..83,602,999 | 6,999 | 9 (5 before, 4 from 83,600,502) | TIPFixedReward, TIPUpgradePenalty, Gas2500x at 83,600,000 |
| 84,729,000..84,735,500 | 6,500 | 7 (4 before, 3 from 84,733,320) | TIPProportionalReward at 84,733,000 |
Open gap: the Apothem genesis run stops at 432,000. It does not reach TIPSigning at 3,000,000.
What do the RPC parity reports say?
The xOneRS reports hold one summary per network. Both files last changed on 2026-11-14.
| Network | replayed_tip | equal | differ | not_backed | allowlisted |
|---|---|---|---|---|---|
| Apothem | 1,800 | 820 | 0 | 1,774 | 16 |
| net2040 | 747,006 | 1,038 | 0 | 1,577 | 4 |
The xOneTS folder conformance/rpc-parity has a README that says "Placeholder (T4)". The reports are in conformance/rpc-parity/report.
How many vectors are there?
Count method, on xOneRS origin/main (head 4f20e93, 2026-11-15). List the files with git ls-tree -r --name-only origin/main conformance/vectors/consensus conformance/vectors/rpc. For each file, run git show origin/main:<file> | wc -l and add the results. The count includes every file under the two folders: .jsonl, .json, .md and .py. A line is a newline character.
| Folder | Files | Lines |
|---|---|---|
consensus/negative |
64 | 592 |
consensus/v1 |
9 | 2,165 |
consensus/valid |
2 | 400 |
consensus (top level) |
2 | 196 |
| consensus total | 77 | 3,353 |
rpc/apothem |
60 | 2,610 |
rpc/net2040 |
83 | 3,531 |
rpc/build |
2 | 289 |
rpc (top level) |
5 | 84 |
| rpc total | 150 | 6,514 |
| both | 227 | 9,867 |
The consensus README says valid/apothem.jsonl holds 300 blocks and valid/net2040.jsonl holds 100 blocks. Together that is the 400 lines in the table.
What changed since the replay gate post?
No row is newer. The earlier post cites the same xOneRS, xOneTS and xOneC rows, the xOnePy row of 2026-11-13, and the same RPC parity counts. The xOneRS RUNS.md has no row dated after 2026-11-12. The latest commit that touched the vectors or the pin is dated 2026-11-15. The consensus block counts (300 and 100) are the same.
How do other projects describe their testing?
Other projects name their test suites in public posts. The networks differ, so the table compares no result.
| Source | What it says about testing | xOne |
|---|---|---|
| ethrex | EF spec tests and Hive run in CI. As stated in ethrex completes its first external security audit, 2026-06-18. | xOneRS reads vectors that Go programs write from one pinned geth-XDC commit and replays recorded history. |
| Sigma Prime guide (a security firm, not a client) | Differential fuzzing across clients. As stated in Core node security, 2025-06-06. | xOne diffs each replayed block against one pinned reference and stops on the first difference. |
See also the roadmap gates and the roadmap.
Frequently asked questions
Which geth-XDC commit does xOne compare against?
6fc8e8c2088b7f18264f5663036669d04fa7becf, from conformance/PIN in xOneRS. The RPC parity reports name the same commit.
What is the longest range at 0 mismatches?
In the xOneRS RUNS.md, net2040 30,001..=754,336 (724,336 blocks, 809 V2 epoch switches, 2026-11-12) and Apothem 0..=432,000 (2026-11-11).
Do the RPC parity reports show any difference from geth-XDC?
No. Both reports have 0 differ rows. Apothem has 820 equal and 1,774 not_backed rows. net2040 has 1,038 equal and 1,577 not_backed rows.
Sources
- xOneRS conformance/PIN
- xOneRS conformance/harness/RUNS.md
- xOneRS conformance/rpc-parity/report/apothem.json and net2040.json
- xOneRS conformance/vectors/consensus and conformance/vectors/rpc
- xOneTS conformance/replay/RUNS.md and conformance/rpc-parity/README.md (private)
- xOnePy docs/ops/RUNS.md (private)
- xOneC docs/process/gates.md (private)
This article describes the source and evidence at its review date. Check the linked repository for current implementation and qualification status.
Explore the engineering evidenceEdit this page on GitHub opens the Markdown source (content/blog/state-of-parity-2026-11-15/index.md). GitHub may ask you to sign in. Report a correction opens a prefilled GitHub issue for this page.