stellar_flutter_sdk 3.1.0
stellar_flutter_sdk: ^3.1.0 copied to clipboard
A Stellar SDK for Flutter, that can query Horizon and Soroban RPC, build, signs and submit transactions to Stellar. Supports many SEPs and can deploy and invoke Soroban Contracts.
Stellar SDK for Flutter #
Build and sign Stellar transactions, query Horizon, and interact with Soroban smart contracts via RPC. Communicate with anchors and external services using built-in support for 18 SEPs.
Installation #
dependencies:
stellar_flutter_sdk: ^3.1.0
flutter pub get
Requires Dart SDK >=3.8.0 <4.0.0 and Flutter >=3.32.0.
iOS #
Set your app's iOS deployment target to 15.0 or higher (platform :ios, '15.0' in ios/Podfile, and the Xcode project's iOS Deployment Target). Smart account passkey features additionally require iOS 16 at runtime; on iOS 15 those calls return a not-supported result while the rest of the SDK works normally.
Quick examples #
Send a payment #
Transfer XLM between accounts:
import 'package:stellar_flutter_sdk/stellar_flutter_sdk.dart';
Transaction transaction = TransactionBuilder(senderAccount)
.addOperation(PaymentOperationBuilder(receiverId, Asset.NATIVE, '100').build())
.build();
transaction.sign(senderKeyPair, Network.TESTNET);
await sdk.submitTransaction(transaction);
Trust an asset #
Enable your account to receive a token (like USDC):
Asset usdc = Asset.createNonNativeAsset('USDC', issuerAccountId);
Transaction transaction = TransactionBuilder(account)
.addOperation(ChangeTrustOperationBuilder(usdc, ChangeTrustOperationBuilder.MAX_LIMIT).build())
.build();
transaction.sign(accountKeyPair, Network.TESTNET);
await sdk.submitTransaction(transaction);
Call a smart contract #
Invoke a Soroban contract method:
SorobanClient client = await SorobanClient.forClientOptions(
options: ClientOptions(
sourceAccountKeyPair: keyPair,
contractId: 'CABC...',
network: Network.TESTNET,
rpcUrl: 'https://soroban-testnet.stellar.org',
),
);
XdrSCVal result = await client.invokeMethod(name: 'hello', args: [XdrSCVal.forSymbol('World')]);
For complete walkthroughs, see the documentation.
Agent Skill #
This repository includes an Agent Skill that teaches AI coding agents how to use this SDK. See skills/ for installation instructions.
Documentation #
| Guide | Description |
|---|---|
| Quick start | Your first transaction in 15 minutes |
| Getting started | Keys, accounts, and fundamentals |
| SDK usage | Transactions, operations, Horizon queries, streaming |
| Soroban | Smart contract deployment and interaction |
| Smart Accounts | OpenZeppelin smart account support: passkeys, multi-signer authorization, context rules, policies |
| SEPs | Anchor integration, authentication, KYC, etc. |
Smart Accounts (Passkey) support #
This SDK ships first-class support for OpenZeppelin smart accounts on Stellar: WebAuthn passkey authentication on iOS, Android, and Web; multi-signer authorization; on-chain context rules; and policy contracts (threshold, weighted threshold, spending limit). An optional fee-bump relayer and credential indexer integrate transparently.
See the Smart Accounts documentation for an overview, the developer onboarding guide for conceptual material, the API reference for every public symbol, and the per-platform WebAuthn setup guides: iOS, Android, Web. For a runnable reference implementation, see the demo app.
Web Support #
Starting with version 3.0.0, this SDK fully supports Flutter web. All 64-bit integer types have been migrated to BigInt to address JavaScript's 53-bit number precision limitation.
If you are upgrading from version 2.x, please refer to the Migration Guide for details on breaking changes and how to update your code.
Compatibility #
Feedback #
If you're using this SDK, feedback helps improve it:
Contributing #
See CONTRIBUTING.md for guidelines.