A high-volume week across the XRPL ecosystem: 53 PRs merged to develop in rippled — headlined by Batch V1_1 (XLS-56) landing, ConfidentialTransfer and BatchV1_1 amendments being enabled in the code, a lending v1.1 amendment, and extensive sponsorship (XLS-68) fixes. Clio merged 12 PRs including C++23 compilation, a new Conan remote switch, and Loan/LoanBroker filtering support. The developer portal merged 10 PRs migrating wiki content, refreshing graphics, and fixing source-code links across 388 files. opensource.ripple.com published a new insights page for lending protocol and updated Dynamic MPT docs to match the latest spec.
This was another intense week of development for the XRP Ledger. The biggest headline is that the Batch V1_1 feature — an updated version of the capability to bundle multiple transactions together into a single atomic operation — merged into the core server's development branch along with a change marking both Batch V1_1 and Confidential Transfers as enabled in the code. Neither feature is live on the main network yet — they'll need to be included in a future release and then voted on by validators — but enabling them in the code means they can now be tested on development and test networks. The week also saw a new lending protocol v1.1 amendment merge, adding the ability to include a deletion reason when closing a vault, and a new safety check that prevents leftover pseudo-accounts when AMM pools, vaults, or loan brokers are removed from the ledger.
The sponsorship feature (XLS-68), which would let one account pay fees and reserves on behalf of another, saw extensive bug fixing this week. Over fifteen sponsorship-related changes addressed issues ranging from crash fixes to edge cases around legacy signer lists, transaction queuing, and reserve calculations. The Clio API server had a productive week too, tripling its usual merge pace — highlights include making new lending-related objects queryable, switching to C++23 for all dependency compilation, and fixing integration test failures caused by a ScyllaDB update. On the developer portal (xrpl.org), the team migrated troubleshooting and test-network content from the old rippled wiki, refreshed graphics on the AMM and Crypto Wallets pages, and fixed source-code links across nearly 400 files. A new community proposal for Direct Debit — enabling payee-initiated pull payments with spending limits — appeared in the standards discussions, sparking conversation about how it relates to existing payment mechanisms like Checks and the Subscriptions proposal.
For the latest updates, follow @XRPLF and @RippleXDev on X, or browse the XRPLF repos directly.
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.
MemoData on VaultDelete: Introduces the featureLendingProtocolV1_1 amendment gating a new optional sfMemoData field on VaultDelete, allowing callers to record a deletion reason. +166/−0. rippled#6324 - Fixed PaymentChannelCreate/EscrowCreate to properly handle sponsorship and reserves: rippled#7671
- Disallowed sponsored transactions from being queued: rippled#7674
- Fixed a crash in Transactor::reset: rippled#7675
- Blocked reserve sponsorship on out-of-sequence transactions: rippled#7605
- Fixed the 2 free token reserve exception not applying to sponsored trustlines/MPTs: rippled#7644
- Sponsor edge cases, SponsorshipSet cleanup, delegation integration, preflight fix, and legacy SignerList reserve mismatch: rippled#7558, rippled#7679, rippled#7665, rippled#7683, rippled#7703
- Additional test coverage for sponsor reserve scenarios: rippled#7574
ApplyViewContext struct: Introduced a new struct bundling ApplyView+STTx for cleaner parameter passing across 41 files (+244/−235). rippled#7618adjustOwnerCount/adjustOwnerCountObj: Broad rename across 44 files (+238/−138). rippled#7676baseAccountReserve back to Fees.h and renamed to accountReserve: rippled#7688SponsorHelpers code to its own .cpp file: rippled#7713checkInsufficientReserve to checkReserve: rippled#7712checkInsufficientReserve from ReadView to ApplyView: rippled#7667preclaim to doApply for PaymentChannelCreate and OracleSet: rippled#7607SponsorshipTransfer refactor: Moved code, added comments (+142/−102). rippled#7662Adjustment struct refactor: +104/−87 across 27 files. rippled#7680InnerObjTemplate fix and DisallowIncomingV1 fix: Removing conditional code for long-active amendments. rippled#7368, rippled#7364std::ranges: +64/−93 across 18 files. rippled#7634verify-headers build target: A massive header cleanup touching 662 files (+3,875/−748). rippled#7670modernize-use-constraints (+550/−442, rippled#7715), modernize-avoid-bind (+361/−450, rippled#7711), modernize-use-auto (+82/−85, rippled#7707), modernize-unary-static-assert (+220/−223, rippled#7705), and most bugprone checks (rippled#7643)actions/setup-python bump, and test coverage for replay message handlers: rippled#7650, rippled#7657, rippled#7593Loan and LoanBroker objects filterable in account_objects/ledger_data. clio#3124SimpleStrategy. clio#3126SourceLocation stub: clio#3123 (+59/−160)libatomic on Linux aarch64: clio#3120{source-links} component, fixing broken links from the master branch removal. xrpl-dev-portal#3715 (+481/−504)ButtonToXRPL import. opensource.ripple.com#204rippled — Sponsor (XLS-68) (rippled#7350, +11,377/−613 across 163 files) — The full Sponsored Fees and Reserves implementation. Has conflicts. This week saw extensive bug fixes and refactoring land on the feature branch, with 15+ sponsorship-related PRs merged. Approved by the AI reviewer.
rippled — Generate Go protobuf bindings (rippled#7721, +2,288/−12 across 29 files) — Moves .proto files to a top-level proto/ directory and adds committed Go protobuf/gRPC bindings. Approved by the AI reviewer. Builds on the Nix protobuf dependencies that merged this week.
rippled — Enhance simulate RPC (rippled#5637, +987/−140) — Labeled "API Change" and "Blocked: Needs Draft XLS." Adds support for simulating transactions in past ledgers. Has conflicts.
rippled — CI: full matrix only on Ready to merge (rippled#7689, +96/−53) — Would reduce CI load on in-progress PRs by running a minimal build matrix until the "Ready to merge" label is applied.
rippled — CI: all-amendments-supported workflow (rippled#7699, +175/−1) — Opt-in build producing a Docker image with all amendments set to Supported::Yes for perf/test networks. Approved by the AI reviewer; has outstanding review comments.
rippled — TaggedCache::getKeys() optimization (rippled#7567, +36/−2) — Moves memory allocation outside of lock to reduce contention for large caches. Approved by 3 reviewers including community member @vlntb.
rippled — Untrusted Validator Squelching (rippled#5399, +3,379/−1,080) — Long-running PR that limits untrusted validator message propagation. Has conflicts and needs a draft XLS. Active discussion about next steps.
rippled — OpenTelemetry Phase 1a (rippled#6436, +4,455/−3) — Architecture and design documentation for distributed tracing. Has conflicts.
Clio — MPT issuance IDs in book_offers (clio#3127, +1,258/−96) — Adds MPTokensV2 support to book_offers. Approved by @godexsoft.
Clio — ETL indexing and migration backfill for mpt_issuance_history (clio#3104, +1,008/−27; clio#3128, +2,166/−99) — Paired PRs adding live ETL indexing and historical backfill for MPT issuance transactions. ETL indexing approved by @godexsoft.
xrpl.js — Block reserved internal event types (xrpl.js#3378, +183/−2) — Prevents server-supplied event types from colliding with Connection's internal events. Closes xrpl.js#3318.
xrpl.js — Dynamic MPTs (XLS-94) (xrpl.js#3081, +1,373/−23) — Large feature PR. Integration tests passing.
xrpl-py — Dynamic MPT (XLS-94) (xrpl-py#877, +4,123/−298) — Approved by the AI reviewer.
xrpl-py — Sponsored Fees and Reserves (XLS-68) (xrpl-py#921, +3,652/−40) — Under active review.
xrpl-py — [WIP] ConfidentialMPT support (xrpl-py#919, +13,866/−75) — Draft; large XLS-96 implementation.
xrpl-dev-portal — Send a Trust Line Token tutorial (xrpl-dev-portal#3732, +1,345/−1,421) — Replaces old modular version. Has change requests.
opensource.ripple.com — Sponsored Fees docs update (opensource.ripple.com#223, +79/−61) — Aligning docs with the latest rippled feature branch.
book_offers support (clio#3127) — Already approved by @godexsoft and likely to land soon. Enables MPTokensV2 order-book queries in Clio, critical for applications trading MPTs.CheckID rejection (rippled#7685, 3 approvals), AMM invariant default case fix (rippled#7719), and ledger_request parsing (rippled#7714). These address real correctness issues and are awaiting core team review.New XLS proposal — Direct Debit: Community member @tadejgolobic (GateHub) proposed a Direct Debit amendment enabling payee-initiated pull payments with per-pull, per-interval, and single-use limits. Reviewers @sappenin and @mvadari noted overlap with existing Checks and the XLS-78 Subscriptions spec, prompting discussion about differentiation. XRPL-Standards Discussion #574
XLS-0096 Confidential MPT spec issues: Two new issues flagged problems in the Confidential MPT spec — a bit collision where the example tmfMPTSetCanHoldConfidentialBalance value (0x40) conflicts with tmfMPTSetCanTrade (XRPL-Standards#576), and a question about whether clearing lsfMPTCanHoldConfidentialBalance should be allowed when no confidential funds exist (XRPL-Standards#575).
Community-contributed rippled PRs: Multiple community members submitted bug fixes this week — @BraedonKlock contributed an AMM invariant fix (rippled#7719), a null-check for account object reads (rippled#7717), and an implicit narrowing fix (rippled#7716); @jiajunchang2002g fixed ledger_request parsing (rippled#7714); @BryanJ1ang submitted an AMM clawback rounding vulnerability fix (rippled#7704) and MPT issuance history work in Clio (clio#3128).
xrpl-py community fixes: Community member @m1lestones has PRs awaiting maintainer review for hex signature handling (xrpl-py#944) and optional Directory fields (xrpl-py#943).
Reported issues: A community member reported that xrpld 3.2.0 falls behind consensus on hardware where 3.1.3 kept up, suggesting a possible performance regression (rippled#7672). Separately, the long-standing xrpld 3.2.0 sync issue (rippled#7572) was closed after the user identified a network configuration (pfSense) as the root cause. Three new issues from @YogiBearXRP flagged invariant and delegation edge cases (rippled#7692, rippled#7691, rippled#7690).
Contributor @mathbunnyru's modernization campaign: Contributor @mathbunnyru continued a prolific streak with 12+ merged PRs across rippled and Clio — enabling clang-tidy checks, removing dead code, modernizing to std::ranges and C++20 requires clauses, and cleaning up build infrastructure.
Compared to last week (June 22–28, 2026):
| Metric | This Week | Last Week | Change |
| Repos with activity | 8 | 7 | ↑1 |
| rippled PRs merged | 53 | 55 | ↓2 |
| rippled PRs opened | 26 | 31 | ↓5 |
| rippled new issues | 4 | 5 | ↓1 |
| rippled releases | 0 | 0 | flat |
| rippled commits | 25 | 30 | ↓5 |
| xrpl.js PRs merged | 0 | 0 | flat |
| xrpl.js PRs opened | 31 | 4 | ↑27 |
| xrpl.js releases | 0 | 0 | flat |
| xrpl.js new issues | 0 | 0 | flat |
| xrpl-py PRs merged | 0 | 0 | flat |
| xrpl-py PRs opened | 6 | 5 | ↑1 |
| xrpl-py new issues | 0 | 0 | flat |
| xrpl4j PRs merged | 0 | 0 | flat |
| xrpl4j PRs opened | 1 | 0 | ↑1 |
| xrpl-dev-portal PRs merged | 10 | 4 | ↑6 |
| xrpl-dev-portal PRs opened | 10 | 9 | ↑1 |
| xrpl-dev-portal commits | 17 | 11 | ↑6 |
| Clio PRs merged | 12 | 4 | ↑8 |
| Clio PRs opened | 3 | 4 | ↓1 |
| Clio releases | 1 | 1 | flat |
| XRPL-Standards PRs merged | 0 | 1 | ↓1 |
| XRPL-Standards PRs opened | 3 | 7 | ↓4 |
| XRPL-Standards new issues | 2 | 0 | ↑2 |
| opensource.ripple.com PRs merged | 3 | 3 | flat |
| opensource.ripple.com PRs opened | 2 | 1 | ↑1 |
| opensource.ripple.com commits | 5 | 0 | ↑5 |
| Releases (total) | 1 | 1 | flat |
rippled maintained its intense pace (53 vs 55 merges), continuing to focus on sponsorship refinement after last week's scope reduction. Clio tripled its merge rate (4→12) with a burst of build modernization and tooling updates. The developer portal more than doubled its merge rate (4→10) as wiki content migration and graphics refreshes continued. xrpl.js saw a large spike in opened PRs (4→31), almost entirely from a Dependabot update cycle — no xrpl.js PRs merged this week. xrpl4j re-appeared with 1 opened PR (up from 0 last week). Several items from last week's "In Progress" merged: Batch V1_1 (rippled#6446), pseudo-account deletion invariant (rippled#7445), std::ranges modernization (rippled#7634), and the dev portal source-links migration (xrpl-dev-portal#3715).