stellar-flutter-sdk

The Stellar SDK for Flutter, providing transaction building, Horizon and Soroban RPC access, high-level Soroban smart contract support, and implements 18 Stellar Ecosystem Proposals (SEPs) across iOS, Android, and web.

   
Category SDKs
Website https://github.com/Soneso/stellar_flutter_sdk
Repository https://github.com/Soneso/stellar_flutter_sdk
First Released June 2020
Intake soft-launch
Budget Requested 18000

Project Description

The Flutter Stellar SDK is a Dart library for building Stellar applications on iOS, Android, and web using Flutter. It provides transaction building, account management, Horizon API access, Soroban RPC support, high-level Soroban smart contract support, and implements 18 Stellar Ecosystem Proposals (SEPs). The SDK is listed on the official Stellar developer documentation and is used by wallets and applications including Beans App, Stack Wallet, Defindex, Meru, and others.

Team & Experience

My name is Christian (GitHub: christian-rogobete, Discord: soneso, LinkedIn: https://www.linkedin.com/in/rogobete/) and I am the main developer and maintainer of the Flutter Stellar SDK. I have a master’s degree in computer science and a master’s degree in logistics and have been working in the IT field since the mid-1990s as a developer, software architect, project manager, and in other roles.

I began contributing to the Stellar network in 2017, specializing primarily in the development and maintenance of Stellar SDKs. I developed the iOS Stellar SDK (which won the Stellar Build Challenge in 2018), the Flutter Stellar SDK, the PHP Stellar SDK, and the Kotlin Multiplatform Stellar SDK.

I currently work full-time on my Stellar SDK projects.

Previous SCF participation: Multiple SCF Build Awards (Flutter Wallet SDK, Swift Wallet SDK, KMP Stellar SDK, and others), SCF Public Goods Award since Q3 2025 (Batch 1) for iOS, Flutter, and PHP SDKs. Member of the SCF Public Goods Maintenance working group.

Retroactive Impact

In Q1 2026, the Flutter SDK shipped 7 releases (2.2.2 through 3.0.5), including the major release 3.0.0 which added full Flutter web platform support with a migration guide. The SDK is used by wallets and applications including Beans App, Stack Wallet, Defindex, Meru and others. Stats (as of April 10, 2026): 84 stars, 36 forks, 107 releases, pub.dev 14,345 downloads (52 weeks), 86 dependent GitHub repos + 5 dependent packages, 0 open issues at end of quarter. Median time to close: 5.6h, 100% response rate.

Unit test coverage was extended and tracking was set up, currently at 88.98%, with a new CI pipeline and Codecov integration (80% project, 70% patch thresholds). Bugs found during web testing and test development were fixed. Protocol 25 support was added.

SEP-53 message signing was implemented, cross-SDK compatible with the Java, Python, iOS, and PHP SDKs. A new XDR code generator replaces hand-written types with machine-generated code from Stellar’s canonical .x files, adding new types and round-trip tests. A daily upstream XDR change detection workflow auto-creates issues when the spec changes. The SEP-11 TxRep implementation was rewritten to delegate to code-generated methods.

An AI coding agent skill was published for AI-assisted development tools. The SDK documentation was fully rewritten with tested code examples.

SBOM submission to PG Atlas was added and runs on every push. A new daily statistics collection has been implemented and runs via https://github.com/Soneso/soneso-sdk-stats (live dashboard: https://soneso.github.io/soneso-sdk-stats/).

Past Deliverables

1. Continuous Maintenance and Improvement

Description from last quarter: Regular SDK updates addressing horizon, rpc, protocol updates (e.g. p25), bug fixes, feature requests (e.g. full web support), code modernization, unit test coverage improvement, and documentation enhancements to ensure long-term sustainability. This includes a new documentation for AI Coding Agents, a so called “skill”, providing token efficient documentation and best practices when using the SDK. Furthermore it includes setting up a configuration for unit test coverage tracking and adding to CI/CD pipeline.

Proof of completion:

  • Release 2.2.2: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/2.2.2
  • Release 3.0.0: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/3.0.0
  • Release 3.0.1: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/3.0.1
  • Release 3.0.2: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/3.0.2
  • Release 3.0.3: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/3.0.3
  • Release 3.0.4: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/3.0.4
  • Release 3.0.5: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/3.0.5

Protocol support: Added Protocol 25 RPC response fields (v2.2.2). Updated XDR definitions to latest upstream (v3.0.3, v3.0.5).

Flutter web platform support: Major release adding full web platform support. Migrated all 64-bit integer types from int to BigInt to prevent silent data corruption on JavaScript targets. Migration guide included.

  • PR #123: https://github.com/Soneso/stellar_flutter_sdk/pull/123

Test coverage and CI/CD: Unit test coverage was extended and tracking was set up, currently at 88.98%. Added GitHub Actions CI with Codecov integration.

  • PR #124: https://github.com/Soneso/stellar_flutter_sdk/pull/124

Bug fixes: Bugs found during web platform testing and test coverage extension have been fixed.

SEP-11 TxRep rewrite: Replaced hand-written TxRep implementation with a version delegating to code-generated methods.

  • PR #134: https://github.com/Soneso/stellar_flutter_sdk/pull/134

CI/CD hardening: Pinned all GitHub Actions to commit SHAs. Added least-privilege permissions and Dependabot config for monthly updates.

Documentation: Full documentation rewrite with tested code examples that are validated by the test suite.

  • PR #130: https://github.com/Soneso/stellar_flutter_sdk/pull/130

AI Coding Agent documentation: Agent Skill following the agentskills.io open standard, compatible with Claude Code, Codex CLI, Cursor, Gemini CLI, and others. Also available via the Claude Code marketplace.

  • PR #129: https://github.com/Soneso/stellar_flutter_sdk/pull/129

Compatibility matrices: Updated for Horizon, RPC, and all SEPs with automated generators (tools/matrix-generator/).

  • Horizon: https://github.com/Soneso/stellar_flutter_sdk/blob/master/compatibility/horizon/HORIZON_COMPATIBILITY_MATRIX.md
  • RPC: https://github.com/Soneso/stellar_flutter_sdk/blob/master/compatibility/rpc/RPC_COMPATIBILITY_MATRIX.md
  • SEPs: https://github.com/Soneso/stellar_flutter_sdk/tree/master/compatibility/sep

SBOM submission: Added PG Atlas SBOM workflow that triggers on every push to master.

  • https://github.com/Soneso/stellar_flutter_sdk/blob/master/.github/workflows/sbom.yml

Statistics and monitoring: A new repository https://github.com/Soneso/soneso-sdk-stats was created to collect daily statistics for the Flutter SDK. Data collected: GitHub clones (daily counts and unique cloners), meta data (stars, forks, watchers), activity (52-week commit history and full release list), issue/PR response times with closure stats, pub.dev downloads (30-day, 4/12/52-week counts), and GitHub dependents (repos and packages). Metrics (as of April 10, 2026): 84 stars, 36 forks, 107 releases, 0 open issues, median first response 2.1h, median time to close 5.6h, 100% response rate, pub.dev 14,345 downloads (52 weeks), 86 dependent repos + 5 dependent packages. Live dashboard: https://soneso.github.io/soneso-sdk-stats/

2. SEP-53 Support

Description from last quarter: SEP-53 standardizes message signing functionality across Stellar wallets, libraries, and services, preventing ecosystem fragmentation and ensuring interoperability. SEP-53 support is also implemented in the Java and Python SDKs.

Proof of completion:

  • Release 3.0.1: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/3.0.1
  • PR #126: https://github.com/Soneso/stellar_flutter_sdk/pull/126
  • SEP-53 compatibility matrix: https://github.com/Soneso/stellar_flutter_sdk/blob/master/compatibility/sep/SEP-0053_COMPATIBILITY_MATRIX.md
  • Documentation: https://github.com/Soneso/stellar_flutter_sdk/blob/master/documentation/sep/sep-53.md

Adds signMessage() and verifyMessage() on KeyPair with Uint8List and String overloads. Unit tests cover all spec test vectors (ASCII, Japanese, binary), encoding round-trips, failure cases, and edge cases. Cross-SDK compatible with the Java, Python, iOS, and PHP SDKs.

3. XDR Classes Generator

Description from last quarter: Currently the SDK has approximatively 400 manually written XDR classes used to encode and decode XDR objects. Extensions or updates in the XDR structure need to be implemented manually at this time, which makes the SDK difficult to maintain. The new XDR class generator will improve the maintainability and also add missing XDR classes so that they can immediately be used as new features require them.

Proof of completion:

  • Release 3.0.3: https://github.com/Soneso/stellar_flutter_sdk/releases/tag/3.0.3
  • PR #131: https://github.com/Soneso/stellar_flutter_sdk/pull/131
  • Generator: https://github.com/Soneso/stellar_flutter_sdk/tree/master/tools/xdr-generator
  • XDR definitions: https://github.com/Soneso/stellar_flutter_sdk/tree/master/xdr
  • CI workflow: https://github.com/Soneso/stellar_flutter_sdk/blob/master/.github/workflows/xdr-generator.yml

Ruby-based code generator reads Stellar’s canonical .x XDR definition files (from https://github.com/stellar/stellar-xdr). Replaces hand-written XDR type definitions with auto-generated Dart code and adds new types not previously in the SDK. Round-trip encode/decode unit tests cover all generated types. CI snapshot tests verify generated code stays in sync with XDR definitions. High-level SDK APIs unchanged. Daily upstream XDR change detection workflow auto-creates GitHub issues when the spec changes.

Proposed Impact

Keep the SDK compatible with Horizon, Soroban RPC, and protocol updates including Protocol 26. Maintain existing SEP implementations and update as needed. Fix bugs and respond to issues and feature requests.

Add support for OpenZeppelin Smart Accounts (C-address wallets) on Soroban, enabling passkey-based wallet authentication, multi-signer authorization, and policy-based access control. This follows the SCF RFP for C-Address Tooling and matches the implementation already shipped in the KMP Stellar SDK (v1.4.0). A TypeScript reference exists in kalepail/smart-account-kit.

Smart account support in Flutter will allow cross-platform developers to build Stellar wallets with OpenZeppelin smart accounts using passkeys and biometric authentication across iOS, Android, and web.

Proposed Deliverables

1. Continuous Maintenance and Improvement

Regular SDK updates addressing Horizon, Soroban RPC, and protocol updates (including Protocol 26), bug fixes, feature requests, and documentation updates. Maintain existing SEP implementations and update as needed. Keep compatibility matrices, CI pipelines, statistics dashboard, and SBOM workflow up to date.

Proof: Release notes on GitHub, updated compatibility matrices, soneso-sdk-stats dashboard.

2. OpenZeppelin Smart Account Support

Implement support for the OpenZeppelin smart account contracts on Soroban, covering:

  • Wallet lifecycle: create, deploy, and connect smart account wallets with WebAuthn passkey registration
  • Context rules and policies: create, edit, and remove authorization rules with configurable signers and policies
  • Token operations and contract calls with automatic auth entry signing
  • Multi-signer authorization: passkey signers, delegated Stellar account signers, and Ed25519 key signers
  • Fee sponsoring via relayer proxy for gasless transactions
  • Credential discovery via indexer integration
  • Platform support: WebAuthn via ASAuthorization (iOS), CredentialManager (Android), and navigator.credentials (web) with secure storage adapters
  • Cross-platform demo application (iOS, Android, web)
  • Documentation: API reference and onboarding guide

Proof: Release on GitHub, PR with implementation, demo app, documentation, test suite.

Budget justification:

The budget increase from $15,000 to $18,000 reflects the addition of OpenZeppelin Smart Account support, which is a major new feature involving cross-platform WebAuthn integration (iOS, Android, web), a demo application, documentation, and manual testing across platforms (passkeys require physical device testing).

  • As the project representative, I agree to the Legal Acknowledgements.

Back to top

This site uses Just the Docs, a documentation theme for Jekyll.