Skip to content

onflow/bridged-usdc

bridged-usdc — Flow Bridged USDC Standard

This repo holds the USDCFlow smart contract, the Cadence Fungible Token contract that acts as the Cadence bridged version of Flow EVM USDC.

What is Flow?

Flow is the blockchain for open worlds. Read more about it here.

What is Cadence?

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.

USDCFlow

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.

Testnet Versions

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.

Local Development

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.

Prerequisites

Ensure it is installed with:

flow version

Run the Tests

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

Additional Resources

About Flow

This repo is part of the Flow network, a Layer 1 blockchain built for consumer applications, AI agents, and DeFi at scale.

About

Repo to house the Flow bridged USDC standard and WUSD Cadence implementation

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors