Initializing Soroban

Connect to the Network

Access your supported Stellar environment and interact with compatible functionality.

⚡

Freighter

Stellar browser wallet

◈

Albedo

Stellar connection protocol

◉

xBull

Stellar wallet

Connected

—

Network: —

Something is about to execute.
Initializing computational layer
Code is only the beginning.
Parsing logic structures
A contract becomes executable logic.
Compiling to WebAssembly
State changes.
Executing contract runtime
Execution produces a result.
Committing to ledger
Execution becomes part of a network.
Broadcasting to Stellar
Welcome to Soroban.
The living smart contract machine
The Engine
Soroban brings smart contract functionality into the Stellar ecosystem through a purpose-built execution environment designed for developers building programmable applications. Instead of presenting smart contracts as an abstract concept, this environment lets visitors understand the journey from source code to execution, from execution to state, and from state to application behavior.

What is Soroban?

Soroban is the smart contract platform within the Stellar ecosystem. It provides developers with the ability to write contracts in Rust, compile them to WebAssembly, and deploy them to the Stellar network where they can execute deterministically and manage application state on the ledger.

Why Smart Contracts?

Smart contracts enable programmable logic to exist directly on a blockchain network. They allow developers to create applications that execute without intermediaries, manage digital assets, enforce agreements, and build financial infrastructure that operates transparently and verifiably.

How Contracts Execute

A Soroban contract is written in Rust and compiled to WebAssembly. When invoked through a transaction, the Soroban runtime loads the contract's WASM bytecode, provides it with access to the host environment, and executes its functions. The contract can read and write state, emit events, and return results.

How State Changes

Contract state is stored as ledger entries on the Stellar network. Each contract has its own storage namespace. State changes occur during contract execution and are committed as part of the transaction result. The ledger provides persistent, verifiable storage for application data.

How Transactions Carry Intent

A Stellar transaction can include Soroban operations that invoke contract functions. The transaction specifies the contract address, function name, and arguments. The network validates, sequences, and executes the transaction, producing a result that reflects the contract's computation.

How Applications Interact

Applications interact with Soroban contracts through SDKs that construct transactions, submit them to the network, and parse results. The Soroban SDK provides tools for both writing contracts and building client applications that invoke them.

Code Becomes Behavior
A smart contract begins as logic written by a developer. That logic must then become executable software capable of operating within a constrained blockchain environment. Soroban turns this journey into an application platform where developers can create programmable behavior for Stellar-based applications.

Contract Structure

Every Soroban contract is a Rust crate that compiles to WASM. The contract defines functions that can be invoked externally, along with internal helper logic and type definitions.

Functions

Contract functions are marked with attributes that make them callable. They accept typed parameters and return typed values. The host environment provides access to storage, events, and authorization context.

Storage

Contracts can persist data across invocations using the storage API. Data is organized into instance storage (specific to the contract) and temporary storage (with configurable expiration).

Authorization

Soroban provides an authorization framework that allows contracts to verify the identity of callers and manage access control. Invocations can require signatures from specific accounts.

Events

Contracts emit events to communicate what happened during execution. Events are recorded on the ledger and can be observed by off-chain systems monitoring contract activity.

Errors

Contracts define error types that communicate failure conditions. When a contract encounters an error during execution, the transaction fails and the error is returned to the caller.

Testing

Soroban provides a testing environment that simulates the host runtime. Developers can write unit tests and integration tests that exercise contract logic without deploying to a network.

Deployment

Contracts are deployed by uploading their WASM bytecode to the network and then creating a contract instance from that code. The instance receives a unique contract address.

Invocation

Once deployed, contracts are invoked by constructing transactions that call specific functions with specific arguments. The network executes the call and returns the result.

Built for Developers

Why Rust?

Rust provides memory safety without garbage collection, strong type systems, and excellent tooling. These characteristics make it well-suited for writing smart contracts where correctness, performance, and security are critical. Rust's compile-time checks help catch errors before contracts are deployed.

Contract Development

