Skip to main content
Version: 0.42

Cadence 1.0 Migration Guide

Coming in 2024, the network will be upgrading to Cadence 1.0. This means that all applications will need to prepare and migrate their existing Cadence smart contracts, scripts, and transactions for compatibility with the update. If you do not update your contracts, your applications will become non-functional after the network upgrade. Read more about the roadmap here.

Upgrading Contracts

To ensure your contracts are fully operational with Cadence 1.0, follow these essential steps:

  1. Understand the Changes: Start by familiarizing yourself with the changes to identify how they might affect your code.
  2. Modify Your Code: Update your contracts, transactions, and scripts in accordance with the new changes.
  3. Test Your Code: The latest emulator release includes all updated standards and core contracts. Check out this video from the Flow team on how to install and use the Cadence 1.0 emulator. The code can be accessed with:


sudo sh -ci "$(curl -fsSL" -- v1.12.0-cadence-v1.0.0-M4-2

        Windows (in PowerShell):

iex "& { $(irm '') } v1.12.0-cadence-v1.0.0-M4-2

  1. Stage: A new Staging process will be released in the coming weeks that checks if your updated code is compatible with Cadence 1.0. Complete this form to stay informed about updates and receive recommendations tailored to your code.


Guides & Docs

For assistance with the most common updates developers will face, explore these resources:

Helper Tools

  • Cadence 1.0 Migration Helper CustomGPT: An experimental tool currently exclusive to ChatGPT Pro users. Try it here.

In-Person Support

  • Attend the weekly live Cadence 1.0 Developer Office hours happening every Thursday to ask questions you’re stuck on
  • Shoot a message in the developer Discord channel. Please use “C1.0 upgrade” at the beginning of the message to help us categorize questions related to Cadence 1.0
  • Send us a request in the Developer Help Center

Dive Deeper

Enhance your understanding of the network upgrade and its possible implications on your app: