SDK Library
Interact with the Stellar network using the SDK in your preferred language. The JavaScript, Go, and Rust SDKs are maintained by SDF and the rest are maintained by dedicated community developers. All SDKs are open-source; file a GitHub issue or pull request in the specific SDK repository if you have questions or suggestions.
Each SDK has its own source code and documentation. Learn how to use a specific SDK by referring to the documentation- most docs offer practical examples that demonstrate how to construct and submit transactions and interact with Horizon endpoints.
Soroban Rust SDK
The soroban-sdk
Rust crate contains the Soroban Rust SDK.
Report issues and share feedback about the soroban-sdk
here.
Add soroban-sdk
as a dependency by using crates.io to find the version of the most recent SDK release.
Add the following sections to the Cargo.toml
to import the soroban-sdk
and replace $VERSION
with the released version.
[dependencies]
soroban-sdk = $VERSION
[dev_dependencies]
soroban-sdk = { version = $VERSION, features = ["testutils"] }
AssemblyScript SDK
The as-soroban-sdk
is an open source SDK that supports writing programs for the Soroban smart contract platform by using the AssemblyScript programming language.
The AssemblyScript Soroban SDK is maintained by dedicated community developer, Soneso. Report issues and share feedback here.
JavaScript SDK
JavaScript SDK | Docs | NPM
stellar-sdk
is the JavaScript library for communicating with a Soroban RPC server, communicating with the Horizon API, and building transactions on the Stellar network. It is used for building Stellar apps either on Node.js or in the browser.
It provides:
- A networking layer API for Soroban RPC methods and the Horizon API.
- Facilities for building and signing transactions, for communicating with an RPC instance, for communicating with a Horizon instance, and for submitting transactions or querying network state.
Python SDK
Python SDK | Docs | Examples
py-stellar-base
is a Python library for communicating with a Stellar Horizon server. It is used for building Stellar apps on Python. It supports Python 3.7+ as well as PyPy 3.7+.
This SDK is maintained by a dedicated community developer.
It provides:
- A networking layer API for Horizon endpoints.
- Facilities for building and signing transactions, for communicating with a Stellar Horizon instance, and for submitting transactions or querying network history.
iOS SDK
iOS SDK | Docs | Smart Contract Docs
The stellar-ios-mac-sdk
is an open source Stellar SDK for iOS & Mac. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Soroban RPC Server.
The iOS SDK is maintained by dedicated community developer, Soneso.
Flutter SDK
The stellar-flutter-sdk
is an open source Stellar SDK for Flutter developers. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Soroban RPC Server.
The Flutter Stellar SDK is maintained by dedicated community developer, Soneso.
PHP SDK
The stellar-php-sdk
is an open source Stellar SDK for PHP developers. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Soroban RPC Server.
The PHP Stellar SDK is maintained by dedicated community developer, Soneso.
Elixir SDK
Soroban Elixir SDK & Docs| Stellar Elixir SDK & Docs | Examples
This SDK is maintained by dedicated community developers, kommitters Open Source.
Java SDK
java-stellar-sdk
provides APIs to build transactions and connect to Horizon and also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Soroban RPC Server.
Go
This SDK is split up into separate packages, all of which you can find in the Go monorepo README. The two key libraries for interacting with Horizon are txnbuild
, which enables the construction, signing, and encoding of Stellar transactions, and horizonclient
, which provides a web client for interfacing with Horizon server REST endpoints to retrieve ledger information and submit transactions built with txnbuild
.
Ruby
Ruby SDK | Base Source | SDK Source | Docs | Base Examples | SDK Examples