Developers use the Soroban SDK for Rust to write contracts. The SDK provides macros, types, and APIs that integrate with the Soroban host environment. The development workflow includes writing contract logic, defining types, and specifying storage patterns.

Testing

The Soroban SDK includes a testing framework that provides a simulated host environment. Developers can create test contexts, deploy contracts, invoke functions, and assert on results and state changes.

Deployment

Contracts are compiled to WASM using the Soroban CLI tools. The resulting WASM binary is uploaded to the network, and a contract instance is created. The CLI handles building, optimizing, and deploying contracts.

Tooling

The Soroban CLI provides commands for building contracts, deploying them, invoking functions, and managing test environments. The SDK integrates with standard Rust development tools including cargo.

// [VERIFIED CODE EXAMPLE]
#![no_std]
use soroban_sdk::{contract, contractimpl, symbol_short, Env, Symbol};

#[contract]
pub struct HelloContract;

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

#[cfg(test)]
mod test {
  use super::*;
  use soroban_sdk::Env;

  #[test]
  fn fn test_hello() {
    let env = Env::default();
    let contract_id = env.register_contract(None, HelloContract);
    let client = HelloContractClient::new(&env, &contract_id);
    let result = client.hello(&symbol_short!("World"));
    assert_eq!(result, vec![&env, symbol_short!("Hello"), symbol_short!("World")]);
  }
}
Code Enters the Machine
WebAssembly (WASM) is a binary instruction format that provides a portable, efficient compilation target. Soroban uses WASM as the execution format for smart contracts. When a developer writes a contract in Rust, it is compiled to WASM bytecode that the Soroban runtime can execute deterministically.
Stage 01
Source Code
→
Stage 02
Build
→
Stage 03
WASM
→
Stage 04
Runtime
→
Stage 05
Execution
→
Stage 06
Result
Contract Execution
Conceptual visualization of contract execution
01
Input
Transaction provides function name and arguments
02
Authorization
System verifies caller permissions and signatures
03
Execution
Runtime loads WASM and executes the function
04
State
Contract reads and writes ledger storage
05
Events
Contract emits events describing what occurred
06
Result
Return value is included in transaction result
This visualization represents the conceptual flow of contract execution. The actual implementation details of the Soroban runtime may differ from this simplified representation. For precise technical details, refer to the official Soroban documentation.
State Is Alive
On a blockchain, state represents the current values stored by contracts and accounts. Every piece of data that a contract manages — balances, configurations, ownership records, application logic — exists as state on the ledger. State changes with every transaction, and the ledger provides a verifiable history of those changes. Applications depend on persistent state to maintain their behavior across invocations.
∞
Potential State Entries
Ledger
Persistent Storage
Verifiable
State Integrity
Dynamic
State Transitions
Follow the Transaction
A transaction on the Stellar network carrying a Soroban operation follows a path from submission to final result. This conceptual journey illustrates the stages a transaction passes through.

Submission

A client application constructs a transaction containing a Soroban invocation operation and submits it to a Stellar node.

Validation

The network validates the transaction structure, signatures, fees, and sequence numbers before including it in a transaction set.

Authorization

The Soroban runtime verifies that the invocation has proper authorization from the required parties.

Execution

The contract's WASM code is loaded and the specified function is executed with the provided arguments within the host environment.

State Transition

Any state changes made during execution are collected and prepared for commitment to the ledger.

Commitment

The transaction result, including return values, events, and state changes, is committed to the ledger as part of the consensus process.

Security Is Architecture
⚠ Smart contracts are software. Software can contain bugs, implementation risks, configuration mistakes, and unexpected behavior. Developers are responsible for testing, auditing, and operating their contracts with appropriate care. No platform can eliminate the risks inherent in programmable systems.

Authorization

Soroban provides an authorization framework for managing who can invoke contract functions and under what conditions.

Access Control

Contracts implement access control logic to restrict operations to authorized callers and enforce permission boundaries.

Contract Safety

