Maker Share

We compute the number of bUSD issued for the jth Maker, at time t, from the following inputs:

  • their deposit size: d_j

  • their selected Term and Tier, developing a corresponding: rate_(j, p) (note, the output from the Maker Risk function should not be the per-unit-time value; ratej, p = Termj* riskRate(Termj , Tierj)

  • bUSD_(TOTAL, t)

  • D_t

  • MakerCapital_t and,

  • Risk Weighted Capital: RWC_t

We firstly define the average price for bUSD to be:

This reflects the fair value of bUSD at the time a Maker closes their position. Note that Maker Capital is defined as positive or zero; Maker Capital state should never resolve to be negative, as this would represent total liquidation of all existing Makers.

The price a Maker pays when they join the protocol however may deviate if he chooses a higher or lower risk rating in comparison to the average decision of all current Makers:

MWARt is the analogue on the Maker side for the Taker-side asset-weighted average risk, noting the Maker version includes a history of the state of the Market Yield.

RWC_t is a risk-weighted sum of deposits, adjusted for all historical states of the Market Yield, Y_t. Risk Weighted Capital (RWC) may otherwise be understood by considering that all Maker deposits (Debt) are risk-weighted at deposit time, (in essence, a risk-weighted debt), that is further modulated by the current state of the Market Yield, Y. Therefore, it might also be referred to as Risk Weighted Maker Capital ("RWMC"). By convention, we simply refer to this as “Risk-Weighted Capital”:

The term Debt/MakerCapital in the formulation of RWC may be understood as a “Yield Rate”, which serves to account for the relative risk between Makers joining at different times for different values of Market Yield by changing the amount of bUSD that are issued to them. The Yield Rate is used both in the issuance formula for bUSD_j , as well as in the formulation of RWC , at all points that a Maker joins the protocol:

Then, from:

The number of bUSD issued at position creation time is equal to the size of the deposit, adjusted by the chosen Risk Rating, the number of bUSD on issue, Risk Weighted Capital, and the current Yield Rate. Thus bUSD_j is a yield-weighted, risk-weighted share of Maker Capital:


We define bUSD issuance in terms of: (D_t + Y_t) - i.e. in terms of Debt plus Market Yield - rather than in terms of Maker Capital, as it is easier to reason about a given Maker’s entry or exit position in terms of the unadjusted deposit in USD they supply to the protocol. Specifically, Makers are compensated with a lower token price (and thus are issued more bUSD) if the current yield is negative, or accept a higher token price if the Yield is positive.

We use the positive (p) value from the Maker Risk Function as we assume that Makers are not planning on leaving the protocol with a realised loss, i.e.

When creating a position, a corresponding risk rate rate_(j, n) is also retrieved from protocol config and used to calculate a corresponding number of bUSD_n for the jth Maker to be used when a Maker wishes to instantiate a realised loss from an impermanent loss at withdraw-time:

Where rate_(j,n) is the negative yield multiplier retrieved from protocol config, and:

Last updated