I’ve been thinking a lot about how we can safely bridge POOL to Polygon. My two major concerns have been:
- POOL being effectively burned because L2->L1 return costs are very high.
- Inability of Polygon POOL holders to participate in governance.
I believe I have a solution, so I’ve written it in the form of a PTIP. Have a read below and let’s discuss the approach.
This proposal allows us to bridge the POOL token to Polygon while retaining voting power.
We will deploy a new token on Ethereum called Bridge Pool. This token can be minted and burned for POOL at a 1:1 exchange rate. The Bridge Pool token can be bridged to Polygon using their standard mechanism, saving us significant effort. The POOL held by the Bridge Pool can be delegated by governance.
Polygon allows users to very easily set up a token bridge for ERC20 tokens. This means that tokens are locked into the bridge on Ethereum, then minted in the corresponding bridge on Polygon. The problem with this solution is that POOL tokens locked in the bridge are unable to be used for voting. Some people may bridge POOL tokens back to Ethereum, but the bridge is quite costly. Current costs are around $100 USD. Small amounts of POOL will become dust and be permanently locked in Polygon.
This proposal aims to mitigate the loss of votes by bridging what is effectively a POOL “IOU” token.
This proposal will:
- Deploy a Bridge Pool token contract
- Bridge Pool tokens can be minted by depositing POOL
- POOL can be redeemed by burning Bridge Pool tokens
- Governance can delegate the voting power of the POOL held by the Bridge Pool contract.
- The Bridge Pool token will be bridged to Polygon as the official POOL token.
- Polygon POOL holders (and possibly bPOOL) can vote using Snapshot. The delegate will vote in on-chain proposals according to the results of the Snapshot votes.
We want to bridge the POOL token to Polygon so that users can take advantage of cheap transactions, but still contribute to the protocol. By utilizing Polygon’s standard token bridge, we can save a significant amount of development effort. Deploying a token is very simple to do, and it only needs mint, burn and delegate functionality.