Rust's type system and ownership model help prevent common classes of bugs. Additional testing and auditing practices further reduce risk.

Testing

Comprehensive testing using the Soroban test framework helps verify contract behavior before deployment.

Auditing

Independent security audits provide additional assurance. Auditors review contract logic for vulnerabilities and edge cases.

Upgrade Considerations

Contracts may include upgrade mechanisms. The design of upgrade paths affects the security properties of the system.

Failure Modes

Understanding how contracts can fail — reverts, panics, unexpected inputs — is essential for building robust systems.

Operational Security

Managing keys, deployment processes, and monitoring contract activity are ongoing operational responsibilities.

Developer Responsibility

Security is a shared responsibility. Platform providers, developers, and users all play roles in maintaining system integrity.

Contract Vault
Conceptual application examples — not official Soroban applications
CONTRACT_001

Token Contract

A contract that manages a fungible token with transfer, balance, and allowance functionality on the Stellar network.

CONTRACT_002

Payment Contract

A contract that facilitates conditional payments, escrow arrangements, and multi-party settlement logic.

CONTRACT_003

Marketplace Contract

A contract that enables listing, bidding, and exchange of digital assets between participants.

CONTRACT_004

Escrow Contract

A contract that holds assets under defined conditions and releases them when agreed-upon criteria are met.

CONTRACT_005

Subscription Contract

A contract that manages recurring access rights and payment schedules for service-based applications.

CONTRACT_006

Governance Contract

A contract that enables proposal creation, voting mechanisms, and collective decision-making processes.

CONTRACT_007

Identity Contract

A contract that manages verifiable credentials, identity attestations, and access control based on identity proofs.

CONTRACT_008

Asset Management

A contract that manages portfolios, allocation rules, and asset lifecycle operations for digital assets.

CONTRACT_009

DeFi Contract

A contract that implements decentralized financial primitives such as lending, borrowing, or exchange logic.

CONTRACT_010

Game Contract

A contract that manages game state, player assets, scoring systems, and on-chain game mechanics.

Soroban × Stellar
Soroban is the smart contract platform within the Stellar ecosystem, providing developers with programmable infrastructure for building applications and financial logic. It extends Stellar's capabilities beyond payments into the realm of programmable applications while maintaining the network's focus on reliability and performance.

Stellar Ecosystem

Stellar is a decentralized network designed for fast, low-cost financial transactions. Soroban extends this network with smart contract capabilities, enabling developers to build programmable applications that leverage Stellar's infrastructure.

Smart Contracts

Soroban smart contracts are programs that execute on the Stellar network. They are written in Rust, compiled to WebAssembly, and operate within a deterministic runtime environment that manages state and enforces execution rules.

Assets

Stellar's native asset model supports a wide range of token types. Soroban contracts can interact with these assets, enabling new forms of programmable asset management and financial logic.

Payments

The Stellar network's payment infrastructure provides the foundation for value transfer. Soroban contracts can build upon this infrastructure to create sophisticated payment flows and financial applications.

Applications

Developers can build full-stack applications that use Soroban contracts for on-chain logic and off-chain systems for user interfaces, data indexing, and auxiliary services.

Network Infrastructure

The Stellar network provides consensus, transaction ordering, and ledger storage. Soroban operates within this infrastructure, using the network's security and performance characteristics.

Developer Infrastructure
01

Contract Studio

An environment for writing, editing, and iterating on Soroban smart contracts. The studio provides tools for managing contract source code, dependencies, and project structure using standard Rust development practices.

02

Testing Center

A comprehensive testing environment where developers can write unit tests, integration tests, and scenario-based tests for their contracts. The testing framework simulates the Soroban host environment for accurate test execution.

03

Deployment Center

Tools and processes for deploying compiled contracts to the Stellar network. This includes building WASM binaries, uploading code to the network, and creating contract instances with proper initialization.

04

Documentation Tower

Comprehensive technical documentation covering all aspects of Soroban development — from getting started guides to advanced architecture patterns, API references, and best practices.

