Cadence 1.0

The most intuitive and powerful programming language to write safe smart contracts

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.

Mainstream Ready

Full
Ownership

Access
Control

Extend
Solidity

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.

Cadence 1.0 Migration Hub

Cadence 1.0 Upgrade: Everything you Need to Know

Crescendo

Roadmap

Completed

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.

Dec 2023
Completed

Emulator EVM Support

The Flow Emulator now enables local deployment of Solidity contracts and simulation of transactions.

Jan 2024
Completed

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.

Feb 2024
Completed

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.

Mar 2024
Completed

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.

Apr 2024
Completed

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.

May 2024

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.

August 14th, 8am PT

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

Date coming soon - read announcement

Crescendo Upgrade on Flow Mainnet

All staged Cadence 1.0 contracts on Mainnet replace live contracts.  EVM will be activated several weeks later.

Date coming soon - read announcement

EVM Activated on Mainnet

All staged Cadence 1.0 contracts on Mainnet replace live contracts.  EVM will be activated several weeks later.

Date coming soon - read announcement

Connect
with the Community

Learning Communities
Emerald DAO
Forum
Flow Github

FAQ

How does this affect me?

I am a developer

I deployed a smart contract on testnet and/or mainnet
I have have started working on a dapp but I haven’t yet deployed a smart contract on mainnet

I am a node operator

Actions required

I am not (yet) a developer/builder, but I am interested in building on Flow

Start learning Cadence 1.0

I am a user of a app on Flow

No actions required

Still have a questions?

Your app on Flow

Are you a developer or a team that wants to build on or integrate with Flow?