We are excited to migrate Fuel’s staging network to Beta-5. The Beta-5 network has numerous new features and updates, enabling wallet integrations, DDoS resistance, improved Sway DevEx, and more.
With Beta-5 developers can use the new npm create fuels package, simplifying building a full-stack dApp for anyone, whether you’re a frontend or a backend developer. Additionally, it has brought us Fuel Wallet Connectors, which introduce a comprehensive system for enhancing dApp interoperability and enabling wallets to go beyond browser extensions.
Users can download the Fuel Wallet and explore applications live on Beta-5, via the ecosystem page.
Please note that beta-5 is the final staging network. Next, we will launch the incentivized testnet. More information is coming soon.
Beta-5 introduces a range of enhancements and new features:
Generics support in Sway has undergone a considerable upgrade. With generic trait constraints, Sway makes significant improvements to the developer experience. This enables conventional patterns such as iterators, conversion traits, and more.
Newly added support transaction policies enhance safety for users.
Additionally, this feature paves the way for a future multi-dimensional pricing model, which will reduce transaction costs and enable a greater volume of non-storage impacting transactions.
The Fuel Wallet Connectors introduces a comprehensive system for enhancing DApp interoperability with wallets, enabling them to go beyond browser extensions. Read more here.
The new tooling provides the quickest way to develop full stack Fuel dApps. As a typescript wrapper around forc, it simplifies workflows for building or deploying contracts, and integrating Sway into webapps. Read more here.
Here is a full list of features and updates :
New
u256primitive type with arithmetic support that deprecatesU256Method calls between
implmethods are now allowedWe support generic trait constraints, such as:

We fully support associated types, such as:

New attributes
#[deprecated]and#[allow(deprecated)]have been introduced to provide deprecation warningsSmall values such as
()andu8are now represented by a single byte in memory instead of a full wordFunctions with more than six arguments no longer require inlining
Various optimizations make the compiler faster to run
Lots of type system edge cases are now properly handled
New bytecode optimizations make our output smaller
better array initialization
optimized aggregate indexing
function deduplication
Most of the changes improved the security and stability of the node.
The gas model was reworked to cover all aspects of execution.
The benchmarking system was significantly enhanced, covering the worst scenarios.
A new set of benchmarks was added to track the accuracy of gas prices.
Optimized heavy operations and removed/replaced exploitable functionality.
Unified naming conventions for all CLI arguments. Added dependencies between related fields to avoid misconfiguration in case of missing arguments. Added
-debugflag that enables additional functionality like a debugger.Improved telemetry to cover the internal work of services and added support for the Pyroscope, allowing it to generate real-time flamegraphs to track performance.
Improved stability of the P2P layer and adjusted reputation scoring. The speed of block synchronization was significantly increased.
The node is more stable and resilient. Improved DoS resistance and resource management. Fixed critical bugs during state transition.
Reworked the
Minttransaction to accumulate the fee from block production inside the contract defined by the block producer.FuelVM received a lot of safety and stability improvements:
A recent audit helped identify some bugs and errors that have been successfully fixed.
Updated the gas price model to charge for resources used during the transaction lifecycle.
Added
no_stdand 32-bit system support. This opens doors for fraud proving in the future.Removed the
ChainIdfrom thePredicateIdcalculation, allowing the use of predicates cross-chain.Improvements in the performance of some storage-related opcodes.
Support the
ECALinstruction that allows adding custom functionality to the VM. It can be used to create unique rollups or advanced indexers in the future.Support of transaction policies enhances safety for users and closes some DOS vectors for the network. Additionally, this feature paves the way for a future multi-dimensional pricing model, which will reduce transaction costs and enable a greater volume of non-storage-impacting transactions.
Refactored errors, returning more detailed errors to the user, simplifying debugging.
Sway Playground: improved UX, can now select which toolchain you want to build against.
New
forc-cryptoCLI tool for working with common cryptographic operations.forc-docnow has a search bar with fuzzy search and semantic highlighting.

Module caching is enabled in the language server, leading to substantial speed-ups while typing.
Significant backend stability improvements.
Auto import and auto-qualify features were added to the code lens.
VScode users can visualize the project's dependency graph.

