XRP Ledger
XRPL Vote-Counting Bug Report Links Missing Votes to Key Rotation
An October 8 rippled report describes missing amendment votes after validator key rotation. A proposed identity-based fix remains open; the reported voting outcomes were unchanged.

What the XRPL amendment-voting report establishes
An October 8 XRP Ledger bug report says some servers stop counting a validator’s amendment votes after its signing key changes, also shrinking the voting denominator. A proposed fix would track persistent validator identity. The report does not establish a changed amendment outcome, and the repair remains under review.
[Reported finding] Issue 8534 in the XRPL Foundation’s rippled repository describes the behavior in version 3.4.1. CoinDesk and Unchained covered the report on October 9. The affected condition is specific: a validator changes its signing credential while other, long-running servers continue maintaining their amendment tallies. Those servers can omit the validator even though it remains online and voting.
This matters to readers following protocol upgrades because a displayed support ratio has two moving parts: the votes counted in favor and the population against which they are measured. A change in that ratio may reflect the counting process rather than an operator changing a vote. Before treating a movement as evidence of stronger or weaker support, the useful question is whether the same eligible participants are still being counted.
[Evidence boundary] Independent news coverage corroborates the existence and substance of the report. It is not a separate reproduction of the software behavior. The immediate story is a documented counting problem and an open repair proposal, with its consequences bounded by what the reporter and subsequent coverage actually establish.
Why a smaller XRPL voting denominator can mislead
[Confirmed rule] XRPL’s amendment documentation requires more than 80% support from trusted validators for two weeks. CoinDesk’s October 9 report describes the same rule and explains that omitting validators can make a proposal appear closer to passing on an affected server. The relevant percentage cannot be interpreted without knowing which validators contributed to its denominator.
[Illustrative calculation] Consider 28 supporting votes in a population of 35. That is exactly 80%, below a rule requiring more than 80%. If the same 28 supporting votes are divided by 33 instead, the result is approximately 84.85%. This reproduces the issue’s hypothetical arithmetic, not a new live vote snapshot or evidence that a particular amendment improperly activated.
[Analysis] This is why a higher displayed percentage can be a warning rather than good news. The calculation has improved while the hypothetical number of supporters has stayed fixed. A governance report that publishes only a percentage would conceal the distinction. Publishing the numerator, denominator, observation time and data source together gives readers a way to investigate an apparent jump.
A comparison also needs a common observation window. Two counts taken at different times may differ for legitimate reasons. The practical test is to establish which records are comparable before deciding that one reflects a defect. A discrepancy is a reason to reconcile the evidence, not enough by itself to diagnose every server or invalidate an upgrade.
Reported counting differences are not changed amendment outcomes
[Attributed observation] Unchained reports the issue author’s observation of 33 counted validations and a threshold field of 26, rather than 35 and 28. It also repeats the author’s statement that no amendment’s pass/fail outcome currently differed. These figures describe the October 8 report. They are not presented here as the network’s current vote totals.
The qualification is central. A defect can make an input unreliable without changing the decision reached in the observed case. Conversely, an unchanged decision does not make the input defect irrelevant. Readers should preserve both findings: the report identifies a problem worth correcting, while its stated observations do not establish that a different amendment result occurred.
[Unresolved] The cited reporting does not provide a complete census of affected servers or a historical reconstruction of every amendment decision. It therefore cannot support either a claim that every server is affected or a claim that every past vote has been conclusively cleared. Extending the finding beyond the stated observations would require additional evidence.
For XRP holders, the actionable distinction is between protocol governance reporting and account activity. This record does not establish a loss of customer funds or an instruction to move holdings. For teams explaining an upgrade to customers, the useful response is to identify the exact network event and evidence being described, rather than turning a counting discrepancy into a broader incident claim.
The proposed rippled repair follows identity through key changes
[Proposed change] Pull request 8540, opened October 8, would identify validators in the amendment tally by NodeID, a persistent validator identifier. The proposal explains that this identifier stays stable when a signing key rotates. CoinDesk and Unchained independently describe the intended repair as tracking validators by a permanent identity.
[Status snapshot] The GitHub record remained open and unmerged when checked on October 10 at 13:02 UTC. Unchained’s Friday coverage also describes the patch as open. That supports describing an active proposal, not a completed deployment. A pull request can explain intended behavior before reviewers have accepted it or operators have installed a release containing it.
[Analysis] The design principle is continuity of identity. A system needs to recognize that a replacement credential belongs to the same participant, rather than treating the familiar participant as absent.
What validator operators and governance data services should verify
[Operational analysis] A focused investigation should preserve the observation before trying to explain it. Record the server version, the time of the voting observation, the amendment being inspected and the count being displayed. Then compare the represented validator identities with the evidence used to establish who was participating. The goal is to distinguish a missing participant from a changed vote.
For a data service, the corresponding editorial question is provenance: which server or dataset supplied the displayed ratio? A reader should not have to guess whether two figures share a source or observation time. If a discrepancy is unresolved, labeling that limitation is more informative than silently selecting whichever count produces the more compelling activation forecast.
A proposed verification exercise would follow the same validator before and after a signing-key change and ask whether its identity remains represented in the tally. Record the expected behavior, observed behavior and software version together. This is an acceptance-test recommendation drawn from the reported failure condition, not a claim that AllAboutXRP ran a private validator network or that a named provider passed the test.
Teams should also preserve a correction trail if previously published counts need revision. State which observation changed and why, rather than rewriting a historical number without context. That helps users distinguish improved measurement from a genuine change in validator support, which is the central interpretive risk raised by this report.
The next evidence should close the implementation gap
[Analysis] For developers preparing XRPL integrations, the near-term benefit of this report is a more precise question to ask of governance data. A release plan should identify the amendment state it depends on and the source used to verify that state. It should not infer production readiness solely from a percentage on a monitoring page.
[Unresolved] Publication of a proposal does not settle its final implementation, release timing or deployment coverage. The next records to watch are therefore concrete: the pull request’s disposition, review or test evidence, release notes naming the repair, and comparable operator observations afterward. Those records would let readers judge progress without assuming an outcome or inventing an XRP price effect.
What to watch next
- • Pull request 8540: whether reviewers accept, revise or replace the NodeID-based approach.
- • Review and test evidence showing that a validator remains counted across a signing-key change.
- • A published rippled release that explicitly includes the accepted repair.
- • Operator observations comparing validator identities and vote denominators before and after deployment.
- • Any evidence-backed update to the reporter’s statement that amendment pass/fail outcomes had not differed.
Sources and verification
We prioritize primary records and label supporting coverage. Dates reflect each source’s publication record.
- [1]XRPLF/rippled issue 8534: reported amendment vote and threshold undercountprimary
- [2]XRPLF/rippled pull request 8540: proposed NodeID-based repairprimary
- [3]XRPL documentation: amendment rules and activation processprimaryUndated reference
- [4]CoinDesk: delegation activation and validator vote-counting reportsupporting
- [5]Unchained: account delegation and vote-counting bug under reviewsupporting