LiquidL2 is the first protocol which allows crypto users to trustlessly borrow against future cashflows.
This project allows user's to borrow funds backed by pending withdrawals from Layer 2 solutions such as Matic Network. It can easily be extended to cover any EVM compatible layer 2 solution such as Optimistic Rollups.
It does this by allowing users to create Withdrawal Vaults which allow lenders to give credit to users without having to trust that they will repay their loans as the Withdrawal Vault will always repay any debts before releasing funds to its owner.
This project makes heavy use of Aave's credit delegation vaults to allow the lenders to extend a credit limit to each user's vault.
A Withdrawal Vault Factory contract is deployed to the same address on mainnet and Matic. Whenever a user asks to withdraw funds to mainnet, a Withdrawal Vault is automatically created for them which takes their funds and starts a withdrawal. This vault is deployed using create2 such that an identical vault can be deployed on mainnet ready to receive the funds.
Using the two subgraphs I have created, a lender can quickly see any new withdrawals through LiquidL2 and extend a credit limit to the vault on mainnet. The user which owns this vault can then draw a loan against this credit limit and do whatever they like with the funds (trade it on uniswap, send to another L2, etc.)
After the confirmation period is over, anyone can poke the withdrawal vault to make it claim the funds from the L2. The vault is then guaranteed to use any funds to repay the loan it has been given and then send the remainder to its owner. This ensures that the lender will be repaid even if the borrower disappears and never interacts with LiquidL2 again.