As a Flamingo does, GHO needs equilibrium. Let's flamingho!!
Flamingho (pronounced flamingo) is a permissionless facilitator protocol that generates yield which can be used for funding public goods. Let's flamingho!
Permissionless. With Flamingho, everyone is able to deploy a custom facilitator (facilitators as plugins) and get a bucket capacity equals to the amount of gho locked by the user. 1 gho == 1 bucket capacity.
Flexible. Users can increase/decrease capacity by locking/unlocking gho. The more capacity, the more locked gho in the protocol. The less capacity, the less gho locked.
Neutral. Decreasing capacity under the bucket level will capture usdc from the facilitators treasury to help the protocol achieving market neutrality, stability and diversification of asset reserves (usdc and gho) while any kind of strategy could be implemented by facilitator developers.
Profitable. Captured usdc is deposited in a vault which send it to the aave protocol and generates yield for funding public goods. Aside, every user could implement custom profitable facilitator strategies.
In the future, locked gho could be used in a similar way just by sending it to a similar gho vault (like the one Aryan Godara is developing in this hackathon. Let's flamingho!) While this would be a great option, currently this gho is locked in the protocol.
Multichain. Lock you gho on the L1 and get a facilitator on the L2 with a custom system for managing capacity changes powered by the flamingho token.
Equlibrium. Flamingho protocol maximizes arbitrage opportunities when the gho price changes against the usdc. These limited opportunities, capped by the total capacity of the protocol, could be an interesting mechanism to help with the peg (minting when there is scarcity of gho (gho > usdc, will attract buyers to get 1 gho per 1 usdc, then sell it in the market for 1.01), burning in abundance (gho < usdc will attract sellers to get 1 usdc per 1 gho, after got it from the market for 0.99)), and of course, be very profitable.
The core of the Flamingho protocol is the FacilitatorRegistry contract. Every new facilitator is agnostically deployed and registered by this contract. The Registry sets the capacity in the gho token contract (need some permissions) and locks the gho. It also send multichain messages trough CCIP to deploy multichain facilitators trough the MultichainListener.
After deployments, the Registry is in charge of update the capacity and capture the usdc from facilitators in the L1 (trough the gho token contract), while the BucketManager contract is in charge of that in the L2 (powered by the flamingho token).
Captured usdc in the L1 is sent to a vault and deposited to the AAVE protocol for generating yield. This yield will be used for funding public goods.
The project shows the functionality of some basic facilitators (Stable and Multichain) but any kind of complex facilitators could exist in the protocol.
Flamingho project includes a little demo dapp, powered by ConnectKit, where any user is able to buy/mint and sell/burn gho in Sepolia and fgho in Optimism Goerli from a FacilitatorStable and a FacilitatorMultichain respectively.