FuelLabs

    FuelLabs/sway

    #326 this week

    🌴 Empowering everyone to build reliable and efficient smart contracts.

    backend
    compiler
    fuel
    language
    sway
    Rust
    Apache-2.0
    61.6K stars
    5.4K forks
    61.6K GitHub watchers
    Updated 7/22/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Empowers developers to write reliable and efficient smart contracts using a Rust-inspired language for the Fuel blockchain.
    • Offers modern language features and performance tailored specifically for blockchain contract development on Fuel.
    • Use for building high-performance, type-safe smart contracts on the Fuel blockchain with a familiar Rust-like syntax.
    • Use for blockchain developers seeking a specialized compiler and toolchain to optimize contract execution and gas usage.
    • Use for contributors interested in extending or customizing a blockchain-focused programming language and its toolchain.

    About sway

    Sway

    build crates.io docs twitter discord

    Sway is a language developed for the Fuel blockchain. It is heavily inspired by Rust and aims to bring modern language development and performance to the blockchain ecosystem.

    Documentation

    For user documentation, including installing release builds, see the Sway Book: https://fuellabs.github.io/sway/latest/.

    For Sway Standard library documentation, see: https://fuellabs.github.io/sway/master/std/

    Also view the technical reference for the Sway programming language: https://fuellabs.github.io/sway/master/reference/

    Building from Source

    This section is for developing the Sway compiler and toolchain. For developing contracts and using Sway, see the above documentation section.

    Dependencies

    Sway is built in Rust. To begin, install the Rust toolchain following instructions at https://www.rust-lang.org/tools/install. Then configure your Rust toolchain to use Rust stable:

    rustup default stable
    

    If not already done, add the Cargo bin directory to your PATH by adding the following line to ~/.profile and restarting the shell session.

    export PATH="${HOME}/.cargo/bin:${PATH}"
    

    Building Forc

    Clone the repository and build the Sway toolchain:

    git clone [email protected]:FuelLabs/sway.git
    cd sway
    cargo build
    

    Confirm the Sway toolchain built successfully:

    cargo run --bin forc -- --help
    

    All other scripts/commands

    For all other scripts and commands use https://github.com/casey/just:

    > just --list
    Available recipes:
        [automation]
        update-contract-ids
        update-fuel-dependencies
    
        [benchmark]
        benchmark
        benchmark-tests
        collect-gas-usage
    
        [build]
        build-highlightjs
        build-prism
        generate-sway-lib-std
    
        [ci]
        ci-check
        install-ci-check
    
        [test]
        test-forc-fmt-check-panic
    

    Contributing to Sway

    We welcome contributions to Sway!

    Please see the Contributing To Sway section of the Sway book for guidelines and instructions to help you get started.

    Discover Repositories

    Search across tracked repositories by name or description