Skip to content

Commit 02ec7cb

Browse files
committed
Describe the risk manager role
1 parent 39b6ee0 commit 02ec7cb

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

docs/risk-manager.adoc

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
= The risk manager
2+
3+
The risk manager holds a privileged role over the coverage pool. It maintains
4+
the ability to claim coverage from the pool, liquidating enough collateral from
5+
the pool to cover an outstanding obligation.
6+
7+
Because of the nature of the role, the risk manager is a critical component of
8+
the coverage pool. Depending on the implementation, a risk manager can determine
9+
whether to put assets at capped or uncapped risk; how quickly auctions should
10+
put collateral up on offer; whether to end an auction early; and whether to
11+
remunerate existing underwriters in the case of "extra" assets on hand from an
12+
auction.
13+
14+
== An example pool
15+
16+
The tBTC v1 coverage pool has one purpose — to backstop the TBTC peg and
17+
simplify the lives of signers by guaranteeing to take any outstanding TBTC
18+
liquidation, trading TBTC for ETH.
19+
20+
Because we have no guaranteed bounds on the ETHBTC price, the risk to the pool
21+
is technically uncapped; if the price of BTC suddenly 10x's relative to ETH, the
22+
pool is still on the hook for a fixed amount of BTC. On the other hand, once the
23+
pool takes a TBTC https://docs.keep.network/tbtc/#liquidation[liquidation
24+
auction], the resulting ETH proceeds should be distributed back to the pool.
25+
26+
== Auctions
27+
28+
When the risk manager claims coverage, it specifies an amount denominated in
29+
the asset the pool covers. An auction is opened across across all assets in the
30+
pool, increasing the portion of the pool on offer over time. Eventually, the
31+
entire collateral pool is on offer.
32+
33+
For an auction to be filled, a participant pays the asking price, and in return
34+
receives a portion of each asset in the pool.
35+
36+
Consider a collateral pool containing 10 WBTC and 100 WETH, and claim of 1 TBTC.
37+
38+
.A collateral pool under auction
39+
[frame="topbot",options="header"]
40+
|============================================
41+
|Time | Offer | WBTC on offer | WETH on offer
42+
|1 |1% |0.1 |1
43+
|2 |2% |0.2 |2
44+
|3 |3% |0.3 |3
45+
|4 |4% |0.4 |4
46+
|5 |5% |0.5 |5
47+
|6 |6% |0.6 |6
48+
|7 |7% |0.7 |7
49+
|8 |8% |0.8 |8
50+
|9 |8% |0.9 |9
51+
|10 |10% |1 |10
52+
|============================================
53+
54+
For simplicity, assume WBTC and TBTC trade at parity. Regardless of the ETH/WBTC
55+
exchange rate, there is a point between `t=1` and `t=10` where it makes sense to
56+
buy all assets on offer.
57+
58+
An efficient on-chain implementation can allow partial and atomic fills, opening
59+
up arbitrage opportunities with lower total liquidity requirements.
60+
61+
In addition to claiming coverage and opening an auction, the risk manager
62+
determines the parameters that govern the auction, including the velocity of the
63+
falling price based on market conditions, and whether to withdraw a claim and
64+
end an auction early.
65+
66+
== Returning funds
67+
68+
If there are funds to return to the pool after a coverage claim, a risk manager
69+
implementation can do one of two things
70+
71+
1. Deposit the funds in the rewards pool, effectively distributing them across
72+
underwriters based on the relative reward rate, regardless of the asset.
73+
2. Deposit the funds directly in the collateral pool, requiring funds to be
74+
traded to match the existing collateral distribution, or intentionally
75+
distributing funds in a way that favors a particular underwritten asset.

0 commit comments

Comments
 (0)