Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 39 additions & 39 deletions docs/defi/defi-contracts-testnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,21 @@ Below is a list of commonly used DeFi contracts on Flow Testnet:

#### Flow EVM Testnet

| Token | EVM Testnet Address | How to Get |
| ------------------------- | -------------------------------------------- | ----------- |
| FLOW (native, non-erc20) | — | [Faucet][1] |
| [WFLOW][2] | `0xd3bF53DAC106A0290B0483EcBC89d40FcC961f3e` | [Swap][28] |
| [MOET][3] | `0x51f5cc5f50afb81e8f23c926080fa38c3024b238` | [Swap][29] |
| [MockUSDC][4] | `0xd431955D55a99EF69BEb96BA34718d0f9fBc91b1` | [Swap][30] |
| [mUSDC][5] | `0x4154d5B0E2931a0A1E5b733f19161aa7D2fc4b95` | [Swap][31] |
| [USDf][6] | `0xd7d43ab7b365f0d0789aE83F4385fA710FfdC98F` | [Swap][32] |
| [USD Flow][7] | `0xf2E5A325f7D678DA511E66B1c0Ad7D5ba4dF93D3` | — |
| [USDC.e][8] | `0x9B7550D337bB449b89C6f9C926C3b976b6f4095b` | — |
| [ankrFLOW][9] | `0xe132751AB5A14ac0bD3Cb40571a9248Ee7a2a9EA` | — |
| [ankrFLOWEVM][10] | `0x8E3DC6E937B560ce6a1Aaa78AfC775228969D16c` | — |
| [ETHf][11] | `0x059A77239daFa770977DD9f1E98632C3E4559848` | [Mint][14] |
| [BTCf][12] | `0x208d09d2a6Dd176e3e95b3F0DE172A7471C5B2d6` | [Mint][15] |
| [cbBTC][13] | `0x30F44C64725727F2001E6C1eF6e6CE9c7aB91dC3` | [Mint][16] |
| Token | EVM Testnet Address | How to Get |
| ------------------------ | -------------------------------------------- | ----------- |
| FLOW (native, non-erc20) | — | [Faucet][1] |
| [WFLOW][2] | `0xd3bF53DAC106A0290B0483EcBC89d40FcC961f3e` | [Swap][28] |
| [MOET][3] | `0x51f5cc5f50afb81e8f23c926080fa38c3024b238` | [Swap][29] |
| [MockUSDC][4] | `0xd431955D55a99EF69BEb96BA34718d0f9fBc91b1` | [Swap][30] |
| [mUSDC][5] | `0x4154d5B0E2931a0A1E5b733f19161aa7D2fc4b95` | [Swap][31] |
| [PYUSD0][6] | `0xd7d43ab7b365f0d0789aE83F4385fA710FfdC98F` | [Swap][32] |
| [USD Flow][7] | `0xf2E5A325f7D678DA511E66B1c0Ad7D5ba4dF93D3` | — |
| [USDC.e][8] | `0x9B7550D337bB449b89C6f9C926C3b976b6f4095b` | — |
| [ankrFLOW][9] | `0xe132751AB5A14ac0bD3Cb40571a9248Ee7a2a9EA` | — |
| [ankrFLOWEVM][10] | `0x8E3DC6E937B560ce6a1Aaa78AfC775228969D16c` | — |
| [ETHf][11] | `0x059A77239daFa770977DD9f1E98632C3E4559848` | [Mint][14] |
| [BTCf][12] | `0x208d09d2a6Dd176e3e95b3F0DE172A7471C5B2d6` | [Mint][15] |
| [cbBTC][13] | `0x30F44C64725727F2001E6C1eF6e6CE9c7aB91dC3` | [Mint][16] |

#### Flow Cadence Testnet

Expand Down Expand Up @@ -74,32 +74,32 @@ Below is a list of commonly used DeFi contracts on Flow Testnet:

#### Flow EVM Testnet

| Contract | EVM Testnet Address |
| --------------------------------------------- | -------------------------------------------- |
| [UniswapV2Factory (FlowSwap)][33] | `0x7d726261FB76B264fc20eA1f19D900D760136566` |
| [UniswapV2Router02 (FlowSwap)][34] | `0x524E1291c109BE27FDE48De97cAf0B3c0F02A68f` |
| [UniswapV2Pair (FlowSwap)][35] | `0x21E3aa01561d7D869785aAedB14130C5807C5A12` |
| [UniswapV3Factory (FlowSwap)][36] | `0x92657b195e22b69E4779BBD09Fa3CD46F0CF8e39` |
| [NonfungiblePositionManager (FlowSwap)][37] | `0x8b9F96390EC35d5859937c7c5D68Ff6D5CFC312f` |
| [SwapRouter02 (FlowSwap)][38] | `0x2Db6468229F6fB1a77d248Dbb1c386760C257804` |
| [QuoterV2 (FlowSwap)][39] | `0xA1e0E4CCACA34a738f03cFB1EAbAb16331FA3E2c` |
| Contract | EVM Testnet Address |
| -------------------------------------------- | -------------------------------------------- |
| [UniswapV2Factory (FlowSwap)][33] | `0x7d726261FB76B264fc20eA1f19D900D760136566` |
| [UniswapV2Router02 (FlowSwap)][34] | `0x524E1291c109BE27FDE48De97cAf0B3c0F02A68f` |
| [UniswapV2Pair (FlowSwap)][35] | `0x21E3aa01561d7D869785aAedB14130C5807C5A12` |
| [UniswapV3Factory (FlowSwap)][36] | `0x92657b195e22b69E4779BBD09Fa3CD46F0CF8e39` |
| [NonfungiblePositionManager (FlowSwap)][37] | `0x8b9F96390EC35d5859937c7c5D68Ff6D5CFC312f` |
| [SwapRouter02 (FlowSwap)][38] | `0x2Db6468229F6fB1a77d248Dbb1c386760C257804` |
| [QuoterV2 (FlowSwap)][39] | `0xA1e0E4CCACA34a738f03cFB1EAbAb16331FA3E2c` |
| [V3Migrator (FlowSwap)][40] | `0x00a101726ff770cd8ed53E8376b9440Bad40CAd9` |
| [UniswapV3Staker (FlowSwap)][41] | `0x04400857ad69EaA7dd6fEF1C329E80E50BD30b76` |
| [TickLens (FlowSwap)][42] | `0x36D9bDCbA840F5bcb95EE7bD54a86808aef6581F` |
| [NFTDescriptor (FlowSwap)][43] | `0x6982D5Cb80Cd7E2cb7C0d0B8452841471Bc84Bc2` |
| [v3_nft_position_descriptor (FlowSwap)][44] | `0x61f4e983A72d9BD8429154982A3d9fCF3A1D98d0` |
| [TransparentUpgradeableProxy (FlowSwap)][45] | `0xE0895150a7c84e8fB9fecCE72F4C80c130C80fDa` |
| [UniswapV3Pool (FlowSwap)][46] | `0xa4Db57e3d3c6674FA02a2f3a667d3C22Fe17efF4` |
| [UniswapV3Staker (FlowSwap)][41] | `0x04400857ad69EaA7dd6fEF1C329E80E50BD30b76` |
| [TickLens (FlowSwap)][42] | `0x36D9bDCbA840F5bcb95EE7bD54a86808aef6581F` |
| [NFTDescriptor (FlowSwap)][43] | `0x6982D5Cb80Cd7E2cb7C0d0B8452841471Bc84Bc2` |
| [v3_nft_position_descriptor (FlowSwap)][44] | `0x61f4e983A72d9BD8429154982A3d9fCF3A1D98d0` |
| [TransparentUpgradeableProxy (FlowSwap)][45] | `0xE0895150a7c84e8fB9fecCE72F4C80c130C80fDa` |
| [UniswapV3Pool (FlowSwap)][46] | `0xa4Db57e3d3c6674FA02a2f3a667d3C22Fe17efF4` |
| [UniversalRouter (FlowSwap)][47] | `0xB685ab04Dfef74c135A2ed4003441fF124AFF9a0` |
| [Permit2 (FlowSwap)][48] | `0x000000000022D473030F116dDEE9F6B43aC78BA3` |
| [FusionXInterfaceMulticall (FlowSwap)][49] | `0x02b9B840CDCEe84510a02cc85f351CAaD41f46CE` |
| [proxy_admin (FlowSwap)][50] | `0xf4011F45A666dC7eC54445a710c3aae735F7E890` |
| [StableKittyFactoryNG (KittyPunch)][51] | `0x0699C35C0104e478f510531F5Dfc3F9313ae49D1` |
| [TwoKittyFactory (KittyPunch)][52] | `0xeaa5949471C7B31ae97D3a52483028aE595E8e83` |
| [TriKittyFactory (KittyPunch)][53] | `0x62aC6e05Bac04702bF744106499F72f200297121` |
| [KittyRouterNgPoolsOnly (KittyPunch)][54] | `0x70e8C797f698De61787A7275628713077723694` |
| [PunchSwapV2Router02 (KittyPunch)][55] | `0xeD53235cC3E9d2d464E9c408B95948836648870B` |
| [PunchSwapV2Factory (KittyPunch)][56] | `0x0f6C2EF40FA42B2F0E0a9f5987b2f3F8Af3C173f` |
| [Permit2 (FlowSwap)][48] | `0x000000000022D473030F116dDEE9F6B43aC78BA3` |
| [FusionXInterfaceMulticall (FlowSwap)][49] | `0x02b9B840CDCEe84510a02cc85f351CAaD41f46CE` |
| [proxy_admin (FlowSwap)][50] | `0xf4011F45A666dC7eC54445a710c3aae735F7E890` |
| [StableKittyFactoryNG (KittyPunch)][51] | `0x0699C35C0104e478f510531F5Dfc3F9313ae49D1` |
| [TwoKittyFactory (KittyPunch)][52] | `0xeaa5949471C7B31ae97D3a52483028aE595E8e83` |
| [TriKittyFactory (KittyPunch)][53] | `0x62aC6e05Bac04702bF744106499F72f200297121` |
| [KittyRouterNgPoolsOnly (KittyPunch)][54] | `0x70e8C797f698De61787A7275628713077723694` |
| [PunchSwapV2Router02 (KittyPunch)][55] | `0xeD53235cC3E9d2d464E9c408B95948836648870B` |
| [PunchSwapV2Factory (KittyPunch)][56] | `0x0f6C2EF40FA42B2F0E0a9f5987b2f3F8Af3C173f` |

