Skip to content

Commit c00d74a

Browse files
Merge pull request #1647 from onflow/pyusd0-update
improvements to pyusd0 migration guide
2 parents 93b1b1f + 04288b0 commit c00d74a

2 files changed

Lines changed: 65 additions & 57 deletions

File tree

docs/defi/defi-contracts-testnet.md

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,21 @@ Below is a list of commonly used DeFi contracts on Flow Testnet:
2929

3030
#### Flow EVM Testnet
3131

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

4848
#### Flow Cadence Testnet
4949

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

7575
#### Flow EVM Testnet
7676

77-
| Contract | EVM Testnet Address |
78-
| --------------------------------------------- | -------------------------------------------- |
79-
| [UniswapV2Factory (FlowSwap)][33] | `0x7d726261FB76B264fc20eA1f19D900D760136566` |
80-
| [UniswapV2Router02 (FlowSwap)][34] | `0x524E1291c109BE27FDE48De97cAf0B3c0F02A68f` |
81-
| [UniswapV2Pair (FlowSwap)][35] | `0x21E3aa01561d7D869785aAedB14130C5807C5A12` |
82-
| [UniswapV3Factory (FlowSwap)][36] | `0x92657b195e22b69E4779BBD09Fa3CD46F0CF8e39` |
83-
| [NonfungiblePositionManager (FlowSwap)][37] | `0x8b9F96390EC35d5859937c7c5D68Ff6D5CFC312f` |
84-
| [SwapRouter02 (FlowSwap)][38] | `0x2Db6468229F6fB1a77d248Dbb1c386760C257804` |
85-
| [QuoterV2 (FlowSwap)][39] | `0xA1e0E4CCACA34a738f03cFB1EAbAb16331FA3E2c` |
77+
| Contract | EVM Testnet Address |
78+
| -------------------------------------------- | -------------------------------------------- |
79+
| [UniswapV2Factory (FlowSwap)][33] | `0x7d726261FB76B264fc20eA1f19D900D760136566` |
80+
| [UniswapV2Router02 (FlowSwap)][34] | `0x524E1291c109BE27FDE48De97cAf0B3c0F02A68f` |
81+
| [UniswapV2Pair (FlowSwap)][35] | `0x21E3aa01561d7D869785aAedB14130C5807C5A12` |
82+
| [UniswapV3Factory (FlowSwap)][36] | `0x92657b195e22b69E4779BBD09Fa3CD46F0CF8e39` |
83+
| [NonfungiblePositionManager (FlowSwap)][37] | `0x8b9F96390EC35d5859937c7c5D68Ff6D5CFC312f` |
84+
| [SwapRouter02 (FlowSwap)][38] | `0x2Db6468229F6fB1a77d248Dbb1c386760C257804` |
85+
| [QuoterV2 (FlowSwap)][39] | `0xA1e0E4CCACA34a738f03cFB1EAbAb16331FA3E2c` |
8686
| [V3Migrator (FlowSwap)][40] | `0x00a101726ff770cd8ed53E8376b9440Bad40CAd9` |
87-
| [UniswapV3Staker (FlowSwap)][41] | `0x04400857ad69EaA7dd6fEF1C329E80E50BD30b76` |
88-
| [TickLens (FlowSwap)][42] | `0x36D9bDCbA840F5bcb95EE7bD54a86808aef6581F` |
89-
| [NFTDescriptor (FlowSwap)][43] | `0x6982D5Cb80Cd7E2cb7C0d0B8452841471Bc84Bc2` |
90-
| [v3_nft_position_descriptor (FlowSwap)][44] | `0x61f4e983A72d9BD8429154982A3d9fCF3A1D98d0` |
91-
| [TransparentUpgradeableProxy (FlowSwap)][45] | `0xE0895150a7c84e8fB9fecCE72F4C80c130C80fDa` |
92-
| [UniswapV3Pool (FlowSwap)][46] | `0xa4Db57e3d3c6674FA02a2f3a667d3C22Fe17efF4` |
87+
| [UniswapV3Staker (FlowSwap)][41] | `0x04400857ad69EaA7dd6fEF1C329E80E50BD30b76` |
88+
| [TickLens (FlowSwap)][42] | `0x36D9bDCbA840F5bcb95EE7bD54a86808aef6581F` |
89+
| [NFTDescriptor (FlowSwap)][43] | `0x6982D5Cb80Cd7E2cb7C0d0B8452841471Bc84Bc2` |
90+
| [v3_nft_position_descriptor (FlowSwap)][44] | `0x61f4e983A72d9BD8429154982A3d9fCF3A1D98d0` |
91+
| [TransparentUpgradeableProxy (FlowSwap)][45] | `0xE0895150a7c84e8fB9fecCE72F4C80c130C80fDa` |
92+
| [UniswapV3Pool (FlowSwap)][46] | `0xa4Db57e3d3c6674FA02a2f3a667d3C22Fe17efF4` |
9393
| [UniversalRouter (FlowSwap)][47] | `0xB685ab04Dfef74c135A2ed4003441fF124AFF9a0` |
94-
| [Permit2 (FlowSwap)][48] | `0x000000000022D473030F116dDEE9F6B43aC78BA3` |
95-
| [FusionXInterfaceMulticall (FlowSwap)][49] | `0x02b9B840CDCEe84510a02cc85f351CAaD41f46CE` |
96-
| [proxy_admin (FlowSwap)][50] | `0xf4011F45A666dC7eC54445a710c3aae735F7E890` |
97-
| [StableKittyFactoryNG (KittyPunch)][51] | `0x0699C35C0104e478f510531F5Dfc3F9313ae49D1` |
98-
| [TwoKittyFactory (KittyPunch)][52] | `0xeaa5949471C7B31ae97D3a52483028aE595E8e83` |
99-
| [TriKittyFactory (KittyPunch)][53] | `0x62aC6e05Bac04702bF744106499F72f200297121` |
100-
| [KittyRouterNgPoolsOnly (KittyPunch)][54] | `0x70e8C797f698De61787A7275628713077723694` |
101-
| [PunchSwapV2Router02 (KittyPunch)][55] | `0xeD53235cC3E9d2d464E9c408B95948836648870B` |
102-
| [PunchSwapV2Factory (KittyPunch)][56] | `0x0f6C2EF40FA42B2F0E0a9f5987b2f3F8Af3C173f` |
94+
| [Permit2 (FlowSwap)][48] | `0x000000000022D473030F116dDEE9F6B43aC78BA3` |
95+
| [FusionXInterfaceMulticall (FlowSwap)][49] | `0x02b9B840CDCEe84510a02cc85f351CAaD41f46CE` |
96+
| [proxy_admin (FlowSwap)][50] | `0xf4011F45A666dC7eC54445a710c3aae735F7E890` |
97+
| [StableKittyFactoryNG (KittyPunch)][51] | `0x0699C35C0104e478f510531F5Dfc3F9313ae49D1` |
98+
| [TwoKittyFactory (KittyPunch)][52] | `0xeaa5949471C7B31ae97D3a52483028aE595E8e83` |
99+
| [TriKittyFactory (KittyPunch)][53] | `0x62aC6e05Bac04702bF744106499F72f200297121` |
100+
| [KittyRouterNgPoolsOnly (KittyPunch)][54] | `0x70e8C797f698De61787A7275628713077723694` |
101+
| [PunchSwapV2Router02 (KittyPunch)][55] | `0xeD53235cC3E9d2d464E9c408B95948836648870B` |
102+
| [PunchSwapV2Factory (KittyPunch)][56] | `0x0f6C2EF40FA42B2F0E0a9f5987b2f3F8Af3C173f` |
103103

