PublicAllocator Overview
Similarly to withdrawable liquidity, when borrowing on a Morpho market, at first glance, liquidity is fragmented.
This fragmentation is not a problem for lenders thanks to Morpho Vaults as explained in the shared liquidity section. However, Morpho Vaults do not solve the problem for borrowers.
In the example above the borrower can only access $20.
This is where the PublicAllocator
contract comes in. With this contract, Morpho Vaults can define how liquidity can flow between their markets to increase the instantly borrowable liquidity on markets. By giving the Allocator role to this PublicAllocator
contract, anyone can reallocate liquidity of the vault up to the bounds set by the curator.
As such, a borrower can amplify the liquidity in one market by calling the reallocation contract. Of course, the extra call to the PublicAllocator
is abstracted in the front end.
A borrower on Morpho using the Reallocation contract of Morpho Vaults experiences the same liquidity as in a multi asset pool like Aave.
Now, as for withdrawable-liquidity, let’s project what happens as soon as you have multiple vaults enabling the reallocation contract.
Borrowers can reallocate liquidity from all the vaults supplying into this market, amplifying the borrowable-liquidity to levels that were not possible before in multi-asset lending pools like Aave.