Cadence 1.0

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

Cadence 1.0

View Functions

View functions transform your code with enhanced reliability and safety. Clearly distinguish between state-changing and state-preserving functions, and anotate for better predictability.

Interface Inheritance

Minimize code redundancy through abstraction that amplifies code reusability and efficiency.

Safety Improvements & Supercharging Cadence

Safer Pre-Post Conditions.
Custom Destructor Removal.
Entitlements and Safe Down-casting.
Better Capability APIFT / NFT Standard changes.

Learn the basics
of Cadence 1.0

Begin your journey with writing smart contracts in Cadence and building on Flow.

Preparing for
Cadence 1.0

Mandatory update

To access these benefits, the Cadence 1.0 release is a breaking change. Dapp developers must upgrade all Cadence code, including existing smart contracts deployed on Flow, to version 1.0 for continued functionality post-network upgrade.

Cadence migration Guide

Learn more about the Cadence 1.0 migration plan.

Cadence 1.0



Release of Flow Emulator based on Cadence 1.0

Dec 2023

Crescendo network Launch (initially based on Cadence 0.42).

Jan 2024

Flow Emulator (based on Cadence 1.0) supports local testing of contract update from Cadence version 0.42 to 1.0.

Feb 2024

Crescendo network enables contracts to be staged for upgrade to Cadence 1.0.

Feb 2024

Crescendo network upgrade to Cadence 1.0.

Feb 2024

Testnet enables contracts to be staged for upgrade to Cadence 1.0.

Early Apr 2024

Testnet upgrade to Cadence 1.0.

Mid Apr 2024


Developers must stage their contracts to be upgraded in this step. The Entitlements migration requires the Cadence 1.0 version of a contract to be staged for upgrade in order to successfully complete the migration of the related on-chain data as described in the Entitlements Migration Proposal. If a contract is not staged for the upgrade at this point, the Entitlements migration for the related on-chain data will not be run, and it won’t be possible to test the contract on Testnet network.

Please note that the same applies to upgrade of Mainnet.

Mainnet enables contracts to be staged for upgrade to Cadence 1.0.

Mid Apr 2024

Mainnet upgrade to Cadence 1.0.

Mid 2024

with the Community

Learning Communities
Emerald DAO
Flow Github


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 dapp on Flow

No actions required

Still have a questions?

Your dApp on Flow

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