# Risk Management

## Price Oracles

Dolomite leverages Chainlink price oracles wherever possible in its collateral calculations for ordinary assets.  Dolomite's usage and collaboration with Chainlink through the BUILD program is documented in the following [press release](https://medium.com/dolomite-official/dolomite-joins-chainlink-build-to-supercharge-the-adoption-of-our-margin-protocol-b4d69810bb44) about joining the program.&#x20;

Some unique assets, like `GLP`, require some extra calculations and precaution when marking the value of it as collateral. After accounting for any additional business logic required for a unique asset, common collateral calculations then done through Chainlink, as usual.

### Arbitrum One

<table><thead><tr><th width="122.33333333333331">Market ID</th><th width="176">Asset</th><th>Oracle Type</th></tr></thead><tbody><tr><td>0</td><td>WETH</td><td>Chainlink (Market Price)</td></tr><tr><td>1</td><td>DAI</td><td>Chainlink (Market Price)</td></tr><tr><td>2</td><td>USDC.e</td><td>Chainlink (Market Price)</td></tr><tr><td>3</td><td>LINK</td><td>Chainlink (Market Price)</td></tr><tr><td>4</td><td>WBTC</td><td>Chainlink (Market Price)</td></tr><tr><td>5</td><td>USDT</td><td>Chainlink (Market Price)</td></tr><tr><td>6</td><td>GLP</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>7</td><td>ARB</td><td>Chainlink (Market Price)</td></tr><tr><td>8</td><td>magicGLP</td><td>mGLP -> GLP - Chainlink (Automation)<br>GLP -> USD - Algorithmic + Chainlink (Market Price)</td></tr><tr><td>9</td><td>plvGLP</td><td>Algorithmic + Chainlink (Automation)</td></tr><tr><td><del>10</del></td><td><del>jUSDC</del></td><td><del>jUSDC -> USDC - Chainlink (Automation)</del><br><del>USDC -> USD - Chainlink (Market Price)</del></td></tr><tr><td><del>11</del></td><td><del>PT-GLP (Mar 2024)</del></td><td><del>PT-GLP -> GLP - Pendle TWAP</del><br><del>GLP -> USD - Algorithmic + Chainlink (Market Price)</del></td></tr><tr><td>12</td><td>UNI</td><td>Chainlink (Market Price)</td></tr><tr><td>13</td><td>MIM</td><td>Chainlink (Market Price)</td></tr><tr><td>14</td><td>wstETH</td><td><p>wstETH -> stETH - Chainlink (Exchange Rate)</p><p>stETH -> ETH - Chainlink (Market Price)</p><p>ETH -> USD - Chainlink (Market Price)</p></td></tr><tr><td>15</td><td>rETH</td><td>rETH -> ETH - Chainlink (Exchange Rate)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td><del>16</del></td><td><del>YT-GLP (Mar 2024)</del></td><td><del>YT-GLP -> GLP - Invert Pendle TWAP</del><br><del>GLP -> USD - Algorithmic + Chainlink (Market Price)</del></td></tr><tr><td>17</td><td>USDC</td><td>Chainlink (Market Price)</td></tr><tr><td>18</td><td>GRAIL</td><td>GRAIL -> ETH/USDC - Camelot TWAP<br>ETH/USDC -> USD - Chainlink (Market Price)</td></tr><tr><td>19</td><td>MAGIC</td><td>Chainlink (Market Price)</td></tr><tr><td><del>20</del></td><td><del>DPX</del></td><td><del>Camelot TWAP</del></td></tr><tr><td>21</td><td>PENDLE</td><td>Chainlink (Market Price)</td></tr><tr><td>22</td><td>PT-rETH (Jun 2025)</td><td>PT-rETH -> rETH Pendle TWAP<br>rETH -> ETH Chainlink (Exchange Rate)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>23</td><td>PT-stETH (Jun 2024)</td><td>PT-stETH -> stETH Pendle TWAP<br>stETH -> ETH Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>24</td><td>PT-stETH (Jun 2025)</td><td>PT-stETH -> stETH Pendle TWAP<br>stETH -> ETH Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>25</td><td>JONES</td><td>JONES -> ETH/USDC - Camelot TWAP<br>ETH/USDC -> USD - Chainlink (Market Price)</td></tr><tr><td>26</td><td>PREMIA</td><td>PREMIA -> ETH/USDC - Camelot TWAP<br>ETH/USDC -> USD - Chainlink (Market Price)</td></tr><tr><td>27</td><td>RDNT</td><td>Chainlink (Market Price)</td></tr><tr><td>28</td><td>vARB</td><td>Chainlink (Market Price)</td></tr><tr><td>29</td><td>GMX</td><td>Chainlink (Market Price)</td></tr><tr><td>30</td><td>Staked-GMX</td><td>Chainlink (Market Price)</td></tr><tr><td>31</td><td>GM: ARB-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>32</td><td>GM: BTC-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>33</td><td>GM: ETH-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>34</td><td>GM: LINK-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>35</td><td>weETH</td><td>weETH -> ETH - Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>36</td><td>PT-eETH (Apr 2024)</td><td>PT-eETH -> eETH - Pendle TWAP<br>eETH -> weETH - Chainlink (Exchange Rate)<br>weETH -> ETH - Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>37</td><td>ezETH</td><td>ezETH -> ETH - Chainlink (Exchange Rate)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>38</td><td>PT-ezETH (Jun 2024)</td><td>PT-ezETH -> ezETH - Pendle TWAP<br>ezETH -> ETH - Chainlink (Exchange Rate)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>39</td><td>XAI</td><td>Chainlink (Market Price)</td></tr><tr><td>40</td><td>sGLP</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>41</td><td>PT-GLP (Sep 2024)</td><td>PT-GLP -> GLP - Pendle TWAP<br>GLP -> USD - Algorithmic + Chainlink (Market Price)</td></tr><tr><td>42</td><td>PT-eETH (Jun 2024)</td><td>PT-eETH -> eETH - Pendle TWAP<br>eETH -> weETH - Chainlink (Exchange Rate)<br>weETH -> ETH - Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>43</td><td>jUSDC V2</td><td>jUSDC V2 -> USDC - Chainlink (Automation)<br>USDC -> USD -> Chainlink (Market Price)</td></tr><tr><td>44</td><td>GM: BTC</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>45</td><td>GM: ETH</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>46</td><td>GRAI</td><td>Ramses TWAP</td></tr><tr><td>47</td><td>GM: UNI-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>48</td><td>wUSDM</td><td>Chronicle (Market Price)</td></tr><tr><td>49</td><td>rsETH</td><td>rsETH -> ETH - Chainlink (Exchange Rate)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>50</td><td>PT-eETH (Sep 2024)</td><td>PT-eETH -> eETH - Pendle TWAP<br>eETH -> weETH - Chainlink (Exchange Rate)<br>weETH -> ETH - Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>51</td><td>PT-ezETH (Sep 2024)</td><td>PT-ezETH -> ezETH - Pendle TWAP<br>ezETH -> ETH - Chainlink (Exchange Rate)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>52</td><td>PT-rsETH (Sep 2024)</td><td>PT-rsETH -> rsETH - Pendle TWAP<br>rsETH -> ETH - Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td><del>53</del></td><td><del>wOETH</del></td><td><del>wOETH -> ETH - Chainlink (Market Price)</del><br><del>ETH -> USD - Chainlink (Market Price)</del></td></tr><tr><td>54</td><td>USDe</td><td>USDe -> USD - Chainlink (Market Price)</td></tr><tr><td>55</td><td>GM: AAVE-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>56</td><td>GM: DOGE-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>57</td><td>GM: GMX-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>58</td><td>GM: SOL-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>59</td><td>GM: wstETH-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>60</td><td>PT-eETH</td><td>PT-eETH -> eETH - Pendle TWAP<br>eETH -> weETH - Chainlink (Exchange Rate)<br>weETH -> ETH - Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>61</td><td>PT-rsETH</td><td>PT-rsETH -> ETH - Pendle TWAP (No rsETH market price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>62</td><td>uniBTC</td><td>uniBTC -> BTC - Chainlink (Exchange Rate)<br>BTC -> USD - Chainlink (Market Price)</td></tr><tr><td>63</td><td>GM: GMX</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>64</td><td>GM: PENDLE-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>65</td><td>GM: PEPE-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>66</td><td>GM: WIF-USD</td><td>Algorithmic + Chainlink (Market Price)</td></tr><tr><td>67</td><td>GLV-BTC</td><td>Chainlink (Market Price)</td></tr><tr><td>68</td><td>GLV-ETH</td><td>Chainlink (Market Price)</td></tr><tr><td>69</td><td>tBTC</td><td>Chainlink (Market Price)</td></tr><tr><td>70</td><td>eUSD</td><td>Redstone (Market Price)</td></tr><tr><td>71</td><td>ETH+</td><td>Redstone (Market Price)</td></tr><tr><td>72</td><td>AAVE</td><td>Chainlink (Market Price)</td></tr><tr><td>73</td><td>USDS</td><td>Chainlink (Market Price)</td></tr><tr><td>74</td><td>sUSDS</td><td>sUSDS -> USDS - Chainlink (Exchange Rate)<br>USDS -> USD - Chainlink (Market Price)</td></tr><tr><td>75</td><td>savUSD</td><td>USDC -> USD - Chainlink (Market Price)</td></tr></tbody></table>

### Berachain

<table><thead><tr><th width="128">Market ID</th><th width="154">Asset</th><th>Oracle Type</th></tr></thead><tbody><tr><td>0</td><td>WETH</td><td>Redstone (Market Price)</td></tr><tr><td>1</td><td>WBERA</td><td>Chronicle (Market Price)</td></tr><tr><td>2</td><td>USDC</td><td>Chronicle (Market Price)</td></tr><tr><td>3</td><td>HONEY</td><td>Chronicle (Market Price)</td></tr><tr><td>4</td><td>WBTC</td><td>Chronicle (Market Price)</td></tr><tr><td>5</td><td>USDT</td><td>Chronicle (Market Price)</td></tr><tr><td>6</td><td>LBTC</td><td>LBTC -> BTC - Redstone (Market Price)<br>BTC -> USD - Redstone (Market Price)</td></tr><tr><td>7</td><td>rswETH</td><td>rswETH -> ETH - Redstone (Market Price)<br>ETH -> USD - Redstone (Market Price)</td></tr><tr><td>8</td><td>rUSD</td><td>Chronicle (Exchange Rate)</td></tr><tr><td>9</td><td>SBTC</td><td>Chronicle (Market Price)</td></tr><tr><td>10</td><td>sUSDe</td><td>sUSDe -> USDe - Redstone (Exchange Rate)<br>USDe -> USD - Redstone (Market Price)</td></tr><tr><td>11</td><td>stBTC</td><td>stBTC -> BTC - Redstone (Exchange Rate)<br>BTC -> USD - Redstone (Market Price)</td></tr><tr><td>12</td><td>STONE</td><td>Chronicle (Market Price)</td></tr><tr><td>13</td><td>uniBTC</td><td>uniBTC -> WBTC - Chronicle (Market Price)<br>WBTC -> USD - Chronicle (Market Price)</td></tr><tr><td>14</td><td>USDe</td><td>Redstone (Market Price)</td></tr><tr><td><del>15</del></td><td><del>ylBTCLST</del></td><td><del>ylBTCLST -> FBTC - Chronicle (Market Price)</del><br><del>FBTC -> USD - Chronicle (Market Price)</del></td></tr><tr><td><del>16</del></td><td><del>ylpumpBTC</del></td><td><del>ylpumpBTC -> pumpBTC - Chronicle (Market Price)</del><br><del>pumpBTC -> USD - Chronicle (Market Price)</del></td></tr><tr><td><del>17</del></td><td><del>ylstETH</del></td><td><del>ylstETH -> ETH - Chronicle (Market Price)</del><br><del>ETH -> USD - Chronicle (Market Price)</del></td></tr><tr><td>18</td><td>beraETH</td><td>beraETH -> ETH - Redstone (Exchange Rate)<br>ETH -> USD - Redstone (Market Price)</td></tr><tr><td>19</td><td>NECT</td><td>Chronicle (Market Price)</td></tr><tr><td>20</td><td>pumpBTC.bera</td><td>Chronicle (Market Price)</td></tr><tr><td>21</td><td>rsETH</td><td>rsETH -> ETH - Chronicle (Market Price)<br>ETH -> USD - Chronicle (Market Price)</td></tr><tr><td>22</td><td>sUSDa</td><td>Chronicle (Market Price)</td></tr><tr><td>23</td><td>SolvBTC</td><td>SolvBTC -> BTC - Redstone (Market Price)<br>BTC -> USD - Redstone (Market Price)</td></tr><tr><td>24</td><td>xSolvBTC</td><td>xSolvBTC -> BTC - Redstone (Market Price)<br>BTC -> USD - Redstone (Market Price)</td></tr><tr><td>25</td><td>USDa</td><td>Chronicle (Market Price)</td></tr><tr><td>26</td><td>USD0</td><td>N/A</td></tr><tr><td>27</td><td>USD0++</td><td>N/A</td></tr><tr><td>28</td><td>eBTC</td><td>eBTC -> WBTC - Redstone (Market Price)<br>WBTC -> USD - Redstone (Market Price)</td></tr><tr><td>29</td><td>weETH</td><td>weETH -> ETH - Redstone (Market Price)<br>ETH -> USD - Redstone (Market Price)</td></tr><tr><td>30</td><td>OHM</td><td>Chronicle (Market Price)</td></tr><tr><td>31</td><td>srUSD</td><td>srUSD -> rUSD - Chronicle (Exchange Rate)<br>rUSD -> USD - Chronicle (Exchange Rate)</td></tr><tr><td>32</td><td>HENLO</td><td>HENLO -> BERA - Kodiak (TWAP)<br>BERA -> USD - Chronicle (Market Price)</td></tr><tr><td>33</td><td>iBERA</td><td>iBERA -> BERA - Kodiak (TWAP with floor price of 0.95 iBERA/BERA)<br>BERA -> USD - Chronicle (Market Price)</td></tr><tr><td>34</td><td>iBGT</td><td>iBGT -> BERA - Kodiak (TWAP with floor price of 0.94 iBGT/BERA)<br>BERA -> USD - Chronicle (Market Price)</td></tr><tr><td>35</td><td>DOLO</td><td>DOLO -> BERA - Kodiak TWAP (Market Price)<br>BERA -> USD - Chronicle (Market Price)</td></tr><tr><td>36</td><td>deUSD</td><td>Redstone (Exchange Rate)</td></tr><tr><td>37</td><td>sdeUSD</td><td>Redstone (Exchange Rate)</td></tr><tr><td>38</td><td>siBGT</td><td>siBGT -> BERA - Kodiak (TWAP with floor price of 0.94 iBGT/BERA)<br>BERA -> USD - Chronicle (Market Price)</td></tr><tr><td>39</td><td>pol-rUSD</td><td>drUSD -> rUSD - Dolomite (Interest Index)<br>rUSD -> USD - Chronicle (Exchange Rate)</td></tr><tr><td>40</td><td>BYUSD</td><td>Redstone (Market Price)</td></tr><tr><td>41</td><td>oriBGT</td><td>oriBGT -> iBGT - ERC4626 (Exchange Rate)<br>iBGT -> BERA - Kodiak (TWAP with floor price of 0.94 iBGT/BERA)<br>BERA → USD - Chronicle (Market Price)</td></tr><tr><td>42</td><td>sWBERA</td><td>iBGT -> BERA - ERC4626 (Exchange Rate)<br>BERA → USD - Chronicle (Market Price)</td></tr><tr><td>43</td><td>PT-iBGT (Dec 2025)</td><td>PT-iBGT -> iBGT - Pendle (TWAP)<br>iBGT -> BERA - Kodiak TWAP (TWAP with floor price of 0.94 iBGT/BERA)<br>BERA -> USD - Chronicle (Market Price)</td></tr><tr><td>44</td><td>wgBERA</td><td>Chronicle (Market Price)</td></tr><tr><td>45</td><td>IR</td><td>Redstone (Market Price)</td></tr><tr><td>46</td><td>KDK</td><td>KDK -> USDT - Kodiak (TWAP)<br>USDT -> USD - Chronicle (Market Price)</td></tr><tr><td>47</td><td>savUSD</td><td>USDC -> USD - Chronicle (Market Price)</td></tr></tbody></table>

### Botanix

<table><thead><tr><th width="128.333251953125">Market ID</th><th width="154">Asset</th><th>Oracle Type</th></tr></thead><tbody><tr><td>0</td><td>WETH</td><td>Chainlink (Market Price)</td></tr><tr><td>1</td><td>pBTC</td><td>Chainlink (Market Price)</td></tr><tr><td>2</td><td>USDC</td><td>Chainlink (Market Price)</td></tr><tr><td>3</td><td>stBTC</td><td>stBTC -> BTC - Chainlink (Exchange Rate)<br>BTC -> USD - Chainlink (Market Price)</td></tr><tr><td>4</td><td>USDT</td><td>Chainlink (Market Price)</td></tr></tbody></table>

### Ethereum Mainnet

<table><thead><tr><th width="128">Market ID</th><th width="154">Asset</th><th>Oracle Type</th></tr></thead><tbody><tr><td>0</td><td>WETH</td><td>Chainlink (Market Price)</td></tr><tr><td>1</td><td>USD1</td><td>Chainlink (Market Price)</td></tr><tr><td>2</td><td>USDC</td><td>Chainlink (Market Price)</td></tr><tr><td>3</td><td>LINK</td><td>Chainlink (Market Price)</td></tr><tr><td>4</td><td>WBTC</td><td>WBTC -> BTC - Chainlink (Exchange Rate)<br>BTC -> USD - Chainlink (Market Price)</td></tr><tr><td>5</td><td>USDT</td><td>Chainlink (Market Price)</td></tr><tr><td>6</td><td>weETH</td><td>weETH -> ETH - Chainlink (Exchange Rate)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>7</td><td>CRV</td><td>Chainlink (Market Price)</td></tr><tr><td>8</td><td>AAVE</td><td>Chainlink (Market Price)</td></tr><tr><td>9</td><td>sUSDe</td><td>Chainlink (Market Price)</td></tr><tr><td>10</td><td>srUSD</td><td>Chronicle (Market Price)</td></tr><tr><td>11</td><td>rUSD</td><td>Chronicle (Market Price)</td></tr><tr><td>12</td><td>mETH</td><td>mETH -> ETH - Chainlink (Market Price)<br>ETH -> USD - Chainlink (Market Price)</td></tr><tr><td>13</td><td>WLFI</td><td>Chainlink (Market Price)</td></tr><tr><td>14</td><td>cUSD</td><td>Redstone (Exchange Rate)</td></tr><tr><td>15</td><td>stcUSD</td><td>stcUSD -> cUSD - ERC4626 (Exchange Rate)<br>cUSD -> USD - Redstone (Exchange Rate)</td></tr><tr><td>16</td><td>DOLO</td><td>DOLO -> USDC - Uniswap V3 TWAP<br>USDC -> USD - Chainlink (Market Price)</td></tr><tr><td>17</td><td>SolvBTC</td><td>SolvBTC-> BTC - Chainlink (Market Price)<br>BTC -> USD - Chainlink (Market Price)</td></tr><tr><td>18</td><td>cbBTC</td><td>Chainlink (Market Price)</td></tr><tr><td>19</td><td>wsrUSD</td><td>Chronicle (Market Price)</td></tr></tbody></table>

### Mantle

<table><thead><tr><th width="128">Market ID</th><th width="154">Asset</th><th>Oracle Type</th></tr></thead><tbody><tr><td>0</td><td>WETH</td><td>Chronicle (Market Price)</td></tr><tr><td>1</td><td>WMNT</td><td>Chronicle (Market Price)</td></tr><tr><td>2</td><td>USDC</td><td>Chronicle (Market Price)</td></tr><tr><td>3</td><td>WBTC</td><td>Chronicle (Market Price)</td></tr><tr><td>4</td><td>USDT</td><td>Chronicle (Market Price)</td></tr><tr><td>5</td><td>mETH</td><td>Chronicle (Market Price)</td></tr><tr><td>6</td><td>USDe</td><td>Chronicle (Market Price)</td></tr><tr><td>7</td><td>PT-USDe</td><td>PT-USDe -> USDe - Pendle TWAP <br>USDe -> USD - Chronical (Market Price)</td></tr><tr><td>8</td><td>USDY</td><td>Chronicle (Market Price)</td></tr><tr><td>9</td><td>sMNT</td><td>Chronicle (Market Price)</td></tr><tr><td>10</td><td>PT-USDe</td><td>PT-USDe -> USDe - Pendle TWAP <br>USDe -> USD - Chronical (Market Price)</td></tr><tr><td>11</td><td>PT-mETH</td><td>PT-mETH -> ETH - Pendle TWAP<br>ETH -> USD - Chronicle (Market Price)</td></tr><tr><td>12</td><td>PT-MNT</td><td>PT-MNT -> MNT - Pendle TWAP<br>MNT -> USD - Chronicle (Market Price)</td></tr><tr><td>13</td><td>FBTC</td><td>FBTC -> WBTC - Chronicle (Market Price)<br>WBTC -> USD - Chronicle (Market Price)</td></tr><tr><td>14</td><td>cmETH</td><td>Chronicle (Market Price)</td></tr><tr><td>15</td><td>PT-cmETH</td><td>PT-cmETH -> ETH - Pendle TWAP<br>ETH -> USD - Chronicle (Market Price)</td></tr></tbody></table>

### Polygon zkEVM

<table><thead><tr><th width="128">Market ID</th><th width="154">Asset</th><th>Oracle Type</th></tr></thead><tbody><tr><td>0</td><td>WETH</td><td>Chainlink (Market Price)</td></tr><tr><td>1</td><td>DAI</td><td>Chainlink (Market Price)</td></tr><tr><td><del>2</del></td><td><a data-footnote-ref href="#user-content-fn-1"><del>USDC</del></a></td><td><del>Chainlink (Market Price)</del></td></tr><tr><td>3</td><td>LINK</td><td>Chainlink (Market Price)</td></tr><tr><td>4</td><td>WBTC</td><td>Chainlink (Market Price)</td></tr><tr><td>5</td><td>USDT</td><td>Chainlink (Market Price)</td></tr><tr><td>6</td><td>MATIC</td><td>Chainlink (Market Price)</td></tr><tr><td>7</td><td>USDC.E</td><td>Chainlink (Market Price)</td></tr></tbody></table>

### X Layer

<table><thead><tr><th width="128">Market ID</th><th width="154">Asset</th><th>Oracle Type</th></tr></thead><tbody><tr><td>0</td><td>WETH</td><td>Chainlink (Market Price)</td></tr><tr><td>1</td><td>WOKB</td><td>Chainlink (Market Price)</td></tr><tr><td>2</td><td>USDC</td><td>Chainlink (Market Price)</td></tr><tr><td>3</td><td>WBTC</td><td>Chainlink (Market Price)</td></tr><tr><td>4</td><td>USDT</td><td>Chainlink (Market Price)</td></tr></tbody></table>

## Supply Caps

Dolomite is able to institute supply caps for individual assets, which limits the protocol's exposure to debt taken against those assets as well as limits the ability to borrow those same assets. If a supply cap is instituted and the protocol is beyond the limitation, the protocol will be in a wind-down-only mode for that asset. Meaning, all transactions executed against `Dolomite Margin` for that asset needs to size down the market or, at the minimum, leave it unchanged.

{% hint style="info" %}
You can check these numbers by visiting the [Stats Page](https://app.dolomite.io/stats) on Dolomite or by visiting [DolomiteMargin](https://arbiscan.io/address/0x6bd780e7fdf01d77e4d475c821f1e7ae05409072#readContract) on Arbiscan, clicking `Read Contract`, selecting the `getMarketMaxWei` function and plugging in the corresponding `marketId` into the input field.
{% endhint %}

## Minimum Collateralizations (LTVs)

Typical to any money market protocol, Dolomite mandates a global minimum collateralization that all positions must have to be considered healthy. Any position that slips below this threshold is subject to liquidation (more on this [below](#liquidations)).

Some assets have additional collateralization requirements beyond the global minimum. The table below denotes the collateralization requirements for each asset on each network `Dolomite Margin` is deployed.

### Arbitrum One

Minimum collateralization: 115% (86.9565% LTV)

### Berachain

Minimum collateralization: 115% (86.9565% LTV)

### Ethereum

Minimum collateralization: 117.6470588235294117% (85% LTV)

### Botanix

Minimum collateralization: 115% (86.9565% LTV)

### Mantle

Minimum collateralization: 115% (86.9565% LTV)

### Polygon zkEVM

Minimum collateralization: 115% (86.9565% LTV)

### X Layer

Minimum collateralization: 115% (86.9565% LTV)

{% hint style="info" %}
You can check these numbers by visiting the [Stats Page](https://app.dolomite.io/stats) on Dolomite or by visiting [DolomiteMargin](https://arbiscan.io/address/0x6bd780e7fdf01d77e4d475c821f1e7ae05409072#readContract) on Arbiscan, clicking `Read Contract`, selecting the `getMarginRatio` function, adding `1e18` then dividing by `1e18.` Doing so gives you the global minimum collateralization (115%).&#x20;

Then, select the `getMarketMarginPremium` function and plug in the corresponding `marketId` into the input field. With the margin premium, add `1e18`, divide by `1e18`, then multiply the result by 115% (the global minimum collateralization).

For example, the `Margin Premium` for `GLP` is `43478260869565217`. By adding `1e18` and dividing by `1e18` the result is `1.043478260869565217`. When you multiply 115% by `1.043478260869565217`, you get about 120%.
{% endhint %}

## Collateral-Only Mode

Dolomite can put assets into collateral-only mode, to prevent any user from borrowing them. If a market moves from collateral-only mode being `disabled` to `enabled`, then the market will be in a wind-down mode with respect to any out standing borrows. Users that have any debt will not be able to increase the size of our loans and the protocol could enforce liquidations for those users to forcefully pay their debt back. Putting an asset into collateral-only mode could be due to a variety of reasons, like:

* The asset's price oracle is manipulatable to the upside (which increases the surface area for economic attack vectors)
* The asset's price oracle offers a quote that is lower-than-normal, like the price oracle for `GLP`
* Economically speaking, Dolomite or an integrating protocol doesn't want to encourage the borrowing of certain assets

The table below denotes the borrowing status of each asset on each network `Dolomite Margin` is deployed.

{% hint style="info" %}
You can check these numbers by visiting the [Stats Page](https://app.dolomite.io/stats) on Dolomite or by visiting [DolomiteMargin](https://arbiscan.io/address/0x6bd780e7fdf01d77e4d475c821f1e7ae05409072#readContract) on Arbiscan, clicking `Read Contract`, selecting the `getMarketIsClosing` function and plugging in the corresponding `marketId` into the input field.
{% endhint %}

## Account Risk Override

Dolomite's account risk override system enables for increased LTVs for correlated assets, limited LTVs for riskier assets, and modified asset compositions for riskier assets.

### Borrow-Only Mode

{% hint style="warning" %}
This feature is not available on Arbitrum
{% endhint %}

When an asset is designated as "Borrow Only," it can only be used as debt in a borrow position. Users may still deposit the asset to earn interest, but it cannot serve as collateral for borrowing.

Certain assets carry an elevated risk of significant price declines. Allowing such assets as collateral could expose Dolomite to bad debt if their value crashes. By restricting these assets to "Borrow Only," Dolomite can list them safely without risking insolvency due to price volatility.

### Single Collateral With Strict Debt

{% hint style="warning" %}
This feature is not available on Arbitrum as described below. On Arbitrum, it is available for Isolation Mode assets only
{% endhint %}

When an asset is set to "Single Collateral With Strict Debt," it becomes the exclusive collateral option in a borrow position, and only designated assets can be borrowed against it. No other collateral assets can be used in the position.

For example, if Dolomite designates `ETH` as "Single Collateral With Strict Debt" and restricts borrowing to `USDC`, a user depositing `ETH` can only borrow `USDC` in that position with a specific LTV. Attempts to borrow any other asset will be rejected. Attempts to add other collateral assets to the position will be rejected.

There can be several sub-groups for assets with the "Strict Debt" setting enabled. For example, `ETH` could restrict borrowing to either group of stables or  `BTC` against it. Borrowing `BTC` would be in a separate sub-group from stables and would have different LTV requirements. Attempts to borrow stables and `BTC` against `ETH`  in the same position would fail, because `BTC` and stables are in separate sub-groups for allowable debt.

### Automatic E-Mode

{% hint style="warning" %}
This feature is not available on Arbitrum
{% endhint %}

Assets with high correlation—such as stablecoins—can be grouped into risk categories. Dolomite assigns each category a tailored margin requirement, which is automatically applied to a user’s borrow position based on the assets involved. For instance:

* If a user supplies USDC as collateral and borrows USDT, the stablecoin category margin ratio is applied.
* If the same user borrows ETH within that position, the margin ratio automatically adjusts to the default (non-category-specific) ratio.

## Isolation Mode

Isolation Mode is an extremely expressive mechanism for limiting or expanding the functionality of certain assets in `Dolomite Margin`. Using `Isolation Mode` allows Dolomite to dictate which assets can be borrowed against a specific collateral asset, which collateral assets can be used in a position with the `Isolation Mode` asset, and allow native interactions with the underlying tokens for things like on-chain voting, capturing rewards, or other actions that are specific to the asset.

Once an asset is deployed with `Isolation Mode` enabled, it can never be disabled. However the settings for `Isolation Mode` can be tweaked over time if the implementation (per asset) allows for it, liquidity constraints change, or other factors that are outside of Dolomite's control.

{% hint style="info" %}
`Isolation Mode` assets are deployed as wrapped contracts around the listed asset. So the contract address you see on block explorers may appear different. Typically, these assets will be listed with a lowercase `d` in the `symbol` and the `name` will be prefixed with `Dolomite Isolation:`. Meaning, for plvGLP, the technical `name` on-chain is `Dolomite Isolation: Plutus Vault GLP` and the `symbol` is `dplvGLP`.
{% endhint %}

{% hint style="warning" %}
When you make your first deposit of an `Isolation Mode` asset into Dolomite, the token approval will be set on your vault address. The vault smart contract isn't created until the deposit occurs, so it may look like an externally-owned account (EOA), but it's not. Dolomite uses [`Create2`](https://eips.ethereum.org/EIPS/eip-1014) for the creation of the vaults, so your vault address is known before the deposit is executed and the vault is created.
{% endhint %}

Notably, if you open a borrow position with an `Isolation Mode` asset, it can never contain another asset in the position that is in `Isolation Mode`. The differences amongst different `Isolation Mode` levels can be seen in the table below.

<table><thead><tr><th width="111">Level</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>Can contain any debt or collateral asset in the same position, as long as those assets are not in isolation mode. Since this is the default level for all isolation mode assets, we don't list them in the table below.</td></tr><tr><td>2</td><td>Can contain only specific collateral assets or specific debt assets in the same position. Cannot contain assets in the same position that are in isolation mode.</td></tr><tr><td>3</td><td>Cannot contain any other collateral asset in the same position. Can only contain specific debt assets in the same position. Cannot contain assets in the same position that are in isolation mode.</td></tr></tbody></table>

The table below denotes the isolation mode status of each asset on each network `Dolomite Margin` is deployed.

#### Arbitrum One

<table><thead><tr><th width="130.33333333333331">Market ID</th><th width="183">Symbol</th><th>Isolation Mode Level</th></tr></thead><tbody><tr><td>10</td><td>jUSDC</td><td>3 (can only have <code>USDC</code> and <code>USDC.e</code> as debt; no other collateral assets are allowed)</td></tr><tr><td>16</td><td>YT-GLP (Mar 2024)</td><td>2 (can only have <code>ETH</code>, <code>DAI</code>, <code>USDC</code>, <code>USDT</code>, <code>WBTC</code>, and <code>MIM</code> debt)</td></tr><tr><td>31</td><td>GM: ARB-USD</td><td>2 (can only have <code>ARB</code>, <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>32</td><td>GM: BTC-USD</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>33</td><td>GM: ETH-USD</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>34</td><td>GM: LINK-USD</td><td>2 (can only have <code>LINK</code>, <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>43</td><td>jUSDC V2</td><td>3 (can only have <code>USDC</code> and <code>USDC.e</code> as debt / collateral)</td></tr><tr><td>44</td><td>GM: BTC</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>45</td><td>GM: ETH</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>47</td><td>GM: UNI-USD</td><td>2 (can only have <code>UNI</code>, <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>55</td><td>GM: AAVE-USD</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>56</td><td>GM: DOGE-USD</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>57</td><td>GM: GMX-USD</td><td>2 (can only have <code>GMX</code>, <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>58</td><td>GM: SOL-USD</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>59</td><td>GM: wstETH-USD</td><td>2 (can only have <code>wstETH</code>, <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>63</td><td>GM: GMX</td><td>2 (can only have <code>GMX</code>, <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>64</td><td>GM: PENDLE-USD</td><td>2 (can only have <code>PENDLE</code>, <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>65</td><td>GM: PEPE-USD</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>66</td><td>GM: WIF-USD</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>67</td><td>GLV-BTC</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr><tr><td>68</td><td>GLV-ETH</td><td>2 (can only have <code>ETH</code>, <code>WBTC</code>, and stablecoin debt / collateral)</td></tr></tbody></table>

{% hint style="info" %}
You can check these numbers by visiting the [Stats Page](https://app.dolomite.io/stats) on Dolomite or by visiting [DolomiteMargin](https://arbiscan.io/address/0x6bd780e7fdf01d77e4d475c821f1e7ae05409072#readContract) on Arbiscan, clicking `Read Contract`, selecting the `getMarketTokenAddress` function and plugging in the corresponding `marketId` into the input field. Click on the resulting address and on the page whose address you are directed to, check that the contract name contains `WrappedTokenUserVaultFactory`.
{% endhint %}

### Assets with Forced Expiration

Dolomite can enforce an expiration timestamp for any positions that are opened with an Isolation Mode asset with this setting toggled. This feature is essential to preserve the health and solvency of markets that have a maturity. For example, Pendle's YT assets decay toward a value of 0 as they approach maturity. Thus, having an expiration ensures all positions with Pendle's YT tokens can be closed before they are liquidated due to their price declining toward 0.

#### Arbitrum One

<table><thead><tr><th width="130.33333333333331">Market ID</th><th width="203">Symbol</th><th>Forcefully Expired?</th></tr></thead><tbody><tr><td>16</td><td>YT-GLP (Mar 2024)</td><td>TRUE; Maximum position duration is the lesser of 4 weeks OR  1 week until maturity (<code>Thu Mar 28 2024 00:00:00 GMT</code>; <code>1711584000</code> unix timestamp)</td></tr></tbody></table>

### Only EOA

Dolomite can whitelist what types of users can interact with certain Isolation Mode assets. There may be use cases for an asset only being accessible to real users (externally-owned-accounts (EOAs), smart contract wallets, or some other category that makes sense).

If this protective mode is enabled, only users that meet the criteria can deposit, withdraw, borrow, or otherwise use that particular asset in Dolomite. The table below denotes which assets are only accessible via an EOA.

#### Arbitrum One

<table><thead><tr><th width="130.33333333333331">Market ID</th><th width="244">Symbol</th><th>Only EOA?</th></tr></thead><tbody><tr><td>10</td><td>jUSDC</td><td>TRUE</td></tr><tr><td>43</td><td>jUSDC V2</td><td>TRUE</td></tr></tbody></table>

### Pause Sentinel

Dolomite offers a unique `Pause Sentinel` to reduce contamination risk between assets if there's an issue with a particular listed asset on Dolomite. If external redemptions are ever made unavailable, are paused, etc. Dolomite can dynamically disable borrowing, disable increasing position size, or more for, but *only* for the paused asset and its respective positions.

This breakthrough enables Dolomite to isolate technical risk and potential black swans between external integrations to reduce spillover between collateral assets on Dolomite. Let's walk through an example:

Suppose you have a position open with `jUSDC` borrowing `USDC` as debt. If Jones DAO activates their *Emergency Pause* functionality, users of `jUSDC` would be unable to redeem for `USDC`. This would put massive strain on Dolomite while the situation resolves, resulting in users ramping up their `USDC` debt as a way to "exit" their `jUSDC` position while Jones DAO's system is paused. Dolomite's `Pause Sentinel` is able to disable increasing debt involving `jUSDC` and automatically moves the `jUSDC` market into downsize only mode - enforcing users can only pay back loans. Meanwhile, a user taking out a loan against `GLP` collateral is unaffected by the `jUSDC` market being paused!

The table below denotes which assets have the Pause Sentinel active:

#### Arbitrum One

<table><thead><tr><th width="130.33333333333331">Market ID</th><th width="205">Symbol</th><th>Pause Sentinel Trigger</th></tr></thead><tbody><tr><td>9</td><td>plvGLP</td><td>If the <code>vaultParams()</code> disable redemptions</td></tr><tr><td>10</td><td>jUSDC</td><td>If the <code>JonesUSDCIsolationModeUnwrapperTrader</code> is unable to bypass the 24hr withdrawal period or is not whitelisted. If the <a href="https://arbiscan.io/address/0x2F43c6475f1ecBD051cE486A9f3Ccc4b03F3d713">JonesGlpVaultRouter</a> toggles the <code>isPaused</code> state.</td></tr><tr><td>11</td><td>PT-GLP (Mar 2024)</td><td>If the <a href="https://arbiscan.io/address/0x2066a650AF4b6895f72E618587Aad5e8120B7790">SY GLP</a> token is <code>paused</code></td></tr><tr><td>16</td><td>YT-GLP (Mar 2024)</td><td>If the <a href="https://arbiscan.io/address/0x2066a650AF4b6895f72E618587Aad5e8120B7790">SY GLP</a> token is <code>paused</code></td></tr><tr><td>22</td><td>PT-rETH (Jun 2025)</td><td>If the <a href="https://arbiscan.io/token/0xc0Cf4b266bE5B3229C49590B59E67A09c15b22f4">SY rETH</a> token is <code>paused</code></td></tr><tr><td>23</td><td>PT-wstETH (Jun 2024)</td><td>If the <a href="https://arbiscan.io/token/0x80c12d5b6cc494632bf11b03f09436c8b61cc5df">SY wstETH</a> token is <code>paused</code></td></tr><tr><td>24</td><td>PT-wstETH (Jun 2025)</td><td>If the <a href="https://arbiscan.io/token/0x80c12d5b6cc494632bf11b03f09436c8b61cc5df">SY wstETH</a> token is <code>paused</code></td></tr><tr><td>31</td><td>GM: ARB-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>32</td><td>GM: BTC-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>33</td><td>GM: ETH-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>34</td><td>GM: LINK-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>36</td><td>PT-eETH (Apr 2024)</td><td>If the <a href="https://arbiscan.io/token/0xa6c895eb332e91c5b3d00b7baeeaae478cc502da">SY eETH</a> token is <code>paused</code></td></tr><tr><td>38</td><td>PT-ezETH (Jun 2024)</td><td>If the <a href="https://arbiscan.io/token/0x0de802e3d6cc9145a150bbdc8da9f988a98c5202">SY ezETH</a> token is <code>paused</code></td></tr><tr><td>41</td><td>PT-GLP (Sep 2024)</td><td>If the <a href="https://arbiscan.io/token/0xd1f7d5fec6eb532847e552269c905ac489992ef6">SY GLP</a> token is <code>paused</code></td></tr><tr><td>42</td><td>PT-eETH (Jun 2024)</td><td>If the <a href="https://arbiscan.io/token/0xa6c895eb332e91c5b3d00b7baeeaae478cc502da">SY eETH</a> token is <code>paused</code></td></tr><tr><td>43</td><td>jUSDC V2</td><td>If the <code>JonesUSDCIsolationModeUnwrapperTrader</code> is unable to bypass the 24hr withdrawal period or is not whitelisted. If the <a href="https://arbiscan.io/address/0x2F43c6475f1ecBD051cE486A9f3Ccc4b03F3d713">JonesGlpVaultRouter</a> toggles the <code>isPaused</code> state.</td></tr><tr><td>44</td><td>GM: BTC</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>45</td><td>GM: ETH</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>47</td><td>GM: UNI-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>55</td><td>GM: AAVE-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>56</td><td>GM: DOGE-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>57</td><td>GM: GMX-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>58</td><td>GM: SOL-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>59</td><td>GM: wstETH-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>63</td><td>GM: GMX</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>64</td><td>GM: PENDLE-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>65</td><td>GM: PEPE-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>66</td><td>GM: WIF-USD</td><td>If the market is disabled, if withdrawals are disabled, if the P&#x26;L factor for the pool is too large, or if the callback gas limit is too small</td></tr><tr><td>67</td><td>GLV-BTC</td><td>If the market is disabled, if withdrawals are disabled for the largest underlying GM market, if the P&#x26;L factor for the underlying GM market is too large, or if the callback gas limit is too small</td></tr><tr><td>68</td><td>GLV-ETH</td><td>If the market is disabled, if withdrawals are disabled for the largest underlying GM market, if the P&#x26;L factor for the underlying GM market is too large, or if the callback gas limit is too small</td></tr></tbody></table>

## Liquidations

Liquidations occur when account's collateralization falls below the minimum threshold for the debt asset(s) they owe. The liquidation threshold is defined as:

```
liquidation_threshold = total_usd_value_supplied / (total_usd_value_borrowed * 115%)
```

When a liquidator force-closes an underwater position, the underwater account incurs a liquidation penalty (more on this below). The amount of assets seized by a liquidator upon liquidation is defined as:

<pre><code><strong>amount_seized = 
</strong>    debt_amount * debt_price_usd / collateral_price_usd * (1 + liquidation_penalty)
</code></pre>

Expirations occur when a position's expiry has passed, and the position is subject to being liquidated. Mechanically, expirations work similar to liquidations; having a position force-closed due to expiration follows the same formula above, when the position's collateral asset(s) are seized:

<pre><code><strong>amount_seized = 
</strong><strong>    debt_amount * debt_price_usd / collateral_price_usd * (1 + liquidation_penalty)
</strong></code></pre>

### Health Factor

On the [Borrow](https://docs.dolomite.io/guide/borrow) page, you'll see something called a `Health Factor` attached to each position. The position's health is represented as a ratio of how close your equity to debt ratio is to reaching 115% collateralization (or higher if the asset has a risk premium applied). When your `Health Factor` falls below `1.00` your position is subject to being force-closed via liquidation.

Here's an example of the calculation assuming the liquidation threshold is 115% collateralization, you have $120 worth of assets and your debt is $100:

```
$120 / ($100 * 1.15) = ~1.043 Health Factor
Liquidation Threshold - when collateral assets < $115 OR debt assets > $104.35
```

<figure><img src="https://1945963910-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX64bpiBusNgcRH6dN4AS%2Fuploads%2F9Sd5tssFHuZB7XJ0pGch%2Fimage.png?alt=media&#x26;token=6b3495f0-9431-4605-abe2-d75dec214b01" alt=""><figcaption><p>Three positions with different &#x26; independent health factors</p></figcaption></figure>

#### Why use the concept of a Health Factor instead of showing liquidation prices?

Dolomite uses the concept of a `Health Factor` because it normalizes different liquidation thresholds that could be different across the diverse set of potential assets in your position. For example, if you're supplying `GLP` and `USDC` as well as borrowing `LINK` and `ETH`, each of those assets could have different liquidation thresholds, which cannot be represented through a simple liquidation price.

### Partial Liquidations

If your health factor is greater than or equal to `0.95` and your collateral is a market that is eligible for partial liquidations, 50% of your debt will be liquidated instead of 100%. The rest of the position will remain open.

As of March 2026, `GM` (Arbitrum GMX V2 vault tokens), `GLV` (Arbitrum GMX V2 vault tokens), and `pol` (Berachain POL tokens) tokens are the only assets that are not eligible for partial liquidations. These assets not being supported is reflective of technical restrictions that makes it safer for the protocol to keep partial liquidations disabled for these assets.

### Liquidation Penalties

Liquidation penalties serve as a deterrent for borrowers to try to not get liquidated and an incentive for liquidators to perform their role and maintain the solvency of Dolomite's money market system. `DolomiteMargin` specifies a global liquidation penalty that is the minimum value that can be set for each market. Each market can add a `Liquidation Spread Premium`, which is used to increase the liquidation penalty. Generally, illiquid and riskier markets have higher liquidation penalties than less risky and more liquid ones. In a way, the penalty is a reflection of the risk the protocol takes on by listing the asset in the system for usage.&#x20;

{% hint style="warning" %}
`Liquidation Spread Premiums` aggregate to reflect the compounded risk of borrowing a risky asset with a risky collateral asset. Using the example of `WBTC` and `LINK` on Arbitrum One, which both have `Liquidation Spread Premiums` of 40%, the liquidation penalty when you borrow one using the other asset collateral is 9.8% (`1.4 * 1.4 * 5%`).

To check the math of this, you can visit [DolomiteMargin](https://arbiscan.io/address/0x6bd780e7fdf01d77e4d475c821f1e7ae05409072#readContract) on Arbiscan, click `Read Contract`, select the `getLiquidationSpreadForPair` function and input 3 and 4 as the `heldMarketId` and `owedMarketId.` Doing so gives you the liquidation penalty of 9.8% if you divide the result by `1e18`.&#x20;
{% endhint %}

#### Dolomite Liquidator Fee

In order to protect the protocol in the case of abnormal market conditions, a percentage of all liquidation penalties will be automatically sent to the treasury. The exact percentage is settable by governance and subject to change.

#### Arbitrum One

Global liquidation penalty: 5%

#### Berachain

Global liquidation penalty: 5%

#### Mantle

Global liquidation penalty: 5%

#### Polygon zkEVM

Global liquidation penalty: 5%

#### X Layer

Global liquidation penalty: 5%

{% hint style="info" %}
You can check these numbers by visiting the [Stats Page](https://app.dolomite.io/stats) on Dolomite or by visiting [DolomiteMargin](https://arbiscan.io/address/0x6bd780e7fdf01d77e4d475c821f1e7ae05409072#readContract) on Arbiscan, clicking `Read Contract`, selecting the `getLiquidationSpread` function and dividing by `1e18.` Doing so gives you the global liquidation penalty of 5%.&#x20;

Then, select the `getMarketSpreadPremium` function and plug in the corresponding `marketId` into the input field. With the spread premium, add `1e18`, divide by `1e18`, then multiply the result by 5% (the global liquidation penalty).

For example, the `Liquidation Penalty` for `WBTC` is `400000000000000000`. By adding `1e18` and dividing by `1e18` the result is `1.400000000000000000`. When you multiply 5% by `1.400000000000000000`, you get 7%.
{% endhint %}

### Liquidation Fee Rake

As of March 2026, all non-isolation mode liquidations are subject to a fee rake that builds up a safety buffer for the protocol to cover any future bad debt events. This feature can be thought of as (smart value recapture) "SVR" that was recently introduced by new oracle implementations by Chainlink. Rather, Dolomite has this capability built into the protocol directly.

At launch, the fee rake is set to 10% of the liquidation penalty on all networks. To query the live fee, go to the LiquidatorProxyV6 contract (`0x8564F36E53AC4f16A2C0B8449cf98d51C3438efD`) on the network you want to inspect, go to `Read as Proxy`, click `dolomiteRake` and divide the result by `1e18` .

<figure><img src="https://1945963910-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX64bpiBusNgcRH6dN4AS%2Fuploads%2FpTfctcqVQo8pn0gTalFb%2Fimage.png?alt=media&#x26;token=7866850a-fcf1-4421-b5cc-b78819aaaf13" alt=""><figcaption></figcaption></figure>

## Vaporizations

Vaporizations can occur after a liquidation if an underwater account is left with 0 collateral assets but still holds a non-zero amount of debt. Vaporizing an account from a liquidator account will essentially "donate" the liquidators assets to cover any shortfall in bad debt the underwater account accrued.

[^1]: This market is deprecated
