MIP10c3-SP12 Proposal: BALUSD Oracle (Collateral Onboarding Oracle Assessment)

Preamble

MIP10c3-SP#: 12
Author(s): Niklas Kunkel (@NiklasKunkel)
Contributors:
Type: Process Component
Oracle Team Name: Green
Status: RFC
Date Proposed: 2020-10-07
Date Ratified: <yyyy-mm-dd>

Specification

Introduction

This Oracle would provide the BAL/USD price as part of the collateral onboarding process for BAL.

Oracle Data Model

|    Source    |  Asset Pair   |Quorum | Feed Model  | Oracle Model |
| :----------- | :----------- | :----: | :---------: | :----------: |
|    Balancer  |    BAL/ETH   |   13   |   Median    |   Median     |
|    Binance   |    BAL/BTC   |        |             |              |
|    Coinbase  |    BAL/USD   |        |             |              |
|      OKEx    |    BAL/USDT  |        |             |              |
|     Huobi    |    BAL/USDT  |        |             |              |
|    Uniswap   |    BAL/ETH   |        |             |              |

Oracle Supporting Data Model(s)

ETH/USD (canonical)

|    Source     |  Asset Pair   |  Feed Model  |
| :------------ | :------------ | :----------: | 
|   Binance     |    ETH/USD    |    Median    |
|   Bitfinex    |    ETH/USDT   |              |
|   Bitstamp    |    ETH/USD    |              |
|   Coinbase    |    ETH/USD    |              |
|   Gemini      |    ETH/USD    |              |
|   Kraken      |    ETH/USD    |              |

USDT/USD (canonical)

|    Source     |  Asset Pair   |  Feed Model  |
| :------------ | :------------ | :----------: | 
|   Binance     |    BTC/USDT   |    Median    |
|   BitFinex    |    USDT/USD   |              |
|   FTX         |    ETH/USDT   |              |
|   Huobi       |    ETH/USDT   |              |
|   Kraken      |    USDT/USD   |              |
|   OKEx        |    BTC/USDT   |              |

BTC/USD (canonical)

|    Source     |  Asset Pair   |  Feed Model  |
| :------------ | :------------ | :----------: | 
|   Bitstamp    |    BTC/USD    |    Median    |
|   Bittrex     |    BTC/USD    |              |
|   Coinbase    |    BTC/USD    |              |
|   Gemini      |    BTC/USD    |              |
|   Kraken      |    BTC/USD    |              |

Oracle Address

  • Medianizer - Mainnet TBD
  • Oracle Security Module (OSM) - Mainnet TBD

Supported Tools

Remaining Work

  • Deploy and configure Medianizer and Oracle Security Module smart contracts to Mainnet
  • Coordinate Feeds to upgrade to latest release candidate
  • Push new relayer configuration with BAL/USD mainnet Medianizer smart contract address

Summary

The Balancer BAL token is listed on a diverse array of exchange against a multitude of quotes including its own AMM exchange, Balancer. While there were several reputable exchanges such as Gemini and FTX with highly desirable USD quotes, the volume was considerably lacking to be included. Nonetheless no quote is used more than twice, and with a total of six sources this removes the risk of a single token’s implosion or inaccurate price to affect the median calculation for BAL.

With the formula for the magnitude of BAL liquidity reward taking into the inclusion of BAL as a component of a Balancer Pool, integrating BAL as a collateral type in the Maker Protocol is the first step towards the inclusion of Balancer Pool Tokens with yield generating potential.

2 Likes

@NikKunkel Do you foresee any major issues when onboarding Balancer Pool Tokens into the portfolio from an oracle point of view? I am thinking as pricing for those will likely be sourced from a single source i.e. Balancer protocol, right? Quite different from BAL which has also trading (pricing discovery) on other exchanges.

I’m currently working on a Uniswap V2 LP contract that I hope to be able to share with the community very soon. I think the same design can be applied to Balancer Pool Tokens with minor modifications to account for the weighting of the pools. I’ll have to talk to Fernando if there’s any special Balancer specific characteristics that would prove problematic.

2 Likes