EDIT: Risk Labs Treasury has offered to provide the loan of 10K BAL tokens for the relayer. So the proposal is being modified to only request 40K BAL tokens to be deposited into Across BAL LP from Balancer Treasury.
This proposal suggests that Balancer treasury use 40,000 BAL to enable fast, cheap, and secure bridging between Ethereum, Arbitrum, Polygon, and Optimism via Across Protocol (website: across.to ; Twitter: @AcrossProtocol).
Motivation:
Balancer currently is using Multichain for this bridging. Due to the design of Multichain, BAL tokens are getting stuck in destination chains due to bridging flows, and thus not allowing users to easily go back and forth between L1<>L2 and between L2âs.
For example, right now, the state of the Multichain pools are:
Ethereum: 484;
Optimism: 41,287;
Polygon: 18,728;
Arbitrum: 20,328
*note that 20k BAL was very recently added to Polygon and Arbitrum via BIP-37, so those are still close to original balances. The BIP-3 proposal that added 20k to each of Ethereum and Optimism is now completely out of balance with only ~1% of the supply remaining on Ethereum. This means users cannot exit to Ethereum until a bridger comes along to rebalance the pools!
This has also made some bridging routes extremely expensive or not even possible.
For example, right now, if you want to bridge 100 BAL from Optimism to Ethereum. The charge to the user is 12% (they only get 88 tokens on the other side). If BAL was on Across, the charge would be 0.12%, which is 99% lower. The user would get 99.88 BAL on Ethereum instead of the 88 BAL offered by Multichain.
Also, if you wanted to transfer more than 484 BAL, it wouldnât be possible. With Across, you could transfer up to the entire amount sitting in the relayer in 1-4 minutes, which is likely ~7,000 BAL (Iâll explain more about the relayer under specifications). And you could transfer the entire amount available in the liquidity pool within 2-4 hours, which is likely ~30,000 BAL! (subject to utilizations; it could be much more if other depositors participate in the LP).
Extra Protocol Incentive (Referral Program):
Across recently launched a referral program where referrers and referees are rewarded in (pre-launch) $ACX tokens.
Currently the rewards rate is between 40-80% of bridge fees being rebated back to the referrer/referee. There is an additional 2X boost bonus being paid at the moment as well. Since $ACX does not exist yet (but coming soon), the amount is calculated using $0.10 price (100mm FDV).
You can read more details on Across Doc site under âReferral Programâ
Balancer could add a link to Across on their site and earn referral rewards to the Balancer Treasury for everyone that bridges using Across. Note also the bridgers will share a portion of this reward as well.
Risk:
All the âtypicalâ smart contract risks. You can read the Across (v2) and other UMA audits here: You searched for UMA - OpenZeppelin blog. The UMA Optimistic Oracle (OO) is used to settle any disputes if/when they occur. The OO has been battle tested on 100âs of millions (soon to be > 1B) worth of assets. Across itself just passed $500MM in transfer volume. It has been integrated into the front-ends of Optimism, Arbitrum, Polygon, and Boba.
Specification:
Add 40K BAL tokens to Across BAL LP as per the following steps:
-
Get HubPool address from Mainnet (Chain ID: 1) - Across
-
Approve HubPool contract to spend the right amount of BAL
-
Call addLiquidity on the HubPool contract contracts-v2/HubPool.sol at master ¡ across-protocol/contracts-v2 ¡ GitHub
-
This will give them LP tokens back.
Across works using (1) relayers and (2) liquidity pools.
- Relayers: The relayers facilitate fast bridging (1-4mins typically) by providing a short term loan to the bridger on the destination chain upon validating the bridgers deposit on the origin chain. The relayer is reimbursed by the liquidity pool (assuming the transfer is not disputed). The dispute period is 2hrs. Think of the relayer as providing ~2-4hr loans over and over.
- Liquidity Pools: The liquidity pools are reimbursed what they pay the relayers once the bridgerâs deposit on the origin chain makes its way over that chainâs canonical (âofficialâ) bridge, which typically takes 7days. Think of the liquidity pool as providing 7day loans over and over. Anyone can deposit BAL into the Across BAL LP.
It is our suggestion that Balancer treasury use 40,000 BAL to fund an Across BAL LP to set up bridging on Across.
Relayer: 10,000 BAL will be provided and used by Risk Labs (the foundation that built UMA and Across) to run a relayer. Since the relayer is permissionless, if Balancer is comfortable running their own relayer, they are more than welcome to do this in the future. You can read about how to run a relayer here: Running a Relayer - Across
Liquidity Pool: Balancer Treasury will deposit 40,000 BAL into an Across BAL Liquidity Pool. It is able to be withdrawn at any time (assuming it is not being utilized. âUtilizedâ means it is in the canonical bridge en route back to Ethereum, which can take up to 7days.).
Case Study of Actual BAL pool on Multichain:
Looking through the BAL pool on Ethereum in Multichain, it looks like it supported 34 transfers (14 withdrawals) over a period of 53 days, and is now effectively shutdown (since there is only 484 BAL available). The sizes of the 6 withdrawals over 1,000 BAL were: 12,323; 9,494; 3,740; 2,225; 1,688; 1,339. The other 8 were all < 1,000.
Given the relayer allocation I proposed above, if Balancer was using Across, all 14 withdrawals would have no trouble being completed, and most importantly the relayer would be totally rebalanced within 2-4hrs and be ready to do more transfers! For 12 of the 14 transfers the users would have received their BAL on Ethereum in 1-4 mins. For the 2 biggest transfers, it would have taken 2-4hrs. Since these transfers occurred over a period of 53 days, the Across LP would have been totally replenished ~7x. Said another way, with the same seed amount of 20k BAL, Across could have supported 140,000 BAL (7 x 20k) worth of transfers and restored back to original conditions vs Multichain only supported ~34k and is now effectively turned off until a bridger comes along to rebalance their pools.
The Balancer treasury currently has 80k BAL tokens in Multichain. If they switched to Across, the treasury could take back 40,000 tokens, be able to support >5x the volumes at a fraction of the cost, and always be operational.
Across also could do all of this at ~0.12% on each transaction. Right now, the Multichain fee on moving 100 BAL to Ethereum is 12% (100x more!).
Out of fairness, the Multichain fee to move 100 BAL to Optimism from Ethereum is 0.10%. If Balancer treasury wanted Across to only be 0.10% (or lower) that is easy to do, Balancer could just specify a lower LP fee (explained in next section). Itâs about striking a balance between low bridge fees for your users vs high BAL APYs to attract external LPs. Depending where Balancer treasury wants to be along that curve, we can set the LP fee model accordingly.
Fees:
Across has 3 fees in its system:
- LP Fee: Fee paid to liquidity providers for proving passive liquidity that is utilized by the system to refund relayers. This fee is configurable via a rate model. Balancer treasury can specify what they would like it to be. Obviously, the higher the LP fee, the more the LPs make on each transaction, but the more expensive the transaction is to the user. We would suggest a 5% LP APY fee, which effectively results in the bridger paying 0.09% on each transfer. Our rate model does have an Aave style feature that at high utilizations of the LP, the 5% number will increase (in order to preserve some liquidity in the system), but this amount and slope of increase is configurable.
- Relayer Fee: Fee paid to incentivize relayers to relay your bridge transaction quickly. This is currently 0.03% and gets paid to the relayer that fills the transfer.
- Destination Gas Fee: Fee paid by bridger to cover the gas cost on their destination chain. Obviously going to a L2, this number will typically be quite small. Going to Ethereum, itâs subject to gas prices and can vary.
The ~0.12% total Across fee mentioned earlier is (1) + (2) = 0.09% + 0.03% = 0.12%. This number will be higher when going to Ethereum as fixed gas costs scale up quickly as a percentage of the transfer amount when the transfer amount is sufficiently small.