01
Ship the code disabled
A change that affects transaction processing is compiled into xrpld as an amendment. Installing a release does not turn it on.
XRP Ledger · Mainnet
Created by James Rule
Amendments are how the XRP Ledger upgrades itself. Validators must hold more than 80% support for two continuous weeks. Once enabled, the new rules apply forever — reversing them takes another amendment.
Loaded from the last captured snapshot
01
A change that affects transaction processing is compiled into xrpld as an amendment. Installing a release does not turn it on.
02
Every flag ledger — every 256 ledgers, about 15 minutes — trusted validators signal yes or no. Operators can change their vote at any time.
03
If support drops to 80% or below, the two-week clock restarts. Majority can be won and lost many times before enablement.
04
An EnableAmendment pseudo-transaction is written. Servers without the code become amendment-blocked until they upgrade. After two years an amendment can be retired into core protocol.
Full specification: Amendments on xrpl.org.
Weekly briefing
Drawn from the XRPL Foundation blog and live Mainnet votes. Check these sources each week — amendments move on a 14-day clock.
In the 14-day window
16 Sep 2026 · xrpl.org blog
The reference server adds closed-ended vaults and cash-basis accounting. Two new amendments are open for voting: LendingProtocolV1_1 and fixCleanup3_4_0. fixAMMOverflowOffer is retired into the core protocol. Shipping code is not the same as activating it — validators still have to hold 80% for two weeks.
15 Sep 2026 · XRPSCAN
Atomic batch transactions (XLS-56) crossed supermajority. If support holds, activation is around 29 September 2026 14:06 UTC. This is the replacement for the original Batch amendment, pulled after a February inner-signature disclosure.
11 Sep 2026 · XRPSCAN
The 3.3.0 cleanup bundle is live: freeze checks on pseudo-account transfers, malformed check IDs rejected early, hybrid-offer removal, and AMM rounding-loss checks.
6 Aug 2026 · xrpl.org blog
BatchV1_1, ConfidentialTransfer, DynamicMPT, PermissionDelegationV1_1, Sponsor, and fixCleanup3_3_0 shipped together. PermissionDelegationV1_1 is the closest of the remaining 3.3.0 features to majority.
From inception
112 tracked on Mainnet. Open any name for a plain-English explanation and source links.
Showing 112
Atomic batches of up to 8 inner transactions from one account — the replacement for Batch.
Delegate granular transaction permissions to another account without handing over keys.
Pooled single-asset vaults that strategies (including lending) can allocate from.
Confidential MPT transfers: amounts stay hidden while remaining verifiable.
Lets an MPT issuer update metadata, transfer fee, and some flags after issuance.
Native fixed-term lending against Single Asset Vaults, with off-chain underwriting.
Fixes rounding of witness rewards on XChainBridge claims.
3.4.0 bundled fixes: incoming-trustline blocker on OfferCreate, permissioned-DEX domain swaps, AMMClawback rounding.
A sponsor pays reserves and transaction fees so end users never have to hold XRP.
Witnessed cross-chain bridges between XRPL Mainnet and sidechains.
Closed-ended vaults and cash-basis accounting for native XRPL lending.
3.3.0 cleanup: freeze checks, check IDs, hybrid offers, AMM rounding.
Sep 11, 2026 · L 106,911,489
3.2.0 cleanup for vaults, lending, permissioned DEX, MPTs, and domains.
Jul 29, 2026 · L 105,928,705
Bundled 3.1.3 protocol fixes. Activated May 27, 2026.
May 27, 2026 · L 104,507,137
Order books that only credentialed accounts in a Permissioned Domain can trade.
Feb 18, 2026 · L 102,328,065
Escrow for issued tokens and MPTs, not just XRP.
Feb 12, 2026 · L 102,204,929
Named on-ledger domains that gate access using Credentials.
Feb 4, 2026 · L 102,017,793
Correctness fixes for TokenEscrow finish, cancel, and amount delivery.
Jan 27, 2026 · L 101,852,417
Stops AMMClawback from rounding LP-token burns down to zero while still taking value.
Jan 27, 2026 · L 101,852,417
Includes keylet fields in more ledger objects so indexers can address them uniformly.
Jan 27, 2026 · L 101,852,417
Fixes PriceOracle update ordering so a ledger sees a consistent published price.
Jan 27, 2026 · L 101,852,417
Reports DeliveredAmount correctly for Multi-Purpose Token payments.
Jan 27, 2026 · L 101,852,417
Enforces directory size limits that some object types were bypassing.
Dec 18, 2025 · L 100,961,281
Multi-Purpose Tokens: a compact fungible-token primitive that does not use classic trust lines.
Oct 1, 2025 · L 99,226,369
On-ledger verifiable credentials: an issuer attests a fact about an account.
Sep 4, 2025 · L 98,615,297
Third AMM fix bundle: rounding, clawback interaction, and invariant alignment.
Aug 29, 2025 · L 98,491,905
Second pass on NFT trust-line authorization enforcement.
Aug 29, 2025 · L 98,491,905
Honors CancelAfter on payment channels so expired channels cannot be claimed.
Aug 29, 2025 · L 98,491,905
Lets an NFT’s URI (metadata pointer) be updated after mint.
Jun 11, 2025 · L 96,724,737
Rejects transactions that set undefined or reserved flags.
May 15, 2025 · L 96,126,977
Stops LP tokens from being transferred when the underlying AMM asset is frozen.
May 15, 2025 · L 96,126,977
A stronger freeze: frozen holders cannot even send the token back to the issuer until unfrozen.
May 4, 2025 · L 95,893,505
Mint an NFT and list a sell offer in one transaction.
Feb 15, 2025 · L 94,166,785
Second pass on dust-offer cleanup after AMM and NFT offer interactions.
Jan 30, 2025 · L 93,815,809
Second AMM fix bundle: LP token transfer, freeze, and rounding.
Jan 30, 2025 · L 93,815,809
Enforces issuer authorization when transferring NFTs that require a trust line.
Jan 30, 2025 · L 93,814,529
Further inner-object template fixes after the first template amendment.
Jan 30, 2025 · L 93,814,529
Repairs linked-list pointers on NFToken pages so directory walks stay complete.
Jan 30, 2025 · L 93,814,529
Lets a clawback-enabled issuer reclaim tokens sitting in an AMM pool.
Jan 30, 2025 · L 93,814,273
On-ledger price oracles that publishers update and apps can read in the same ledger version.
Nov 2, 2024 · L 91,831,297
W3C Decentralized Identifiers as first-class ledger objects.
Oct 30, 2024 · L 91,778,561
Rejects empty DID documents that previously could be stored.
Sep 27, 2024 · L 91,038,721
Ensures PreviousTxnID / PreviousTxnLgrSeq are written on objects that were missing them.
Sep 27, 2024 · L 91,038,721
First production AMM bug-fix bundle: deposit, withdraw, and auction-slot math.
Sep 24, 2024 · L 90,967,553
Charges the correct reserve when an NFT offer is accepted.
Apr 12, 2024 · L 87,259,137
Tightens Fill-or-Kill offer handling so unfilled FOK offers never rest on the book.
Apr 11, 2024 · L 87,236,609
Fixes DisallowIncoming so the flags apply consistently across object types.
Apr 11, 2024 · L 87,236,609
Prevents AMM-related offers from overflowing amount fields.
Apr 11, 2024 · L 87,232,257
Fixes serialization of inner AMM (and similar nested) objects.
Apr 8, 2024 · L 87,172,097
Stores fees in drops of XRP instead of abstract fee units.
Mar 25, 2024 · L 86,860,289
Native automated market maker: on-ledger liquidity pools that trade alongside the central limit order book.
Mar 22, 2024 · L 86,795,265
Lets a regulated issuer reclaim issued tokens from holders — required for many securities and stablecoins.
Feb 8, 2024 · L 85,829,633
Changes NFT sequence allocation so a burned token’s ID cannot be minted again.
Nov 27, 2023 · L 84,206,081
Removes or adjusts offers that rounding reduced below a useful size.
Nov 24, 2023 · L 84,145,409
tfImmediateOrCancel offers that kill without filling now return tecKILLED instead of tesSUCCESS.
Aug 21, 2023 · L 81,986,305
Unifies decimal number handling inside xrpld onto one numeric type.
Aug 21, 2023 · L 81,986,305
Prevents an account from creating a trust line to itself.
Aug 21, 2023 · L 81,986,305
Follow-up NFT correctness: offer matching, directory links, and transfer-fee edge cases.
Aug 21, 2023 · L 81,986,305
Lets an account refuse incoming trust lines, NFTs, checks, or payment channels.
Aug 21, 2023 · L 81,986,305
Cashing a check can create the needed trust line instead of failing if one is missing.
Jan 23, 2023 · L 77,310,209
The NFT standard that actually activated: mint, offer, broker, and burn NFTokens on-ledger.
Oct 31, 2022 · L 75,443,457
Removes the auto-trust-line flag from NFToken minting that could surprise issuers.
Oct 27, 2022 · L 75,348,737
Raises the maximum SignerList size from 8 to 32 signers.
Oct 13, 2022 · L 75,035,393
Lets the network temporarily ignore validators that are offline so quorum can still be reached.
Nov 21, 2021 · L 67,849,217
Tickets reserve a sequence number in advance so transactions can be submitted out of order.
Nov 18, 2021 · L 67,785,985
Removes economically dust offers whose quality increased after rounding.
Nov 18, 2021 · L 67,784,193
Sorts payment strands before execution so path order is deterministic.
Nov 11, 2021 · L 67,639,809
Canonicalizes STAmount encoding so equivalent numbers compare equal.
Nov 11, 2021 · L 67,639,553
Strengthens how validation messages are constructed and checked.
Apr 8, 2021 · L 62,759,681
Fixes a consensus/validation edge case shipped with HardenedValidations.
Apr 8, 2021 · L 62,759,681
Fixes how the 80% amendment majority is calculated so votes are not rounded the wrong way.
Apr 8, 2021 · L 62,759,681
Uses the Flow engine to cross offers, so OfferCreate and payments share one matching algorithm.
Aug 4, 2020 · L 57,286,657
Fixes quality (price) upper-bound math when ranking DEX strands.
Jul 9, 2020 · L 56,691,969
Rejects transaction signatures that are valid but not fully canonical, closing a malleability vector.
Jul 3, 2020 · L 56,564,737
On-ledger checks: a sender authorizes a pull payment that the recipient cashes later.
Jun 18, 2020 · L 56,219,905
Lets you delete an unused XRPL account and recover most of its reserve.
May 8, 2020 · L 55,313,921
Fixes metadata threading on Check ledger objects so history is complete.
May 1, 2020 · L 55,161,089
Puts the payment-channel recipient on the owner directory so channels are visible from both sides.
May 1, 2020 · L 55,161,089
Stops an account from setting its own master key as the regular key, which could lock the account in a surprising way.
Oct 2, 2019 · L 50,428,929
Cuts the owner reserve for a SignerList so multi-signing is not punishingly expensive.
Apr 17, 2019 · L 46,599,937
Removes leftover offers that the taker can no longer fund.
Apr 2, 2019 · L 46,257,665
OfferCreate with tfFillOrKill now returns tecKILLED instead of tesSUCCESS when the offer is killed.
Mar 23, 2019 · L 46,000,641
Adds a DepositPreauth ledger object so accounts with DepositAuth can whitelist senders on-chain.
Oct 9, 2018 · L 42,114,049
Fixes offer-crossing when the taker would go dry mid-cross.
Oct 9, 2018 · L 42,114,049
Corrects additional escrow and payment-channel field handling.
Jun 21, 2018 · L 39,544,065
Fixes a fee/amount calculation edge case in payment processing.
Jun 20, 2018 · L 39,525,377
Requires EscrowCreate to set Condition or FinishAfter, and fixes time-based escrow finish.
Jun 19, 2018 · L 39,498,497
Fixes a payment-engine issue that interacted with deposit authorization.
Apr 6, 2018 · L 37,753,345
Lets an account refuse incoming payments unless the sender is preauthorized.
Apr 6, 2018 · L 37,753,345
Hardens amount canonicalization so malformed amounts cannot sneak into the ledger.
Nov 14, 2017 · L 34,256,897
Fixes a directory-iteration bug that could skip or repeat entries.
Nov 14, 2017 · L 34,256,897
Corrects offer-crossing behavior in a specific quality-bound case.
Nov 14, 2017 · L 34,256,897
Fixes how some transaction results were reported when crossing offers failed part-way.
Nov 14, 2017 · L 34,256,897
Sorts DirectoryNode entries and deletes empty owner-directory pages that used to be left behind.
Nov 14, 2017 · L 34,256,897
Adds runtime invariant checks so a transaction that would break ledger rules is rejected instead of applied.
Jul 7, 2017 · L 31,054,081
Corrects additional payment-engine edge cases discovered after Flow activated.
Jul 7, 2017 · L 31,053,825
Time-locks or condition-locks XRP until a date or crypto-condition is met.
Mar 31, 2017 · L 28,685,313
Fixes payment processing so certain path-crossing cases no longer fail or mis-apply amounts.
Mar 31, 2017 · L 28,685,313
Creates unidirectional Payment Channels for high-volume XRP micropayments that settle on-ledger only when claimed.
Mar 31, 2017 · L 28,685,313
Lets issuers set how many significant digits an order book uses, so the DEX does not fill with dust-priced offers.
Feb 21, 2017 · L 27,841,793
Adds IETF crypto-conditions (PREIMAGE-SHA-256) so payments and escrows can be claimed only by revealing a secret.
Dec 20, 2016 · L 26,388,481
Rewrote payment pathfinding so rippling, offers, and multi-hop paths settle as one consistent flow.
Oct 21, 2016 · L 24,970,753
Lets issuers pre-authorize a zero-balance trust line so regulated tokens can require approval before anyone holds them.
Jul 19, 2016 · L 22,721,281
Lets an account require multiple signatures before a transaction is valid — shared custody without a single private key.
Jun 27, 2016 · L 22,178,817
Makes transaction fees rise automatically when the ledger is busy, so spam becomes expensive and legitimate payments still clear.
May 19, 2016 · L 21,225,473
Would have patched inner signatures on the original Batch amendment. Obsolete.
Original permission-delegation amendment. Replaced by PermissionDelegationV1_1 after a critical bug.
Original atomic batch-transaction amendment. Disabled after an inner-transaction signature bug.
Would have forbidden negative-priced NFT offers. Obsolete; covered by later NFT fixes.
Directory fix for the original NFT amendment. Obsolete with V1_1.
Original NFT amendment. Replaced by NonFungibleTokensV1_1 before it could activate.
Would have added extra crypto-condition types beyond PREIMAGE-SHA-256. Never enabled; removed.