Skip to main content

How does the EVC work?

When a user wishes to borrow, they must interact with the EVC so that from now on the EVC can mediate between the vaults. To illustrate that process, let's consider a straightforward example. When users wish to borrow, they must link their accounts and collateral vaults to the borrowed-from vault via the EVC. The liability vault, also known as the controller, is then consulted whenever a user wants to perform an action potentially impacting the account's solvency, such as withdrawing collateral. The EVC is responsible for calling the controller to determine whether the action is allowed or if it should be blocked to prevent account insolvency.

Ultimately, you can think of the EVC as a special purpose multicall contract which additionally provides caller authentication and maintains execution context which may be relied on by external smart contracts to enforce accounts and vaults healthy state.

In addition to vault mediation, the EVC contains the functionality required to build flexible products, both for EOAs and smart contracts.