ERC20 Swaps

ERC20 Swaps were designed by the developers in the Frictionless protocol to risk off permissionless stablecoins such as USDC or USDT.

Permissionless are a great innovation from the crypto markets which were designed for permissionless crypto referencing to US Dollars, however handling stablecoins for traditional institutional partners is still a risky proposition.

The PROTOCOL_TREASURY manages the on/off ramp of the ERC20 stablecoin, such as USDC/USDT within its fund structures of FRICTIONLESS MARKETS SECURITIES FT.

The principle of an ERC20 Swap is simple.

Schematic of a Frictionless ERC20 (USDC stablecoin) Swap
  1. The PROTOCOL_ADMIN defines the valid token pairs which are convertible on a 1:1 basis.

  2. Fees can be optionally defined for the conversion to/from the ERC20 token.

  3. The holder (Investor) of ERC20 tokens invokes the convertFromERC20function of the smart contract, the ERC20 tokens are sent to the PROTOCOL_TREASURY and a matching amount of FrictionlessFundDepositToken is minted and sent to the holder (Investor).

  4. If the Investor wishes to convert their FrictionlessFundDepositToken to a valid configured ERC20 token, such as USDC/USDT, then they can invoke the convertToERC20function of the smart contract. In this case, the PROTOCOL_TREASURY will receive the FrictionlessFundDepositToken and burn it, transferring the matching amount of ERC20 (less any fees) to the Investor.

An example of two live ERC20 swaps on the Avalanche C-Chain are;

In these swaps, you can observe the collection of optional fees and the atomic settlement of the swap of the fsUSD tokens with USDC into the PROTOCOL_TREASURY.

Frictionless ERC20 Swap - USDC for fsUSD with automatic fee collection
Frictionless ERC20 Swap - fsUSDC for USDC with no fee collection

Last updated