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
#3161Investigate issue with data section addressing limits.12 comments · 2022-10-27#2014Expand `Vec<T>` and `StorageVec<T>` with additional utility methods12 comments · 2022-06-16#513Show byte and gas costs12 comments · 2021-12-28#5131Possible performance regression: compiling sdk-harness workspace is considerably slower10 comments · 2023-09-19#4868`Eq` for `Bytes` returns `true` for unequal `Bytes`10 comments · 2023-07-26#4569Distinction between Identity/Contract/Address9 comments · 2023-05-18#3234Consider appending data to a contract's bytecode which decribes which `abi`s the contract implements.9 comments · 2022-11-01#7282Micro-optimization tracking list8 comments · 2025-07-14
Discussions
#7291mistakenly created discussion0 comments · 2025-07-20#7280Fuel Staking1 comments · 2025-07-12#6670Niri WM is better2 comments · 2024-10-23#5874Function pointers using relative jumps1 comments · 2024-04-18#5611Fuel staking platform0 comments · 2024-02-14#5288Bridge problems1 comments · 2023-11-19#5287brigde2 comments · 2023-11-19#4738how to run a node10 comments · 2023-07-04
Latest release
v0.72.1 v0.72.1 2026-08-28What'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