#### Flow Cadence Testnet

Expand Down
44 changes: 26 additions & 18 deletions docs/defi/pyusd0-integration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,39 +21,41 @@ keywords:
sidebar_position: 9
sidebar_label: PYUSD0 Integration
---

# PYUSD0 Integration Guide

## Overview

This guide is for developers and protocols integrating PYUSD0 on Flow EVM. PYUSD0 is an OFT (Omnichain Fungible Token) deployed via LayerZero, replacing USDF as the canonical USD stablecoin on Flow.
This guide is for developers and protocols integrating PYUSD0 on Flow. PYUSD0 is an OFT (Omnichain Fungible Token) and brings pre-native PayPal USD support to Flow with seamless cross-chain transfers across 140+ chains via Stargate. It replaces USDF as Flow's canonical USD stablecoin. For users please read the [migration guide.][6]

## Contract Addresses

### Flow EVM Mainnet

| Contract | Address |
| ----- | ----- |
| [PYUSD0][2] | `0x99af3eea856556646c98c8b9b2548fe815240750` |
| Contract | Address |
| --------------------------------- | -------------------------------------------- |
| [PYUSD0][2] | `0x99af3eea856556646c98c8b9b2548fe815240750` |
| [Migration Pool (USDF/PYUSD0)][3] | `0x6ddDFa511A940cA3fD5Ec7F6a4f23947cA30f030` |

