XRPL Developments Weekly Summary
May 25–31, 2026

TL;DR

Rippled saw 27 PRs merge to develop — headlined by vault bug fixes (stuck depositor, IOU scale boundary precision), a Number rounding correction, the fixCleanup3_2_0 amendment enabled for voting, and version bumps to 3.2.0-rc1 and rc2. On the developer portal, XLS-82 MPT DEX docs, a new "Blackholed Accounts" concept page, an expanded Use Tickets tutorial (now with Python and Go), and a Redocly platform upgrade all merged. XRPL-Standards landed 12 PRs syncing the XLS-65 Single Asset Vault spec with implementation code. In xrpl-py, a fix for IOU trailing-zero stripping merged to main (pending PyPI release).

Summary

This was a dense week for the XRP Ledger, with major progress on multiple fronts. The core server (rippled) continued building toward its 3.2.0 release — version numbers were bumped to "release candidate 1" and then "release candidate 2," and a cleanup amendment called fixCleanup3_2_0 was enabled so validators can begin voting on it once the release ships. Several important bug fixes also merged: one prevents a situation where the last person with shares in a vault could get permanently stuck and unable to withdraw, another fixes math precision errors that occurred when vault transactions crossed certain number boundaries, and two fixes address rounding issues in the server's internal number system that could cause tiny calculation errors to accumulate.

The developer documentation site saw its most active week recently. The MPT DEX documentation — explaining how Multi-Purpose Tokens can be traded on the XRP Ledger's built-in exchange — was published. A new educational page explaining "blackholed" accounts (accounts intentionally made unusable, often done by token issuers to prove they can't interfere with the token supply) went live. The Use Tickets tutorial, which teaches developers how to pre-reserve transaction sequence numbers, was expanded from JavaScript-only to include Python and Go implementations. On the standards side, the XLS-65 Single Asset Vault specification received a thorough update: twelve separate changes brought the written spec in line with how the code actually works, filling in previously undefined error conditions and correcting mistakes in the documentation.

In the Python SDK (xrpl-py), a fix merged that prevents certain token amounts from silently losing significant digits when converted to JSON — for example, a value like "1.0000" could previously be corrupted to "1" during serialization. This fix is merged to main but will reach Python developers once a new version is published to PyPI. The Java SDK (xrpl4j) has eight open bug-fix PRs covering issues like incorrect sign handling in multiplication and key derivation errors, which should provide meaningful reliability improvements once they merge and a Maven Central release follows.

For the latest, follow @XRPLF and @RippleXDev on X, or check the XRPLF GitHub repos directly.


What Merged

Note: All rippled changes below were merged to the develop branch and are not yet live on the network. A tagged release is required for any change to reach production.

Note: SDK PRs below were merged to each library's main branch. They become available to application developers only after a tagged release is published (npm for xrpl.js, Maven Central for xrpl4j, PyPI for xrpl-py). If no corresponding SDK release appears in the data, treat the feature as merged-but-pending-release and phrase availability accordingly.

Protocol & Feature Work (rippled — merged to develop)

Bug Fixes & Stability (rippled — merged to develop)

Refactoring & Architecture (rippled — merged to develop)

Dependencies & Build (rippled — merged to develop)

CI & Docs (rippled — merged to develop)

Clio (API Server)

Developer Portal (xrpl-dev-portal)

XRPL-Standards

Java SDK (xrpl4j — merged to main)

Python SDK (xrpl-py — merged to main)


In Progress