05

SDK Laboratory

The Soroban SDK provides Rust libraries for contract development and JavaScript/TypeScript SDKs for building client applications. These tools abstract the complexity of transaction construction and contract interaction.

06

Security Research Center

Resources and tools for understanding contract security — including common vulnerability patterns, testing methodologies, audit preparation guides, and operational security practices.

07

Developer Observatory

Community resources including forums, discussion channels, example repositories, and collaboration spaces where developers can learn from each other and contribute to the ecosystem.

08

Open Source Archive

Soroban is built in the open. The source code, specifications, and development discussions are publicly available. Developers can study the implementation, contribute improvements, and build upon the foundation.

Soroban University
LEVEL 01

Blockchain Fundamentals

Understand the foundational concepts of blockchain technology — distributed ledgers, consensus mechanisms, transaction models, and cryptographic primitives. This level establishes the vocabulary and mental models needed to understand smart contract platforms.

LEVEL 02

Smart Contracts

Learn what smart contracts are, how they differ from traditional software, and why they matter. Explore the concept of programmable logic on a blockchain, the execution model, and the relationship between contracts and the networks that run them.

LEVEL 03

Soroban Fundamentals

Introduction to Soroban specifically — its role within the Stellar ecosystem, its architecture, its execution model, and how it enables developers to build programmable applications on Stellar.

LEVEL 04

Rust for Smart Contracts

Learn the Rust programming language as it applies to Soroban contract development. Cover ownership, borrowing, types, traits, and the no_std environment that Soroban contracts operate within.

LEVEL 05

Contract Architecture

Study patterns for structuring Soroban contracts — module organization, type design, storage strategies, authorization patterns, and how to build contracts that are maintainable and composable.

LEVEL 06

Contract Testing

Master the Soroban testing framework. Learn to write effective unit tests, integration tests, and property-based tests. Understand how to simulate the host environment and verify contract behavior.

LEVEL 07

Security

Study contract security from multiple angles — common vulnerability patterns, authorization design, input validation, reentrancy considerations, and the operational practices that keep contracts safe.

LEVEL 08

Deployment

Learn the complete deployment workflow — building optimized WASM binaries, uploading to testnet and mainnet, creating contract instances, and managing the deployment lifecycle.

LEVEL 09

Application Architecture

Build full applications around Soroban contracts. Learn about client SDKs, transaction construction, event indexing, off-chain services, and how to design systems that integrate on-chain and off-chain components.

LEVEL 10

Advanced Research

Explore cutting-edge topics in smart contract research — novel authorization schemes, cross-contract composition patterns, performance optimization, and emerging application paradigms on Stellar.

Documentation Library

Getting Started

Setup and first contract

Concepts

Core mental models

Architecture

System design overview

Smart Contracts

Writing contracts

Rust

Rust for Soroban

SDKs

Rust and JS SDKs

APIs

Host function reference

CLI

Command-line tools

Testing

Test frameworks

Deployment

Deploy workflows

Security

Security practices

Examples

Reference contracts

Tutorials

Step-by-step guides

Troubleshooting

Common issues

Reference

Complete reference

Explorer
Live network data is not currently connected. When a verified data source is available, this section will display real-time information about contracts, transactions, events, accounts, and ledger state on the Stellar network.

Network

Stellar network status

Contracts

Deployed contracts

Transactions

Transaction history

Events

Contract events

Accounts

Account information

Assets

Asset details

Ledger

Ledger information

Contract Simulator
Simulation — not a live blockchain transaction
Soroban Lab

Runtime Research

Investigating the Soroban runtime environment — how WASM execution works, how the host environment provides capabilities to contracts, and how execution boundaries are enforced.

Smart Contract Research

Studying contract patterns, composability models, cross-contract communication, and the design space of programmable applications on Stellar.

Developer Experience

Exploring how to make Soroban development more accessible — better tooling, clearer documentation, improved error messages, and streamlined workflows.

Performance Research