### Flow Cadence Mainnet

| Token Name | Contract Address | Contract Name |
| ----- | ----- | ----- |
| Token Name | Contract Address | Contract Name |
| ----------- | -------------------- | ------------------------------------------------------------ |
| [PYUSD0][1] | `0x1e4aa0b87d10b141` | `EVMVMBridgedToken_99af3eea856556646c98c8b9b2548fe815240750` |

### Testnet

**No official PYUSD0 testnet deployment.** For local testing, deploy the PYUSD contract directly:
| Contract | Address |
| ----------- | -------------------------------------------- |
| [PYUSD0][7] | `0xd7d43ab7b365f0d0789aE83F4385fA710FfdC98F` |

* [Paxos PYUSD Contract][4]
* This gives you a functionally equivalent token you can mint/control for testing.
This is a stand-in token for testing purposes only. Mainnet PYUSD0 requires real PYUSD locked via LayerZero. The testnet contract has a [mint function][8] and a [liquidity pool][9] so you can mint or swap tokens for development.

### **Deprecated (USDF)**

| Contract | Address | Status |
| ----- | ----- | ----- |
| USDF | `0x2aaBea2058b5aC2D339b163C6Ab6f2b6d53aabED` | Deprecating |
| Contract | Address | Status |
| -------- | -------------------------------------------- | ----------- |
| USDF | `0x2aaBea2058b5aC2D339b163C6Ab6f2b6d53aabED` | Deprecating |

## **Token Specifications**

Expand All @@ -65,21 +67,27 @@ Standard: ERC-20 + LayerZero OFT
Backing: 1:1 PYUSD (PayPal USD)
```

---
## About PYUSD0

PYUSD0 is a pre-native token deployed via LayerZero's Asset0 program, alongside other stablecoins like USDG0 (backed by Robinhood, Kraken, Mastercard) and AUSD0. It's fully backed 1:1 by PayPal USD. When Paxos later deploys native PYUSD directly on Flow, PYUSD0 balances will automatically upgrade with no user or developer action required.

## **Code Examples**

Visit [the GitHub Repository][5] for code examples on bridging PYUSD0 via LayerZero OFT.

## **Migration Path for Existing USDF Integrations**

1. **Add PYUSD0 support** alongside USDF
2. **Update defaults** to use PYUSD0 instead of USDF
3. **Communicate to users** about migration timeline
4. **Deprecate USDF** after grace period
1. **Add PYUSD0 support** alongside USDF
2. **Update defaults** to use PYUSD0 instead of USDF
3. **Communicate to users** about migration timeline
4. **Deprecate USDF** after grace period

[1]: https://www.flowscan.io/contract/A.1e4aa0b87d10b141.EVMVMBridgedToken_99af3eea856556646c98c8b9b2548fe815240750
[2]: https://evm.flowscan.io/token/0x99aF3EeA856556646C98c8B9b2548Fe815240750
[3]: https://evm.flowscan.io/token/0x6ddDFa511A940cA3fD5Ec7F6a4f23947cA30f030?tab=contract
[4]: https://github.com/paxosglobal/paxos-token-contracts/blob/master/contracts/stablecoins/PYUSD.sol
[5]: https://github.com/onflow/flow-bridge-app/tree/main/ethereum-oapp
[5]: https://github.com/onflow/flow-bridge-app/tree/main/ethereum-oapp
[6]: https://flow.com/post/pyusd0-migration-guide
[7]: https://evm-testnet.flowscan.io/address/0xd7d43ab7b365f0d0789aE83F4385fA710FfdC98F
[8]: https://evm-testnet.flowscan.io/token/0xd7d43ab7b365f0d0789aE83F4385fA710FfdC98F?tab=read_write_contract
[9]: https://flowswap.io/swap?chain=flow-testnet&inputCurrency=NATIVE&outputCurrency=0xd7d43ab7b365f0d0789aE83F4385fA710FfdC98F