XRPL Developments Weekly Summary: March 1–8, 2026

TL;DR

This week saw a significant API enhancement land in rippled — the server_definitions RPC now includes transaction and ledger entry formats and flags, closing a long-requested feature. Meanwhile, xrpl-py received a correctness fix for binary codec field definitions for DynamicMPT and Lending Protocol, and the dev portal shipped a major tutorial restructure covering 423 files.

Summary

The biggest shipped change this week is an expansion to the server_definitions API endpoint in rippled. Previously, this endpoint only gave developers information about individual data fields. Now it also includes the full list of valid transaction types, ledger object types, and their associated flags. In practical terms, this means wallet applications, block explorers, and developer tools can ask a running node what transactions are valid and what options they support — without needing a separate hard-coded lookup table. This was one of the most requested developer features and has been tracked since 2024.

A quieter but important fix landed in the Python SDK (xrpl-py): two data field definitions used by the DynamicMPT and Lending Protocol features had incorrect internal numbering. When applications used xrpl-py to build or serialize transactions involving these features, the wrong field code was written into the binary transaction — meaning the data could be misread or misrouted by nodes. The fix corrects the field codes in the codec definition file. If you use xrpl-py with DynamicMPT or Lending Protocol transactions on a test network, updating to the latest version is recommended.

On the infrastructure side, Clio (the API server layer many explorers and apps rely on) fixed a regression that prevented it from starting at all if no cache file existed on disk. Nine Clio PRs merged this week, mostly focused on code quality and tooling modernization. The developer portal also received a large tutorial reorganization and new step-by-step guides for deleting XRPL accounts, including updated requirements around NFT-related deletion blockers.

For ongoing updates, follow @XRPLF and @RippleXDev on X.


What Shipped

Protocol & API

server_definitions now exposes formats, fields, and flagsrippled#6321 (+1169/-503, 29 files) merges the work tracked by #5151, adding full transaction and ledger entry format definitions — including flags — to the server_definitions RPC response. This is a labelled API Change and directly enables client libraries and tooling to introspect ledger structure without hard-coding formats. Closes a feature request open since 2024. Related: issue #5506 on DeliverMax was also closed this week as out of scope for server_definitions.

Gateway balance now handles MPT correctlyrippled#6143 (+44/-1, labelled API Change, approved by reviewer) fixes the gateway_balances RPC to skip MPT entries rather than failing. The RPC is IOU-specific; the fix ensures MPT token types don't produce incorrect responses.

Vault invariants now tolerate IOU roundingrippled#6217 (+506/-74) relaxes the invariant checks for Vault Deposit, Withdraw, and Clawback operations on IOUs, allowing a relative tolerance of 1×10⁻¹³ to account for minimal floating-point discrepancy. XRP and MPT tolerances remain zero.

Defensive data length check for WASM outputrippled#6449 adds a size check in EscrowFinish::doApply() ensuring WASM-produced sfData cannot exceed the protocol's maximum allowed length before being written to the ledger.

Confidential MPT equality proof now uses shared rrippled#6496 (+50/-52) reduces proof size for ConfidentialMPTSend by adopting a shared r parameter for the equality proof. Spec: XLS-0096.

Binary Codec Fix (xrpl-py)

Corrected SField definitions for DynamicMPT and Lending Protocolxrpl-py#918 (+33/-16) fixes two incorrect field entries in definitions.json: sfMutableFlags was mapped to nth=54 instead of the correct nth=53, causing serialization collisions with sfStartDate, and PreviousPaymentDate was renamed to PreviousPaymentDueDate. These were silent data corruption issues on the write path for anyone using xrpl-py with these features.

Clio

Start-without-cache-file bug fixedclio#2976 (+435/-201, approved after changes) fixes a regression introduced in #2830 that prevented Clio from starting when no cache file was present.

Documentation & Dev Portal

Tutorial information architecture overhaulxrpl-dev-portal#3245 (+5921/-18560 across 423 files, approved) is a major restructure of the developer portal's tutorial section, resolving the small-window tab selection bug (#3513) in the process.

Account deletion docs updated with new tutorialxrpl-dev-portal#3529 (+786/-15, 13 files) adds a new tutorial for deleting XRPL accounts with JavaScript and Python code samples, and updates the requirements documentation to cover NFT-related deletion blockers and newer blocker types.

Dev portal devnet entry updatesxrpl-dev-portal#3533 adds entries for Loan, LoanBroker, PermissionedDomain, and Vault to the devnet reset blog and removes the not-enabled tag from PermissionedDomain.

Code Quality & Build Infrastructure

Transactor folder structure reorganizedrippled#6483 (+222/-222, 165 files, approved) renames all tx/transactors subdirectories to lowercase/snake_case and consolidates AMM/Offer directories. Pure refactor, no behavioral changes.

CMake formatter migrated from cmake-format to gersemirippled#6486 and rippled#6491 replace the legacy cmake-format tool with gersemi across 28 files in rippled. Clio received the same treatment via clio#2980 and clio#2983.

Build-time acceleration: Git info isolated to single filerippled#6464 (+131/-59, approved by 2 reviewers) ensures compile-time Git metadata is compiled into only one translation unit, reducing unnecessary recompilation and speeding up incremental builds.

Multiple clang-tidy checks enabledrippled#6419, #6457, #6459, #6466 and others enable bugprone-empty-catch, bugprone-move-forwarding-reference, bugprone-return-const-ref-from-parameter, and bugprone-sizeof-expression checks, with corresponding code fixes.

WASM module modularizedrippled#6441 (+22/-36, 20 files) cleanly separates the WASM subsystem into its own module.


In Progress


What to Watch Next Week


Community & Discussions

Path limits question — Community member @shortthefomo opened a discussion (#6499) asking why XRPL's payment path limits (MaxPathSize=6, MaxPathLength=8) are set to their current values and whether they warrant documentation or revisiting given modern AMM pool complexity.

Blackholed accounts & Token Escrow — XRPL-Standards discussion #488 explores whether blackholed accounts could ever use Token Escrow through a future fix amendment or Smart Escrow. Core contributors noted this would require a new amendment.

Trust-line eligibility for commerce — A developer posted xrpl.js discussion #3219 describing an approach for issuer-aware trust-line threshold verification (RLUSD example), proposing standardized attestation objects for commerce use cases.

LoanPay delivered_amount — Community member @zgrguric opened rippled#6500 requesting a synthetic delivered_amount field in LoanPay transaction metadata, analogous to the existing field in Payment transactions, to prevent confusion when the applied amount differs from the requested amount.

External contributor burst — Community contributor @slurpyone (not a first-time contributor per the data) submitted four xrpl.js PRs in a single week addressing multiple long-open issues (#1903, #2185, #2698, #3190).


By the Numbers

MetricCount
Repos with activity6
rippled PRs merged22
rippled PRs opened26
xrpl.js PRs merged2
xrpl.js PRs opened5
xrpl-py PRs merged1
xrpl-py PRs opened1
xrpl-dev-portal PRs merged4
xrpl-dev-portal PRs opened6
clio PRs merged9
clio PRs opened5
XRPL-Standards PRs merged4
XRPL-Standards PRs opened2
Clio releases1
rippled commits this week17
xrpl.js commits this week2
xrpl-py commits this week1
xrpl-dev-portal commits this week10
clio commits this week11
XRPL-Standards commits this week4