Analyzing contract execution performance, WASM optimization techniques, storage access patterns, and throughput characteristics of the Soroban runtime.

Security Research

Investigating contract vulnerability patterns, authorization model analysis, formal verification approaches, and threat modeling for Soroban applications.

Application Design

Studying how to design applications that effectively use Soroban contracts — architecture patterns, data flow, event systems, and integration strategies.

Future Interfaces

Exploring how developers and users might interact with smart contract systems in the future — new paradigms for contract interaction, visualization, and debugging.

Contract Galaxy

Payments

Programmable payment flows, conditional transfers, and multi-party settlement systems.

Finance

Decentralized financial primitives including lending, borrowing, and exchange logic.

Gaming

On-chain game state, digital asset ownership, scoring systems, and game mechanics.

Marketplaces

Decentralized exchange, listing, bidding, and trade settlement infrastructure.

Tokenization

Representing real-world and digital assets as programmable tokens on the ledger.

Identity

Verifiable credentials, decentralized identity, and attestation systems.

Infrastructure

Foundational contracts that other applications build upon — oracles, bridges, registries.

Governance

Collective decision-making, proposal systems, voting mechanisms, and treasury management.

Data

On-chain data verification, timestamping, and provenance tracking systems.

Automation

Scheduled execution, conditional triggers, and autonomous contract behavior.

Evolution

Static Blockchain

Early blockchains provided immutable ledgers for recording transactions. The blockchain was a ledger — it could record transfers but could not execute arbitrary logic. Applications were limited to the operations the protocol natively supported.

Programmable Blockchain

The introduction of smart contracts transformed blockchains from static ledgers into programmable platforms. Developers could write logic that executed on the network, enabling applications beyond simple value transfer.

Smart Contract Applications

As smart contract platforms matured, developers began building full applications — decentralized exchanges, lending protocols, governance systems, games, and more. The ecosystem of on-chain applications expanded rapidly.

Soroban

Soroban brings smart contract functionality to the Stellar ecosystem. Built on Rust and WebAssembly, it provides developers with a modern, secure environment for building programmable applications on Stellar's network infrastructure. [VERIFIED SOROBAN SPECIFICATION REQUIRED for specific dates]

What Can Be Built?
Potential applications include a wide range of programmable systems that leverage smart contract infrastructure. These possibilities represent the design space that Soroban opens for developers working within the Stellar ecosystem.

Programmable Financial Applications

Applications that implement financial logic — payments, settlements, escrows, and treasury management — as on-chain programs.

Automated Agreements

Contracts that encode agreement logic and execute automatically when conditions are met, reducing the need for intermediaries.

Tokenized Systems

Systems that represent assets, rights, or obligations as programmable tokens that can be managed by smart contracts.

Decentralized Applications

Applications where core logic executes on-chain, providing transparency, verifiability, and resistance to censorship.

Digital Marketplaces

Marketplaces where trade rules, escrow, and settlement are managed by contracts rather than centralized operators.

Programmable Payments

Payment flows that include conditional logic, multi-party splits, scheduling, and complex routing rules.

On-Chain Application Logic

Application state and business logic that lives on the blockchain, accessible and verifiable by any participant.

Knowledge Engine

Soroban

The smart contract platform within the Stellar ecosystem, enabling developers to build programmable applications.

Smart Contracts

Programs that execute on a blockchain network, managing state and implementing application logic.

Rust

The programming language used to write Soroban contracts, providing memory safety and strong typing.

WebAssembly

The binary format that Soroban contracts compile to, enabling portable and efficient execution.

Stellar

The decentralized network that Soroban operates within, providing consensus and ledger infrastructure.

Authorization

The framework Soroban uses to manage caller permissions and verify identities during contract invocation.

Events

Records emitted by contracts during execution that describe what occurred and can be observed externally.

Storage

The persistent data management system that contracts use to maintain state across invocations.

Frequently Asked Questions
Glossary
CODE
EXECUTION
APPLICATION
SOROBAN
Build what can execute.
00 / 10