
The two-week vote
4 minDifficulty Checked 2026-11-10- An amendment needs support from more than 80% of trusted validators.
- The support must hold for two weeks without a break. A dip restarts the clock.
- Only validators vote. Holding XRP gives no vote.
The code for a new rule is out. Servers have upgraded. The rule is still off. Now the validators decide.
Each validator operator sets a yes or a no for every amendment their server knows. They can change it whenever they like. The network counts those votes about every 15 minutes.
Two conditions must both be met.
- More than 80%. More than 80% of trusted validators must be voting yes.
- Two weeks. That support must hold for two weeks without dropping.
Think of holding a button down for two weeks. If support slips to 80% or under for even one count, the button is released. The clock goes back to zero and starts again only when the majority returns.
Server operators need to upgrade before the clock runs out. A server without the new code cannot follow the network once the rule turns on.
Once the two weeks are up, the amendment is enabled. From that ledger on, the new rule applies to everyone. It is permanent. Turning it off again would take a new amendment and a new vote.
Who gets a say? Only validators, and each server counts only the validators it trusts. Holding XRP does not give a vote. Neither does running an ordinary server.
Vote counts move day to day. See them on the Amendments page.
The cycle. Every 256th ledger is a flag ledger.
| Ledger | What happens |
|---|---|
| Flag − 1 | Validators send amendment votes with their validations |
| Flag | Servers interpret the votes from trusted validators |
| Flag + 1 | Servers insert EnableAmendment pseudo-transactions as needed |
| Flag + 2 | A newly enabled amendment applies from this ledger on |
EnableAmendment flags.
| Flag | Hex | Meaning |
|---|---|---|
tfGotMajority | 0x00010000 | Support rose past the 80% threshold |
tfLostMajority | 0x00020000 | Support fell back to the threshold or under |
| none | 0 | The amendment is enabled |
On-ledger state. One Amendments ledger entry holds:
Amendments: the IDs of all enabled amendments.Majorities: pending amendments that hold a majority. Each has theAmendmentID and aCloseTime, the close time of the ledger where it most recently gained the majority.
An amendment that stays in Majorities for at least two weeks is enabled. An EnableAmendment with no flags moves it to Amendments. If it loses the majority first, it leaves Majorities and the period starts over on the next gain.
Edge case. An amendment can lose its majority on the same ledger its two weeks complete. xrpl.org says both pseudo-transactions are added and the amendment is ultimately enabled.
Casting a vote. A validator operator uses the admin feature method:
{ "command": "feature", "feature": "LendingProtocol", "vetoed": false }"vetoed": true votes against. On the command line: xrpld feature LendingProtocol accept or reject. A validator with no explicit choice uses the default vote in its software version.
What does not vote. Servers that only submit transactions or serve API requests need no amendment configuration. They follow whatever the network enables.
Reading a vote. The public feature method returns enabled and supported for each amendment the server knows. Live count: Amendments page.
Related: From idea to release, After the vote.
- AmendmentsRead 2026-11-10
- EnableAmendmentRead 2026-11-10
- Amendments ledger entryRead 2026-11-10
- Configure Amendment VotingRead 2026-11-10
