68 releases (45 stable)

new 25.0.0-rc.1 Jan 13, 2026
23.4.0 Dec 18, 2025
23.2.1 Nov 19, 2025
23.0.0-rc.2.3 Jul 24, 2025
0.0.3 Jul 30, 2022

#1 in #soroban

Download history 6039/week @ 2025-09-24 6157/week @ 2025-10-01 4577/week @ 2025-10-08 7084/week @ 2025-10-15 6191/week @ 2025-10-22 7658/week @ 2025-10-29 7429/week @ 2025-11-05 7318/week @ 2025-11-12 7610/week @ 2025-11-19 7296/week @ 2025-11-26 7836/week @ 2025-12-03 7990/week @ 2025-12-10 9040/week @ 2025-12-17 5826/week @ 2025-12-24 6638/week @ 2025-12-31 3479/week @ 2026-01-07

26,467 downloads per month
Used in 90 crates (67 directly)

Apache-2.0

670KB
12K SLoC

Soroban SDK supports writing smart contracts for the Wasm-powered Soroban smart contract runtime, deployed on Stellar.

Docs

See developers.stellar.org for documentation about building smart contracts for Stellar.

Migrating Major Versions

See [_migrating] for a summary of how to migrate from one major version to another.

Examples

use soroban_sdk::{contract, contractimpl, vec, symbol_short, BytesN, Env, Symbol, Vec};

#[contract]
pub struct Contract;

#[contractimpl]
impl Contract {
    pub fn hello(env: Env, to: Symbol) -> Vec<Symbol> {
        vec![&env, symbol_short!("Hello"), to]
    }
}

#[test]
fn test() {
# }
# #[cfg(feature = "testutils")]
# fn main() {
    let env = Env::default();
    let contract_id = env.register(Contract, ());
    let client = ContractClient::new(&env, &contract_id);

    let words = client.hello(&symbol_short!("Dev"));

    assert_eq!(words, vec![&env, symbol_short!("Hello"), symbol_short!("Dev"),]);
}
# #[cfg(not(feature = "testutils"))]
# fn main() { }

More examples are available at:

Dependencies

~12–17MB
~360K SLoC