Skip to main content
Smart Contracts on Stellar

Soroban Crash Course

Part of the Build on Stellar learning track. Learn Soroban — Stellar's smart contract platform — from setup to deployment, with real contract patterns and hands-on code.

Type:Crash course
Level:Intermediate
Format:Video + GitHub labs

About This Course

Soroban is Stellar's native smart contract platform, built for performance, security, and developer experience. This crash course is designed to get Stellar developers up to speed on contract development fast — with real contract examples, hands-on labs, and a production-oriented mindset throughout.

We cover the Soroban execution environment, the SDK, contract storage patterns, testing, and deployment — everything you need to go from zero contracts to deploying and integrating your first Soroban smart contract.

This course follows naturally from the Build on Stellar foundation track. If you haven't done that yet, the Stellar Stack module will give you what you need.

Prerequisites

  • Basic Rust knowledge (see Rust Crash Course)
  • Familiarity with Stellar accounts and transactions
  • Soroban CLI installed (setup covered in Module 1)

Who This Course Is For

Stellar developers

You already work with Stellar payments or assets and want to add smart contract capabilities to your toolkit.

Rust developers entering Web3

You know Rust and want a practical path into blockchain development on a modern smart contract platform.

EVM developers exploring Stellar

You've worked with Solidity or EVM-compatible chains and want to understand the Soroban model and how it differs.

What You'll Learn

The Soroban Execution Environment

Understand how Soroban runs WASM-compiled contracts and how this shapes your development workflow.

Contract Development with the Soroban SDK

Write, test, and build Soroban contracts in Rust using the soroban-sdk — from simple functions to stateful contracts.

Storage & State Management

Use Soroban's persistent, temporary, and instance storage types correctly for different contract patterns.

Token Contracts & Asset Patterns

Build token contracts using Soroban's interface standards and understand how custom assets work on-chain.

Deployment & CLI Workflow

Deploy to testnet and mainnet using the Soroban CLI — and understand the full build → deploy → verify cycle.

Frontend Integration

Connect a Soroban contract to a Next.js frontend using the Stellar JS SDK to read state and invoke contract functions.

Course Curriculum

Module 1Smart Contracts on Stellar — The Soroban Model
  • What is Soroban and why Stellar built its own smart contract platform
  • Soroban vs. EVM: key architectural differences
  • The Soroban execution environment and WASM
  • Setting up the Soroban development environment
  • Deploying your first contract to the Stellar testnet
Module 2Writing Soroban Contracts
  • Soroban contract structure — functions, arguments, and return types
  • Soroban types: integers, strings, addresses, and custom types
  • Persistent, temporary, and instance storage
  • Emitting events from a contract
  • Testing contracts locally with the soroban-sdk test framework
Module 3Real-World Contract Patterns
  • Token contracts and custom asset standards on Soroban
  • Authorization and access control in contracts
  • Cross-contract calls — how contracts talk to contracts
  • Contract upgrades and versioning strategies
  • Common security patterns and what to avoid
Module 4Building, Deploying & Integrating
  • Using the Soroban CLI for build and deploy
  • Testnet and mainnet deployment workflow
  • Integrating a Soroban contract with a Next.js frontend
  • Reading on-chain state and responding to contract events
  • Debugging, inspecting, and verifying on-chain behaviour

Watch the Course

The full Soroban Crash Course playlist is embedded below. Watch here or open on YouTube.

Build on Stellar — Soroban Crash Course

Resources & Links

Events & Registration

Start building smart contracts on Stellar

Watch the crash course, clone the GitHub repo, and register for the next live session on Luma.

Register on Luma