[BIP-665] Enable COPM:WETH and COPM:USDC “FXPool” Gauges on Polygon

PR with Payload

Summary:
This proposal aims to enable 2% capped gauges for the COPM:USDC Xave FXPool , and the COPM:WETH 50:50 Weighted Pool

References/Useful links:

• Website: https://minteo.com/
• Documentation: https://transparency.minteo.com/
• Xave website: https://www.xave.co/
• Xave documentation: https://docs.xave.co/

Protocol Description:

Minteo creates blockchain based infrastructure to stimulate trade and enable new business models in Latin America. Our team has more than a decade of experience building financial infrastructure, and developing technology products in LATAM.

Motivation:

We want to enable more use cases such as more defi integrations, and cross border remittances which are in high demand in the region, and suffer from high fees due to inefficient traditional markets. Thanks to the use of the FXPool offered by Xave finance, which builds on top of balancer, users are able to perform swaps at FX market rates. The use of BAL rewards can provide incentive mechanisms to bootstap liquidity in this pool and allow for more liquidity to be moved onchain. A standard 50/50 COPM:WETH weighted pool is also included in this proposal to help generate volume between both pools, and to provide arbitreurs with arbitrage oportunities and rebalance the FX pool if it falls out of the FX rate princing beta region.

Specifications:

  1. Governance:
    The token contract is an upgradeable proxy with and has roles that allows minting, burning, freezing, burning frozen assets, and upgrading the contract, controlled by the teams multisig at 0x84Ec9Fabaa0FC41706D57dC775B485e194Ee4488 . These functions are necessary for our tokenization and redemption processes of RWAs, and for regulatory compliance.

    Token contract: https://polygonscan.com/token/0x12050c705152931cFEe3DD56c52Fb09Dea816C23

  2. Oracles:
    Xave FXPools depend on an oracle to provide FX accurate swaps.
    We sponsor a COP-USD fx price rate feed with Chainlink, which is used by the COPM:USDC pool in Xave to provide swaps at fx rates (within a region of the pool distribution).

    Chainlink feed: https://data.chain.link/feeds/polygon/mainnet/cop-usd#operator-vulcan_link

  3. Audits:
    3.1 Token contracts:
    The COPM contract was audited by Hacken and Cyberscope.

    3.2 Reserves
    We have partnered with BDO to perform monthly audits of our fiat reserves.

    Both the contract and reserve audits can be consulted here: https://transparency.minteo.com/transparency

  4. Centralization vectors:
    The token contracts have the centralization vectors outlined in the governance section.

    FXPool contracts by Xave also has admin functionality that allows things like pausing the pools or adjusting the pool parameters, this is controlled by a 3/6 safe multisig at 0xC76Ec28801ad09020fB89da48306176e56960CC5, controlled by Xave team, these will be the case until Xave contracts are “battle tested” and community is ready to take over.

  5. Market History:
    The COPM:USDC and COPM:WETH pools have been active since 28 of May of 2024. Thanks to the FXPool pricing model, the USDC paired has offered swaps close to the FX rate, and when the FXPools become unbalances, the pool design offers negative swap fees to incentivize rebalancing. The WETH pool has also reflected the COP:ETH market rate, thanks to arbitreurs between the two pools.

  6. Value:
    The FXPool is the primary source of onchain liquidity for COPM. We expect to bring organic volume of users in the LATAM region towards this pool. We are the primary provider of liquidity in this pool, but with the use of incentives we aim to attract other players to provide liquidity.

    Incentivizing this pool, can also help the growth of Xave protocol which has built a useful and innovative FX pool design. Given that Xave pools are built on top of the balancer protocol, it should ultimately benefit the Balancer DAO.

Pool and Gauge Contracts:

Technical Specification

The Balancer Maxi LM Multisig 0xc38c5f97B34E175FFd35407fc91a937300E33860 will interact with the GaugeAdderv4 at 0x5DbAd78818D4c8958EfF2d5b95b28385A22113Cd and call the addGauge function with the following arguments: gauge(address):0x9fbfcb0547Dc7D57258b8Cf57A57624c6C3a61A1
gaugeType(string): Polygon
gauge(address):0xC8BA8e58Df99e974960789494a615c876F8190c9
gaugeType(string): Polygon

https://snapshot.org/#/balancer.eth/proposal/0xc83ca2e347ee9c5e0f4002b4a40a0c34011083e635c2b6c2bf66538b10cc8969