rippled — Avoid throwing in visitNodes during cache rotation (rippled#7361, +7/−4) — Changes fetchNode to fetchNodeNT so a node evicted between freshenCaches() and dbRotating_->rotate() no longer crashes the server. Approved by the AI reviewer. Targets a known SHAMapMissingNode crash path.

rippled — Pin overpayment principal reduction to exact on-grid value (rippled#7360, +240/−25) — Fixes a lending assertion failure from a (P * factor) / factor round-trip that isn't exact in Number arithmetic. Has CHANGES_REQUESTED from @a1q123456.

rippled — Amendment retirement series — A community member opened six PRs retiring old amendments whose guard code is no longer needed: AMM & AMMOverflowOffer (#7357), Clawback (#7353), XRPFees (#7349), DisallowIncomingV1 (#7364), FillOrKill (#7366), NFTokenReserve (#7367), InnerObjTemplate (#7368), and fixUniversalNumber (#5962).

rippled — XLS-68 Sponsored Fees and Reserves (rippled#7350, +13,891/−1,142 across 190 files) — Full implementation of the Sponsor feature allowing any account to pay fee and reserve costs for another. Early stage, has conflicts.

rippled — Config section constants refactor (rippled#7095, +1,248/−1,020 across 82 files) — Replaces string literals with constants. Approved by 3 reviewers but has merge conflicts.

xrpl.js — Seed prefix algorithm inference (xrpl.js#3337, +45/−14) — Fixes Wallet.fromSeed silently defaulting secp256k1 seeds to ed25519, which caused users to derive the wrong account. Approved by one reviewer. Pending further review.

xrpl.js — XLS-82 MPT-DEX support (xrpl.js#3214, +2,534/−88 across 44 files) — Adds MPTAmount to models and updates the binary codec. 45 review rounds, active development.

xrpl-py — Definitions generation overhaul (xrpl-py#1002, +3,826/−598) — Replaces regex-based definitions.json generation with an artifact-based approach downloading directly from rippled CI. Has review comments from the CodeRabbit bot.

xrpl4j — Multiple bug fix PRs: XrpCurrencyAmount.equals/hashCode sign fix (#800), HopType.toJson() field fix (#799), Math.abs(Long.MIN_VALUE) overflow guard (#798), AffectedNodeDeserializer NPE fix (#797), XrpCurrencyAmount.times() sign logic fix (#796), ReferenceHolding field (#795), secp256k1 deriveScalar fix (#801), XLS-68 Sponsored Fees support (#720), and XLS-82 MPT-DEX support (#704).

xrpl-dev-portal — Agentic transactions section (xrpl-dev-portal#3663, +3,340 lines across 18 files) — New documentation section covering agentic payments with x402 and agent wallet skills.

xrpl-dev-portal — rippled 3.2.0 doc staging (xrpl-dev-portal#3665, +495 lines) — Staging branch for all 3.2.0 release documentation.

xrpl-dev-portal — Selenium link checker (xrpl-dev-portal#3658, +776/−121) — Thorough browser-based link checker for CI.

XRPL-Standards — Global Vault invariants (XRPL-Standards#555, +402/−394) — Adds 12 formal invariants to §3.1.10 of the XLS-65 spec, derived from VaultInvariant.cpp.

opensource.ripple.com — Sponsored Fees tutorials (opensource.ripple.com#214, +1,860 lines across 18 files) — Python tutorials covering co-signing, pre-funded pools, reserve transfers, and pool management. Feature not yet on Devnet.

opensource.ripple.com — Confidential Transfer tutorials (opensource.ripple.com#208, +723 lines) — Blocked on SDK changes.


What to Watch Next Week


Community & Discussions

AMM Swappable Curves proposal: Community contributor @dangell7 proposed extending XLS-30 AMM with pluggable invariant functions selectable at pool creation — Discussion #547. The discussion drew substantive feedback from 7 participants on topics including spot-price selection logic (a zero-fee pool always winning), the case for skipping protocol curves and going directly to a "Smart AMM" approach, and permissioned domain integration for institutional use.

AMM Invalid State Recovery proposal: Community member @shortthefomo proposed extending LedgerStateFix to handle AMMs in invalid states and return remaining assets to liquidity providers — Discussion #556.

Dynamic Amendment Activation idea: A community member proposed per-amendment configurable activation windows (0–14 days) to enable faster response to critical issues — Discussion #546. @tequdev suggested specifying time strings directly rather than predefined tags.

Amendment retirement contributions: A community member (@TimothyBanks, authorAssociation: NONE) opened seven PRs in rippled to retire long-activated amendments (AMM, Clawback, XRPFees, DisallowIncomingV1, FillOrKill, NFTokenReserve, InnerObjTemplate), removing legacy guard code that is no longer needed.

rippled feature request — Extend server_definitions: Contributor @donovanhide filed rippled#7352 requesting inner object formats and human-readable transaction result descriptions in the server_definitions API response, to help third-party client library builders update their code faster.

New bug reports filed: Multiple triage-tagged issues opened in rippled covering paginated RPC marker binding (#7345), unsigned overflow on negative ledger_index (#7344), uncapped base fee post-XRPFees (#7343), unburnable NFTs from deleted issuers (#7342), stale AMM vote entries (#7341), silent URI removal in NFTokenModify (#7340), and trust line persistence after clawback (#7339).


By the Numbers

Compared to last week (May 18–24, 2026):

MetricThis WeekLast WeekChange
Repos with activity87↑1
rippled PRs merged2726↑1
rippled PRs opened204↑16
rippled new issues90↑9
xrpl.js PRs merged00flat
xrpl.js PRs opened48↓4
xrpl-py PRs merged20↑2
xrpl-py PRs opened14↓3
xrpl4j PRs merged17↓6
xrpl4j PRs opened83↑5
xrpl-dev-portal PRs merged123↑9
xrpl-dev-portal PRs opened710↓3
xrpl-dev-portal commits104↑6
XRPL-Standards PRs merged120↑12
XRPL-Standards PRs opened42↑2
Clio PRs merged101↑9
Clio commits101↑9
opensource.ripple.com PRs opened30↑3
Releases11flat

This week maintained rippled's high merge cadence (27 vs 26 last week), while the developer portal and XRPL-Standards both surged dramatically. The portal went from 3 to 12 merges, driven by doc improvements, dependency bumps, and the XLS-82 MPT DEX content. XRPL-Standards rebounded from 0 to 12 merges — almost entirely XLS-65 vault spec synchronization. Several items flagged as "In Progress" last week landed: xrpl-py's trailing-zero fix (#1001) and the developer portal's blackholed accounts doc (#3652) and Use Tickets expansion (#3657) all merged. Notably, rippled saw 9 new issues filed (vs 0 last week), reflecting a batch of audit-derived bug reports. The single release was a Clio nightly build.

Generated on May 31, 2026 at 04:47 AM UTC using claude-opus-4-6