frxUSD Mint & Redeem Supported Routes & Networks
Mint and redeem frxUSD 1:1 on any of the supported blockchain networks below.
Mint & Redeem Routes on Ethereum
The following table shows the supported assets you can use to mint and redeem frxUSD 1:1 on Ethereum mainnet, along with their token addresses and the corresponding Mint & Redeem contracts.
Note: Please ensure the sender and recipient addresses are onboarded to hold BUIDL, USTB, or WTGXX in order to mint and redeem frxUSD using these assets.
Quickstart Guides
- Mint and redeem with USDC
- Mint and redeem with Superstate's USTB
- Mint and redeem with Blackrock's BUIDL
- Mint and redeem with WisdomTree's WTGXX
- Mint and redeem with Bridge.xyz's USDB
Direct frxUSD → USDC Redemption via USTB
The ERC4626RedeemUSTB contract allows frxUSD holders to redeem frxUSD directly for USDC in a single transaction, routing the redemption through Superstate's USTB. Because USTB only passes through the contract itself, the caller does not need to hold USTB — you only touch frxUSD and USDC.
| Contract | Address |
|---|---|
| ERC4626RedeemUSTB | 0x00000000564ee6a571C5819057f27bb671E78Bd5 (opens in a new tab) |
How It Works
When you call redeem, the contract atomically:
- Pulls frxUSD from your wallet (requires a prior frxUSD approval to the contract)
- Redeems the frxUSD for USTB via the USTB Mint & Redeem custodian (opens in a new tab)
- Redeems the USTB for USDC via Superstate's USTB redemption contract (opens in a new tab)
- Transfers the resulting USDC to your chosen receiver address
Key Functions
The contract exposes an ERC-4626-style interface where frxUSD is the share token and USDC is the underlying asset:
| Function | Description |
|---|---|
redeem(uint256 _sharesIn, address _receiver, address _owner) | Redeems an exact amount of frxUSD for USDC. _owner must be the caller. |
withdraw(uint256 _assetsOut, address _receiver, address _owner) | Withdraws an exact amount of USDC by burning the required frxUSD. _owner must be the caller. |
previewRedeem(uint256 _sharesIn) | Simulates how much USDC a given amount of frxUSD would return. |
previewWithdraw(uint256 _assetsOut) | Simulates how much frxUSD is needed to receive a given amount of USDC. |
maxRedeem(address _owner) / maxWithdraw(address _owner) | Returns the maximum frxUSD redeemable / USDC withdrawable for an address given current capacity. |
totalAssets() | Total USDC currently available via this route. |
Notes:
- This is a redeem-only contract — deposit and mint functions are not supported and will revert. To mint frxUSD, use the Mint & Redeem contracts above.
- Redemption capacity is bounded by the USTB held in the custodian and the instant USDC liquidity available in Superstate's redemption contract. Use
maxRedeem/maxWithdrawto check current capacity before redeeming. - The contract is an upgradeable ERC-1967 proxy (
Frax1967Proxy); its current implementation isERC4626RedeemUSTB(opens in a new tab).
Cross-Chain Mint & Redeem Routes
The FraxNet contract system allows for cross-chain frxUSD mint & redeem operations. This system enables minting and redeeming frxUSD across multiple networks using USDC. The same factory contract powers FraxNet (opens in a new tab):
| Mainnet | FraxNet Factory Address |
|---|---|
| Ethereum | 0xA3D62f83C433e2A56Af392E08a705A52DEd63696 (opens in a new tab) |
Follow the quickstart guide to see it in action.
Supported Chains for Minting
Below are the supported chains you can receive newly minted frxUSD on:
| Mainnet | EID |
|---|---|
| Ethereum | 30101 |
| Abstract | 30324 |
| Arbitrum | 30110 |
| Avalanche | 30106 |
| Base | 30184 |
| BSC | 30102 |
| Ink | 30339 |
| Katana | 30375 |
| Linea | 30183 |
| Monad | 30390 |
| Optimism | 30111 |
| Plume | 30370 |
| Polygon | 30109 |
| Sei | 30280 |
| Sonic | 30332 |
| Stable | 30396 |
| Tempo | 30410 |
| Unichain | 30320 |
| XLayer | 30274 |
| zkSync | 30165 |
Supported Chains for Redeeming
Below are the supported chains you can receive USDC on via Circle's CCTP V2 (opens in a new tab) after redeeming frxUSD:
Important: CCTP V1 is not supported.
Note: If you want to redeem frxUSD and receive USDC on Ethereum mainnet, there is no need to use CCTP V2. You can simply call processRedemption to redeem frxUSD back to USDC directly on Ethereum mainnet.
| Mainnet | Domain |
|---|---|
| Avalanche | 1 |
| Optimism | 2 |
| Arbitrum | 3 |
| Solana | 5 |
| Base | 6 |
| Polygon PoS | 7 |
| Unichain | 10 |
| Linea | 11 |
| Sonic | 13 |
| Sei | 16 |