Rust SDK
Retry mechanism: configuration for automatically retrying transactions if they fail;
Support for
strreturns from contracts;Coin/UTXO caching;
Deprecate
U256and use Rust’s nativeu256;Add conversion from
Address/ContractIdtypes toIdentity;Automatic transaction parameters defaults from the network: Changes
gas_limitandgas_priceinTxParamsto be optional.TransactionBuilders use the corresponding values fromConsensusParametersandNodeInfoduringbuild()if these fields were set toNone;UX improvement around predicate witness data access;
UX improvement around the
Bytestype through the newfrom_hex_str;TxParametersare replaced withTxPolicies;TxPoliciesintroduced new fields:WitnessLimitMaxFee
ScriptGasLimitonly limits script execution;New
WitnessLimitimpactsmax_gasandmax_feecalculation;Minimal gas charges for transaction ID calculation;
Setting the
GasPricepolicy is mandatory for each transaction;Changes in
GasLimitandMAX_GAS_PER_TXrules;get_message_proofnow usesNonce;Predicates no longer use
ChainIdfor address calculation;manual_blocks_enabledreplaced withdebug;
fee_checked_from_txutilizesFeeParameters;Default enabling of
utxo_validationandmanual_blocks;Changes in node configuration: Replacing
local_nodewithdefault;TransactionTypeno longer implementsTransaction. Users need to match and extract the inner tx;
Typescript SDK
Typegen support for string slices
Auto-loading of storage slots when deploying contracts
Improved
AssetIDencoding/supportImproved package tree-shakeability
Support for Node
v20(LTS)Support for GraphQL Subscriptions
Retry mechanism for failed transactions
Coin/UTXO caching
Improved DX and utility method for calculating fees
New CLI tools for creating/automating new fullstack Fuel dApps
TxPoliciesintroduced new fields:WitnessLimitMaxFee
ScriptGasLimitonly limits script execution;New
WitnessLimitimpactsmax_gasandmax_feecalculation;get_message_proofnow usesNonce;Predicates no longer use
ChainIdfor address calculation;manual_blocks_enabledreplaced withdebug;
Fuel Wallet Connectors
The Fuel Wallet Connectors introduces a comprehensive system for enhancing DApp interoperability with wallets and enables wallets to go beyond browser extensions without abstractions overhead. Implementations of other ecosystems inspire the new design; however, with Fuel, this is implemented on the protocol level to improve the user experience without increasing the complexity for DApp or wallet developers. Read more about it in our wiki: https://github.com/FuelLabs/fuels-wallet/wiki/Fuel-Wallet-Connectors
Fuel Wallet Connectors UI
The new Connectors UI implemented on top of the new Connectors pattern, provide for react application a ready to use UI, to allow users to select the Wallet they want to use. https://next-wallet.fuel.network/docs/dev/connectors/#with-react

Update your Fuel Wallet: If you cannot connect you Fuel wallet on the Fuel Bridge or on other apps, you may not be using the latest version of the Fuel Wallet. Here is how to update it: Go to your Extensions parameters, activate the Developer Mode, and click the Update Button.
Fuel React Hooks
Now react developers can use our hooks library to develop more naturally, using hooks for interacting with the fuels SDK. Our documentation has been updated with more examples. You can check all the hooks available on our Hooks reference.
The new Fuel Explorer
The new Fuel Explorer was designed with users and developers in mind, creating a design that aims to help visualize overall details of the transaction, sequence of operations, inputs, and outputs. And for more advanced users we also included a view that enables to visualize the raw transaction, removing the need for multiple tools.
The new explorer also includes visualizations for Accounts and Predicates, Contracts and Blocks. Check it out here.
To address any breaking changes from
beta-4, active builders in the Fuel ecosystem can follow the migration guide → https://docs.fuel.network/guides/testnet-migration/
Valid transactions are required to deploy contracts and interact with the network, which require coins. Testnet ETH can be obtained from the faucet by completing a captcha.
The Fuel Core node uses GraphQL instead of JSON RPC. A playground for the public GraphQL endpoint for
beta-5is available here.
For an overview of Fuel, look at the new Fuel documentation portal.
To begin building on Fuel, check out the developer quickstart. This guide provides an end-to-end walkthrough for developers building a dapp on Fuel.
If you have any questions (development-related or otherwise), you can join the Fuel Labs Discord and head to the #questions channel under the Testnet category. Be sure to follow our Twitter for updates.
beta-5is developing actively and may see breaking upgrades and even regenesis events.

