Conversation
for more information, see https://pre-commit.ci
aolieman
left a comment
There was a problem hiding this comment.
The Java ecosystem is never going away: it will survive anything the world throws at it. I have a love/hate relationship with the JVM — there's so much cool stuff that runs only in the JVM, but I'm always sad that I cannot take the JVM out of the tech stack 🥲
This SDK is clearly essential for server-side and client-side (Android) applications. It has a couple of high-profile ecosystem projects building on top of it, and through them the SDK has a large amount of transitive daily users. We have to keep supporting its maintenance.
I like to see that @overcat is leveraging the efficiency gains from maintaining two language SDKs. Each quarter there are clear focal points that are shared for the Java and Python SDKs. If these projects did not have a maintainer in common, we'd be spending more on their maintenance. Sure, the implementation work is always slightly different, but most of the work goes into thinking and planning, and this shows in the modest budget requests.
Signed-off-by: Jun Luo <4catcode@gmail.com>
Signed-off-by: Jun Luo <4catcode@gmail.com>
tupui
left a comment
There was a problem hiding this comment.
Approving from a process perspective 😃 Good luck during the voting phase! (The proposal will be merged today and appear on Tansu. In the future we might put the link directly in a comment here.)
Proposal Successfully Submitted to Tansu 🚀The proposal has been uploaded to IPFS and submitted on-chain.
|
java-stellar-sdk
The Java Stellar SDK provides APIs to build transactions, query Horizon, and interact with Soroban
RPC, with Android support and implementations of several Stellar Ecosystem Proposals.
Project Description
The Java Stellar SDK is a Java library for building Stellar applications on server-side JVM runtimes
and Android. It provides transaction building, Horizon API access, Soroban RPC support, high-level
Soroban smart contract support, and implements several Stellar Ecosystem Proposals. The SDK is listed
on the official Stellar developer documentation and is used by projects including Lobstr Vault,
Stellar Anchor Platform, and others.
Team & Experience
overcat (GitHub: overcat, Discord: @overcat.me) has been active in the
Stellar community since 2018 and has rich experience in Stellar-related development, maintaining a
series of Stellar infrastructure software. Currently maintained Stellar-related projects are listed
at https://lightsail.network.
Retroactive Impact
In Q1 2026, all planned deliverables were completed. The SDK shipped 3 releases (2.2.1 through
2.2.3), including a dedicated security hardening release (2.2.2) addressing XDR decoding
vulnerabilities and Federation client DoS vectors. The XDR code generator was migrated from
xdrgeninto the SDK and substantially refactored. SEP-51 (XDR-JSON) support was implemented and validated
against the Rust Stellar CLI.
ScMapkey ordering was fixed to automatically follow Soroban runtimerules.
Past Deliverables
1. Ongoing SDK Maintenance
Description from last quarter:
Proof of completion:
Three releases shipped. Release 2.2.2 was a dedicated security hardening release: a comprehensive
audit was applied across the codebase, fixing XDR decoding vulnerabilities, Federation client DoS
vectors, and multiple input validation and thread-safety issues.
2. Add Support for SEP-51
Description from last quarter:
Proof of completion:
XDR generator
output against Rust Stellar CLI
SEP-51 support was added to the XDR generator, so all generated XDR types automatically gain
toJson()/fromJson()methods. Output was cross-validated against the Rust Stellar CLI as areference implementation.
3. xdrgen Migration and Refactoring
Description from last quarter:
Proof of completion:
from xdrgen into the SDK
tests
The XDR code generator was migrated from the external
xdrgentool into the SDK repository andsubstantially refactored, giving full control over the generated Java code. Snapshot tests were added
to CI so any unintended output changes are caught automatically on future regeneration runs. During
the refactoring, several latent security issues in the generated XDR encoding/decoding code were
identified and fixed.
4. Improve the scval Build Feature
Description from last quarter:
Proof of completion:
Scv.toMapfollowing Soroban runtime ordering lightsail-network/java-stellar-sdk#766 — Sort ScMap entries by keyin Scv.toMap per Soroban runtime ordering rules
Scv.toMapnow automatically sorts map entries by key, matching the Soroban runtime's requirementthat
ScMapkeys be in ascending order. The previoustoMap(LinkedHashMap<SCVal, SCVal>)overloadis deprecated. This eliminates a class of transaction failures that occurred when users provided
unsorted maps.
Proposed Impact
The primary goals for Q2 2026 are: achieve full Protocol 26 compatibility; implement SEP-46, SEP-47,
and SEP-48 to improve Soroban smart contract tooling interoperability; and publish an AI coding agent
skill to help developers build on Stellar more effectively. Ongoing maintenance will continue:
responding to community issues and pull requests, keeping dependencies and CI/CD pipelines current.
Proposed Deliverables
1. Continuous Maintenance and Improvement
Regular SDK updates addressing Horizon, Soroban RPC, and protocol changes (including Protocol 26),
bug fixes, feature requests, and documentation updates. Keep CI/CD pipelines and dependency updates
current.
Proof: Release notes on GitHub, updated CHANGELOG, passing CI on master.
2. SEP-46, SEP-47, and SEP-48 Support
Add support for SEP-46 (Contract Meta), SEP-47 (Contract Interface Discovery), and SEP-48 (Contract
Interface Specification). These three SEPs form the foundation for smart contract self-description:
SEP-46 defines how contracts embed metadata in Wasm custom sections, SEP-47 lets contracts declare
which SEPs they implement, and SEP-48 provides a rich interface specification including Soroban host
types, user-defined types, and event schemas. Together they enable the SDK to parse and expose
contract metadata, which is essential for tooling, auto-generated contract clients, and off-chain
systems that need to understand contract interfaces.
Proof: Release on GitHub, PRs with implementation and tests, documentation.
3. AI Coding Agent Skill
Publish an AI coding agent skill for the java-stellar-sdk following the agentskills.io open standard,
compatible with Claude Code, Codex CLI, Cursor, Gemini CLI, and others. The skill provides
token-efficient documentation and best practices for AI-assisted development with the SDK, lowering
the barrier for developers using AI tools to build on Stellar.
Proof: Skill available in the SDK repository, compatible with Claude Code, Codex CLI, Cursor, Gemini
CLI, and others.
Legal Acknowledgements