FuelLabs /sway

🌴 Empowering everyone to build reliable and efficient smart contracts.

★ 61,344⑂ 5,431👁 296⑃ 4,273● 3,331▤ 190◈ 15
RustApache-2.0Created 2021-01-19docs.fuel.network/docs/sway/
61,344
stars
+-2
5,431
forks
296
watchers
4,273
prs
3,331
issues
190
releases
15
discussions

README

Sway







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 latest released Sway Book: .

The documentation URLs describe different source versions:

- latest redirects to the most recently published Sway release.
- vX.Y.Z is documentation built from that exact Sway release tag.
- master is built from the default branch and may describe unreleased behavior.

These labels are Sway documentation versions. They are not Fuelup channel names and do not identify the toolchain activated on a Fuel network. Check the compiler you are running with forc --version and consult the Fuelup channel documentation when selecting network-compatible tooling.

For Sway standard library documentation from the default branch, see .

Also view the default-branch technical reference for the Sway programming language at .

The Stable Sway and Forc pages on docs.fuel.network are published by FuelLabs/docs-hub from an explicitly selected Sway release. That selection can differ from both the newest upstream release and the compiler in a named Fuelup network channel.

 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 . Then configure your Rust toolchain to use Rust stable:

sh
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.

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


 Building Forc

Clone the repository and build the Sway toolchain:

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


Confirm the Sway toolchain built successfully:

sh
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.

Top issues

Discussions

Latest release

v0.72.1 v0.72.1 2026-08-28
What's Changed
 Refactor DeclEngine for robustness and semantic consistency by @ironcev in https://github.com/FuelLabs/sway/pull/7704
 Bump quinn-proto from 0.11.14 to 0.11.16 in /test/src/sdk-harness by @dependabot[bot] in https://github.com/FuelLabs/sway/pull/7700
 Fix copy_prop_reverse cycle detection by @xunilrj in https://github.com/FuelLabs/sway/pull/7702
 Split AST to ASM compilation phase to AST - IR - ASM by @ironcev in https://github.com/FuelLabs/sway/pull/7713
 Implement type_check_finalize for DeclEngine optimization by @ironcev in https://github.com/FuelLabs/sway/pull/7714
 

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON