Lending Pools

Unlock the true potential of your assets with Lending Pools at Pact, a cutting-edge feature developed in collaboration with Folks Finance. Lending Pools are constructed with two interest-bearing assets, providing an attractive opportunity to put your assets to work for you.

So, how does it work? It's quite simple.

  • When you deposit your assets into a Pact Lending Pool, they are seamlessly converted into interest-bearing assets on Folks Finance, and then added to a special 'Lending' pool on Pact. This dual action allows you to earn from two sources: 1) trading fees on Pact and 2) lending yields on Folks Finance.

Over time, the value of these interest-bearing assets grows. When you decide to withdraw, you will receive your original assets back, along with the accumulated interest, resulting in a higher total amount than your initial deposit.

However, it's important to keep in mind that while this feature offers the potential for higher returns, it does come with risks. In certain cases, others on Folks Finance may borrow the liquidity you have provided, temporarily limiting your ability to withdraw liquidity via Pact. As with all Decentralized Finance (DeFi) products, it's crucial to understand the associated risks before proceeding.

Behind the scenes, it's all powered by a new smart contract written by the Pact team -

The Pact LendingPool Adapter!

Want to understand more about what's happening under the covers? We've got you!

ADDLIQUIDITY:

  1. The Pact web application detects assets in a user's wallet, for example, ALGO and USDC.

  2. User elects to add liquidity to the fALGO-fUSDC Lending Pool (note: currently lending pools must be created by Pact admin, however this will be changed in due time)

  3. The Pact LendingPool Adapter smart contract will then deposit the ALGO and USDC into the Folks Finance lending markets, where Folks sends back corresponding debt tokens (fASAs). The LendingPool Adapter contract then adds these assets to an fALGO | fUSDC constant product liquidity pool on Pact. This then generates a PLP (Pact Liquidity Pool) token and is sent back to the user's wallet.

N.B. The above all happens in one transaction group. The user only has to sign one group transaction.

REMOVELIQUIDITY:

  1. The Pact web application detects a user's PLP tokens in the users’ wallet.

  2. User elects to exchange the PLP tokens for the original assets in the pool, whereby the amount of each asset received shall match the pool's asset-ratio at that time.

  3. The LendingPool Adapter then removes the nominated fASA tokens from the pool on Pact & redeems them in exchange for their standard ASA counterparts using the Folks Finance lending market contracts. The LendingPool Adapter contract then deposits the standard ASA tokens into the users wallet.

SWAPS:

  1. The Pact web application identifies the asset a user is attempting to swap in the Lending Pool. If the user is not opted into the asset they wish to receive, the smart contract will automatically complete the opt-in process.

  2. The user conducts the swap transaction between 2 standard ASA’s.

  3. The LendingPool Adapter deposits the designated standard ASA into Folks and exchanges it with the corresponding fASA. The pact web app then conducts the swap (fUSDC > fALGO) and subsequently redeems the fASA for the standard ASA type, before depositing the asset into the users wallet.

(e.g. Deposit ALGO for fALGO --> Swap fALGO for fUSDC --> Withdraw fUSDC for USDC)

*Please note, currently only Constant Product Pools are supported.

Last updated