> For the complete documentation index, see [llms.txt](https://docs.dolomite.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dolomite.io/developer-documentation/e-mode-and-segregated-risk.md).

# E-Mode & Segregated Risk

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

E-Mode & Segregated Risk automatically turns on/off depending on the composition of assets in your position. This makes it easy and fluid for users to borrow with increased efficiency if they opt into maintaining a position that falls within an E-Mode category.

To learn more about E-Mode you can visit the section on [Risk Management](/risk-management.md#account-risk-override).

To get the current risk override setter, you can query the [following function](/developer-documentation/dolomite-margin-getters.md#getdefaultaccountriskoverridesetter) on `DolomiteMargin` .

You can query current risk settings on the Dolomite Account Risk Override using the following functions:

### `getAccountRiskOverride`

**Description:**

Gets the risk overrides for a given account owner. In the context of an operation, this function is called within `_verifyFinalState`, after all of the operation's actions have occurred. Thus, it is safe to read the account's state from Dolomite Margin's storage.

**Parameters:**

* `account` (`Account.Info calldata`): The account whose risk override should be retrieved, represented by an `Account.Info` struct.

**Returns:**

* `Decimal.D256 memory marginRatioOverride`: The margin ratio override for this account. When a margin ratio override is specified that is non-zero, all margin premiums are ignored for the position.
* `Decimal.D256 memory liquidationRewardOverride`: The liquidation penalty that would be paid by this account if the position is liquidated. When a liquidation reward override is specified that is non-zero, all liquidation reward premiums are ignored for the position.

```solidity
library Account {
    struct Info {
        address owner;
        uint256 number;
    }
}

library Decimal {
    struct D256 {
        value uint256;
    }
}

function getAccountRiskOverride(
    Account.Info calldata account
)
external
view
returns
(
    Decimal.D256 memory marginRatioOverride,
    Decimal.D256 memory liquidationRewardOverride
);
```
