Skip to main content

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

Rust SDK | Docs

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

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

Flutter SDK | Docs

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

PHP SDK | Docs

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 SDK | Docs

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

C# .NET

C# .NET SDK | Docs | Tutorials

Scala

Scala SDK | Docs

Qt/C++

Qt/C++ SDK | Docs