This repo holds the USDCFlow smart contract, the Cadence
Fungible Token contract that acts as the Cadence bridged version of
Flow EVM USDC.
Flow is the blockchain for open worlds. Read more about it here.
Cadence is a Resource-oriented programming language for developing smart contracts for the Flow Blockchain. Read more about it here
We recommend that anyone who is reading this should have already completed the Cadence Tutorials so they can build a basic understanding of the programming language.
contracts/USDCFlow.cdc
| Network | Contract Address |
|---|---|
| Previewnet | Coming Soon |
| Testnet | 0x64adf39cbc354fcb |
| Mainnet | 0xf1ab99c82dee3526 |
This is the contract that defines the Cadence version of Flow USDC.
Before the Sept 4th Crescendo migration, sent
old FiatToken vaults to the USDCFlow.wrapFiatToken() function
and received USDCFlow vaults back with the exact same balance.
Now, the USDCFlow smart contract integrates directly with
the Flow VM bridge to become
the bridged version of Flow EVM USDC. These tokens are be backed
by real USDC via Ethereum mainnet and Flow EVM, so they retain their value.
This contract is deployed to a different address
and has a different name than the original FiatToken,
so contracts that want to support USDC on Flow
will need to use this USDCFlow smart contract instead of FiatToken.
You can find transactions and scripts for interacting with the USDCFlow contract in the transactions/ directory.
On Flow Testnet, the original USDCFlow smart contract did not migrate properly,
so a new one had to be deployed in order to function properly. If you are using
USDCFlow on testnet, make sure to use the contract deployed at 0x64adf39cbc354fcb.
This is not an issue on mainnet and the contract at 0xf1ab99c82dee3526 is safe to use.
The contract in this repo is not yet included in the Flow emulator.
If you want to use this contract with the emulator,
you must add it to your flow.json and deploy it yourself.
- Install Flow CLI on your machine. For instructions, see the Flow CLI documentation.
Ensure it is installed with:
flow versionTo run the tests in this repo, simply navigate
to the root directory and run make test.
That will run all the tests in the tests/ directory.
- Old
FiatTokencode - Blog Post Announcing Migration from old USDC to new USDC
- Flow VM Bridge Github Repo
This repo is part of the Flow network, a Layer 1 blockchain built for consumer applications, AI agents, and DeFi at scale.
- Developer docs: https://developers.flow.com
- Cadence language: https://cadence-lang.org
- Community: Flow Discord · Flow Forum
- Governance: Flow Improvement Proposals