104104
#### Flow Cadence Testnet
105105

docs/defi/pyusd0-integration-guide.md

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,39 +21,41 @@ keywords:
2121
sidebar_position: 9
2222
sidebar_label: PYUSD0 Integration
2323
---
24+
2425
# PYUSD0 Integration Guide
2526

2627
## Overview
2728

28-
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.
29+
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]
2930

3031
## Contract Addresses
3132

3233
### Flow EVM Mainnet
3334

34-
| Contract | Address |
35-
| ----- | ----- |
36-
| [PYUSD0][2] | `0x99af3eea856556646c98c8b9b2548fe815240750` |
35+
| Contract | Address |
36+
| --------------------------------- | -------------------------------------------- |
37+
| [PYUSD0][2] | `0x99af3eea856556646c98c8b9b2548fe815240750` |
3738
| [Migration Pool (USDF/PYUSD0)][3] | `0x6ddDFa511A940cA3fD5Ec7F6a4f23947cA30f030` |
3839

3940
### Flow Cadence Mainnet
4041

41-
| Token Name | Contract Address | Contract Name |
42-
| ----- | ----- | ----- |
42+
| Token Name | Contract Address | Contract Name |
43+
| ----------- | -------------------- | ------------------------------------------------------------ |
4344
| [PYUSD0][1] | `0x1e4aa0b87d10b141` | `EVMVMBridgedToken_99af3eea856556646c98c8b9b2548fe815240750` |
4445

4546
### Testnet
4647

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

49-
* [Paxos PYUSD Contract][4]
50-
* This gives you a functionally equivalent token you can mint/control for testing.
52+
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.
5153

5254
### **Deprecated (USDF)**
5355

54-
| Contract | Address | Status |
55-
| ----- | ----- | ----- |
56-
| USDF | `0x2aaBea2058b5aC2D339b163C6Ab6f2b6d53aabED` | Deprecating |
56+
| Contract | Address | Status |
57+
| -------- | -------------------------------------------- | ----------- |
58+
| USDF | `0x2aaBea2058b5aC2D339b163C6Ab6f2b6d53aabED` | Deprecating |
5759

5860
## **Token Specifications**
5961

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

68-
---
70+
## About PYUSD0
71+
72+
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.
6973

7074
## **Code Examples**
7175

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

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

76-
1. **Add PYUSD0 support** alongside USDF
77-
2. **Update defaults** to use PYUSD0 instead of USDF
78-
3. **Communicate to users** about migration timeline
79-
4. **Deprecate USDF** after grace period
80+
1. **Add PYUSD0 support** alongside USDF
81+
2. **Update defaults** to use PYUSD0 instead of USDF
82+
3. **Communicate to users** about migration timeline
83+
4. **Deprecate USDF** after grace period
8084

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

0 commit comments

Comments
 (0)