The headline this week is the full Sponsor (XLS-68) implementation landing in rippled's develop branch — a massive +13,152/−661 change across 170 files — accompanied by 30+ supporting sponsor fix and refactoring PRs. In Clio, a shared SSL context performance fix merged alongside ETL indexing for MPT issuance history. The developer portal merged 9 PRs including a major performance pass deferring ~1MB of render-blocking JavaScript across the site. xrpl4j merged account permission delegation support (XLS-75), and xrpl.js reverted a strict network_id check that broke custom network compatibility.
The biggest development this week was the completion of the Sponsored Fees and Reserves feature in the core XRPL server code. This feature, formally known as XLS-68, would allow one XRPL account to pay the transaction fees and reserve requirements on behalf of another account. Think of it as one user "sponsoring" another's costs on the network — useful for applications that want to onboard users without requiring them to hold XRP for reserves and fees upfront. The implementation is massive (over 13,000 lines of new code across 170 files), and it's been in active development for weeks with dozens of bug fixes and refinements. It is not yet live on the main network — it has only merged into the development branch and would need to ship in a future release and then be voted on by validators before anyone can use it.
Meanwhile, the Java SDK (xrpl4j) merged support for account permission delegation (XLS-75), which lets account owners grant specific transaction permissions to other accounts or signing keys — once xrpl4j publishes a new release to Maven Central, Java developers will be able to build applications using this feature. The Clio API server merged a performance fix that avoids recreating SSL security contexts on every connection (saving processing overhead for busy servers), and added the ability to index MPT issuance history for a new query capability being built. The developer portal (xrpl.org) got a significant performance boost — deferring the loading of large JavaScript libraries so that pages display faster — along with refreshed graphics for NFT documentation and improved error code descriptions. On the community side, contributors submitted a diverse set of improvements ranging from a formal mathematical verification proof-of-concept for rippled's number comparison logic, to fixes for how the JavaScript and Python SDKs handle edge cases in token amounts and currency codes.
For the latest, 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.
SponsorshipSet and SponsorshipTransfer transactions, the ltSPONSORSHIP ledger object, and sponsor support across existing transaction types, allowing any account to pay fees and reserves on behalf of another. Approved by a core team reviewer.Supported::Yes: rippled#7556 marks the Sponsor amendment as supported in the codebase, enabling testing on development networks.Bad_Fee error if a Batch inner transaction attempts fee sponsorship.sfExtensionComputeLimit → sfGasLimit and sfExtensionSizeLimit → sfBytecodeSizeLimit, by contributor @ricky122-5.ltSPONSORSHIP ledger entries.terNO_SPONSORSHIP to terNO_PERMISSION: rippled#7764, and additional asserts: rippled#7784.SponsorshipTransfer from VaultInvariant/PermissionedDomainInvariant (rippled#7739).ter parameter for checkReserve: rippled#7778 (+130/−57).adjustLoanBrokerOwnerCount function added (rippled#7777), correct call sites updated to decreaseOwnerCountForObject (rippled#7748), sponsor code cleanup (rippled#7767, +130/−117), and sandbox support for sponsor counters (rippled#7677, +340/−28).AccountObjects.cpp refactored (rippled#7737), additional cleanups (rippled#7780), and address comments (rippled#7768)..envrc for automatic Nix devshell activation.std::from/to_chars for better performance.modernize checks (rippled#7664, +125/−223), misc checks (rippled#7663), performance checks (rippled#7727), and cppcoreguidelines checks (rippled#7660).tecNO_ENTRY, tecOBJECT_NOT_FOUND, tecNO_PERMISSION, and tecPATH_DRY with content migrated from the wiki.network_id enforcement: xrpl.js#3379 (+11/−187) — Client.getServerInfo() again logs server_info failures via console.error instead of throwing, restoring compatibility with custom XRPL networks.rippled — Formal Verification with Lean 4 (rippled#7786, +2,044/−0 across 31 files) — A community member (@ivan-randjelovic-cp) submitted a proof-of-concept integrating the Lean 4 theorem prover for formal verification of rippled's Number less-than operator, with FFI unit tests ensuring the Lean model matches C++ behavior. Early-stage/exploratory.
rippled — Doxygen comment unification (rippled#7776, +18,024/−12,995 across 653 files) — A massive documentation style unification by contributor @mathbunnyru. Approved by a core team reviewer.
rippled — macOS deployment target (rippled#7785) — Sets CMAKE_OSX_DEPLOYMENT_TARGET to 26.0. Approved by 2 core team reviewers.
rippled — NFT buy/sell flag validation (rippled#7725, +93/−0) — Validates the buy/sell flag in NFT RPC input. Approved by 3 reviewers.
rippled — Vault invariants (rippled#7732, +1,151/−7) — Adds vault invariant checks, by contributor @a1q123456. Has conflicts.
rippled — Refactor Batch Transaction IDs (rippled#7736, +78/−7) — Approved by AI reviewer.
rippled — Enhanced simulate RPC (rippled#5637, +987/−140) — Adds past-ledger simulation support. Labeled "API Change" and "Blocked: Needs Draft XLS." Has conflicts.
rippled — Token-Enabled Payment Channels (XLS-93d) (rippled#5448, +5,317/−704) — Long-running amendment PR. Labeled "Blocked: Needs Final XLS."
Clio — mptoken_issuance_history RPC (clio#3141, +3,861/−119) — The RPC handler for MPT issuance history, building on the ETL indexing that merged this week.
Clio — MPToken UInt64 amount serialization fix (clio#3139, +244/−41) — Serializes amounts as base-10 strings to avoid IEEE-754 precision loss, by community member @ckeshava.
xrpl.js — BatchV1_1 support (xrpl.js#3371, +226/−40) — Updates Batch signing for V1_1 (matching rippled#6446). Approved by AI reviewer; blocked pending a compatible xrpld Docker image for integration tests.
xrpl-py — Batch V1_1 signing (xrpl-py#1010, +422/−68) — Implements XLS-56 Batch V1_1 signing in xrpl-py.
xrpl4j — Sponsored Fees and Reserves (XLS-68) (xrpl4j#720, +5,758/−9 across 60 files) — Java SDK support for the sponsor feature that just merged in rippled.
xrpl4j — Batch V1.1 (XLS-56) (xrpl4j#808, +1,151/−287) — Draft; awaiting xrpld 3.3.0 for integration testing.
xrpl-dev-portal — Permissioned Domains tutorial (xrpl-dev-portal#3750, +585/−466) — Replaces the old modular tutorial with a new standard-format tutorial, adds JS and Python code samples.
xrpl-dev-portal — TypeScript tutorial (xrpl-dev-portal#3749, +709/−0) — Adds a TypeScript equivalent of the "Get Started Using JavaScript" tutorial (closes a long-standing request). Under review.
XRPL-Standards — XLS-68 spec updates (XRPL-Standards#564, +209/−128) — Aligns the XLS-68 spec with the implementation that just merged in rippled.
mptoken_issuance_history RPC (clio#3141) — Builds directly on the ETL indexing that merged this week. Once this lands, Clio will offer full MPT issuance transaction history queries — useful for applications tracking MPT lifecycle events.fundAccount API (xrpl.js#3409), improved validation errors (xrpl.js#3408), and binary codec fixes in xrpl-py (xrpl-py#1012, xrpl-py#1013). These address real correctness and usability issues.Community member @BraedonKlock submitted four PRs addressing RPC input validation and resource charging for malformed requests (rippled#7733, rippled#7731, rippled#7729, rippled#7728). Core team member @ximinez acknowledged the contributions and asked the contributor to hold off on new submissions while the current batch is reviewed.
Community member @jarod-vyent submitted a burst of PRs across xrpl.js and xrpl-py — fixing MPT amount validation, Currency decoding robustness, and IOU decode under narrowed Decimal context. These address specific correctness issues that could affect applications in production.
Formal verification exploration: Community member @ivan-randjelovic-cp submitted a Lean 4 formal verification proof-of-concept for rippled's Number comparison operator (rippled#7786), demonstrating what formal proofs of C++ logic could look like for the XRPL.
XLS-78 Subscriptions spec sync: XRPL-Standards#578 brings the Subscriptions specification in line with the reference implementation, fixing spec drift around partial claims, field names, and flags.
New issue — permissioned domain access check API: rippled#7743 requests a new API method to check whether an account has access to a specific permissioned domain — a developer ergonomics improvement for permissioned DEX use cases.
New issue — submit_and_wait debug mode: xrpl-py#1014 requests a debug=True option for submit_and_wait that would print status updates during the submission process, similar to generate_faucet_wallet.
Contributor @mathbunnyru continued a prolific modernization campaign this week with 8 PRs merged to rippled — clang-tidy enablement, JSON parsing performance, Nix compiler alignment, and more.
Compared to last week (June 29 – July 5, 2026):
| Metric | This Week | Last Week | Change |
| Repos with activity | 8 | 8 | flat |
| rippled PRs merged | 50 | 53 | ↓3 |
| rippled PRs opened | 27 | 26 | ↑1 |
| rippled new issues | 1 | 4 | ↓3 |
| rippled releases | 0 | 0 | flat |
| rippled commits | 13 | 25 | ↓12 |
| xrpl.js PRs merged | 1 | 0 | ↑1 |
| xrpl.js PRs opened | 6 | 31 | ↓25 |
| xrpl.js new issues | 0 | 0 | flat |
| xrpl.js releases | 0 | 0 | flat |
| xrpl-py PRs merged | 0 | 0 | flat |
| xrpl-py PRs opened | 5 | 6 | ↓1 |
| xrpl-py new issues | 1 | 0 | ↑1 |
| xrpl4j PRs merged | 1 | 0 | ↑1 |
| xrpl4j PRs opened | 4 | 1 | ↑3 |
| xrpl-dev-portal PRs merged | 9 | 10 | ↓1 |
| xrpl-dev-portal PRs opened | 29 | 10 | ↑19 |
| xrpl-dev-portal commits | 13 | 17 | ↓4 |
| Clio PRs merged | 9 | 12 | ↓3 |
| Clio PRs opened | 4 | 3 | ↑1 |
| Clio releases | 2 | 1 | ↑1 |
| XRPL-Standards PRs merged | 1 | 0 | ↑1 |
| XRPL-Standards PRs opened | 5 | 3 | ↑2 |
| XRPL-Standards new issues | 0 | 2 | ↓2 |
| opensource.ripple.com PRs merged | 0 | 3 | ↓3 |
| opensource.ripple.com PRs opened | 1 | 2 | ↓1 |
| Releases (total) | 2 | 1 | ↑1 |
rippled maintained its intense pace at 50 merges (down slightly from 53), with the dominant theme being the final push to land the Sponsor (XLS-68) implementation. The full Sponsor PR (rippled#7350) — tracked as "In Progress" for multiple weeks — finally merged on July 10. xrpl4j re-appeared with 1 merge (account permission delegation) after 0 last week. xrpl.js landed its first merge in two weeks (the network_id revert). The developer portal saw a spike in opened PRs (10→29), largely from Dependabot golang.org/x/crypto bumps across Go code samples. Clio's release count increased (1→2) with the 2.7.1-rc5 candidate and a nightly build. rippled commit count dropped (25→13) as the branch-merge churn from the sponsor feature stabilized.