Elevated Developer Experience
Cadence 1.0 represents the most significant upgrade to the language yet, introducing numerous enhancements that bring Cadence to a new level of maturity.
Cadence empowers developers to fully explore ownership, access, and possibilities in building blockchain applications, removing barriers for mainstream developers and users alike.
Whether you're creating powerful applications from scratch or building on top of existing Solidity code, Cadence offers everything developers need to build the next generation of web applications.
![](https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/66992cd5ed4f230449657bb5_cad-benefit-01.png)
Mainstream Ready
![](https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/66992cd518ab7d228c01e864_cad-benefit-02.png)
Full Ownership
![](https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/66992cd55f885eab322cdca8_cad-benefit-03.png)
Access Control
![](https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/66992cd5c77634b4c3463d3a_cad-benefit-04.png)
Extend Solidity
![](https://cdn.prod.website-files.com/5f734f4dbd95382f4fdfa0ea/6699409fb0e3c120d53b757e_cadence-migration-icon.png)
Explore
Cadence 1.0
Fine-Grained
Access Control
Capabilities and entitlements are robust features that provide precise access control within smart contracts, transactions, and scripts. They enable developers to grant, revoke, and limit granular permissions for assets, accounts, and functions.
This functionality ensures projects can scale as they grow in complexity, maintain compliance with business logic, and adhere to bespoke security protocols, advanced access management, role-based access control, and temporary access requirements.
Gasless Experiences & New Business Models
Take advantage of separating transaction logic with Cadence to effortlessly offer gasless experiences sponsored by your application. Utilize protocol-level multicall to combine multiple transactions into one with a single approval.
Cadence makes it easy to program transactions that facilitate atomic swaps, make multisig calls and even set preconditions for execution.
These capabilities enable builders to implement a wide range of business models that are challenging or even impossible in traditional web3 settings, from freemium experiences to subscription services as well as remove the need for 3rd party dependencies in building your app.
Futureproof Interoperable Assets
As Web3 evolves, new use-cases and standards emerge that often break existing tokens and necessitate the creation of new ones.
Cadence allows for the creation of custom metadata at the asset level, ensuring future interoperability with applications and adherence to evolving standards while also guaranteeing backwards compatibility.
For builders metadata also unlocks features that build on or extend existing functionality such as royalties readable by any exchange or the inclusion of a creator’s social media links in their NFTs that can be imported and shown in an application’s frontend.
Moddable
Contracts
Cadence 1.0 introduces attachments, which allow for the addition of extra data and functionality without requiring permission from the original contract author.
This feature empowers communities to continuously evolve and extend products. New applications become possible, such as fact-checking in SocialFi, easily extendable games, and NFTs imbued with everything from accessories to DeFi yield bonuses for holders.
Roadmap
Emulator Cadence 1.0 Support
The Flow Emulator now supports Cadence 1.0. This includes integration of a new Cadence 1.0 type checker and the full suite of language features. Developers can start updating their contracts, transactions, and scripts to the new version right on their local machines.
Emulator EVM Support
The Flow Emulator now enables local deployment of Solidity contracts and simulation of transactions.
Crescendo Previewnet Live
An early access version of the upgraded Crescendo network that supports both EVM and Cadence 1.0. This is the perfect place for developers to test their updated applications, supporting Flow Reference Wallet, Flowdiver and more. Please note that Previewnet does not support data or state migration.
Cadence 1.0 Contract Staging Enabled
Release of a new staging process. This allows developers to map their updated and rewritten Cadence 1.0 code to their existing pre-Cadence 1.0 deployed code. When the upgrade occurs, your staged code will automatically replace the live contracts. Staging is available on both Testnet and Mainnet and will replace contracts on both respectively.
Testnet Migration Environment Live
A specialized test environment that mimics the Testnet, including staged contracts and data migration. Please be aware that the state will be reset weekly. This environment is ideal for ensuring your updates function as expected on the network, offering a close simulation of their post-upgrade functionality.
Cadence Migration Stages on Testnet
Stage 1 (May 22-23): Focus on testing applications with Transaction Inspection Logic that actively blocks 100% of failing transactions.
Stage 2 (May 29-31): Extended interaction with the environment to refine code and resolve issues.
Stage 3 (June 5-8): Deeper testing to finalize migration strategies.
Stage 4 (June 12-17): Simulate a full migration to ensure readiness for the network upgrade.
Testnet Network Upgrade
What to expect: A full network upgrade on the Testnet will be implemented.
Goal: Confirm that all systems and applications are fully compatible and operational post-upgrade.
* During this period, Flow’s Testnet will be in maintenance for approximately six hours.
Enabling EVM on Testnet
Right after the network upgrade, the EVM will be activated on the Testnet, allowing you to start deploying and testing your EVM-compatible contracts and tools in the newly updated environment. This is a pivotal moment in the Crescendo migration on the Flow blockchain, designed to streamline the transition and enable you to utilize enhanced capabilities efficiently.
Crescendo Upgrade on Flow Mainnet
All staged Cadence 1.0 contracts on Mainnet replace live contracts. EVM will be activated several weeks later.
EVM Activated on Mainnet
All staged Cadence 1.0 contracts on Mainnet replace live contracts. EVM will be activated several weeks later.
Connect
with the Community
FAQ
How does this affect me?
I am a developer
Immediate actions
- Learn & ReviewLearn about what is changing in Cadence 1.0: Update on Cadence 1.0,
- Start working on upgrading your dappYou can use Emulator release based on Cadence 1.0 RC1 now!
❗ IMPORTANT NOTE ABOUT AVOIDING CHANGES IN BUSINESS LOGIC
Cadence 1.0 introduces breaking changes. Updating your Cadence contracts, transactions and scripts to Cadence 1.0 is required to ensure your app continues to work when Crescendo is released. The on-chain data migration logic relies on assumption that the updated contracts uploaded by dapp developers limits updates to the minimum changes required by the Cadence 1.0 version - in other words, the updated contract should be behaviour-preserving.
If the contract upgrade to Cadence 1.0 also includes changes to business logic, the on-chain data migration won’t work as expected and might result in security vulnerabilities in the migrated on-chain data.
Immediate actions
- Learn & Review. Learn about what is changing in Cadence 1.0: Update on Cadence 1.0, start working on upgrading your dapp using Emulator release based on Cadence 1.0 RC1.
Soon
Decide if you want to wait until Flow completes the upgrade to Cadence 1.0, or if you want to deploy sooner, on Cadence version 0.42 (currently running on Testnet and Mainnet).
Future actions
- If you plan to deploy your dapp to Testnet / Mainnet before it is upgraded to Cadence 1.0, make sure you are prepared to upgrade it to Cadence 1.0.
I am a node operator
The network upgrade to Cadence 1.0 will follow the usual process and will include a migration of execution state. For that reason it is likely to require a longer network outage than usual.
I am not (yet) a developer/builder, but I am interested in building on Flow
You can start learning about Cadence 1.0: and start building with Cadence 1.0 using Emulator release based on Cadence 1.0 RC1.
I am a user of a app on Flow
We expect that in almost all cases, you won’t need to do anything! The dapp team should handle everything without a need for an end user to move their assets or sign transactions. But, if you’re not sure, you can reach out to the team behind the dapp and ask them about their plans to upgrade to Cadence 1.0.