# Custom Logic

In addition to the predefined Slashing Modules, the Stack supports custom slashing logic. This enables AVSs to define and enforce special-purpose slashing rules beyond the predefined conditions.

## Overview

The AVS governance can configure a custom logic to penalize or eject operators. The custom slashing can only be called by authorized accounts (EOA, Multisig, or a smart contract) with  `EJECTOR` or `SLASHER` roles.

### Slasher Roles

AVSs can configure the slashing related roles using [Slashing Roles Configuration](https://docs.othentic.xyz/main/reference/contracts/attestation-center#slashing-functions) functions in the [Attestation Center](https://docs.othentic.xyz/main/reference/contracts/attestation-center) contract.

* **Ejector** `EJECTOR`: Authorized to permanently remove operators from the network.
* **Slasher** `SLASHER`: Authorized to impose penalties on operators.

These functions are only callable by the governance multisig `AVS_GOVERNANCE_MULTISIG` role.

### Functions

* [ejectOperatorFromNetwork](https://docs.othentic.xyz/main/reference/contracts/attestation-center#ejectoperatorfromnetwork) - remove an operator from the AVS network.&#x20;
* [applyCustomSlashing](https://docs.othentic.xyz/main/reference/contracts/attestation-center#applycustomslashing) - slash a custom amount from the operator's stake across one or more Staking Contracts.
