> For the complete documentation index, see [llms.txt](https://docs.eesee.io/contracts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eesee.io/contracts/smart-contracts/concepts/roles.md).

# Project Roles

Eesee has a number of roles in the project:

* **ADMIN\_ROLE** has the ability to:
  * Grant and revoke other roles in [EeseeAccessManager](/contracts/smart-contracts/contracts/admin/eeseeaccessmanager.md).
  * Change project fees in [Eesee](/contracts/smart-contracts/contracts/marketplace/eesee.md) and [EeseeDrops](/contracts/smart-contracts/contracts/marketplace/eeseedrops.md).
  * Change the minimum and the maximum lot durations in [Eesee](/contracts/smart-contracts/contracts/marketplace/eesee.md).
  * Approve and revoke approvals for contracts for use in [EeseePaymaster](/contracts/smart-contracts/contracts/periphery/eeseepaymaster.md).
  * Change random request intervals in [EeseeRandomBase](https://gitlab.com/eesee.io/network/contracts/-/blob/main/docs/contracts/random/abstract/EeseeRandomBase.md).
  * Change Locked staking duration in [EeseeStaking](/contracts/smart-contracts/contracts/rewards/eeseestaking.md).
  * Change staking reward rates in [EeseeStaking](/contracts/smart-contracts/contracts/rewards/eeseestaking.md).
  * Update approvedFunctions list in [BESE](https://gitlab.com/eesee.io/network/contracts/-/blob/main/docs/contracts/token/BESE.md).
  * Update onRampImplementation in [EeseeOnRampProxy](/contracts/smart-contracts/contracts/periphery/crosschain/eeseeonramp-eeseeofframp/eeseeonrampproxy.md).
  * Update treasury address in [EeseeSwapBase](https://gitlab.com/eesee.io/network/contracts/-/blob/main/docs/contracts/periphery/abstract/EeseeSwapBase.md).
* **REQUEST\_RANDOM\_ROLE** can request random at any time in [EeseeRandomBase](https://gitlab.com/eesee.io/network/contracts/-/blob/main/docs/contracts/random/abstract/EeseeRandomBase.md).
* **SIGNER\_ROLE** is used in [EeseePaymaster](/contracts/smart-contracts/contracts/periphery/eeseepaymaster.md) to sign current ESE token price and a personal user discount.
* **MERKLE\_ROOT\_UPDATER\_ROLE** can add new merkle roots in [EeseeMining](/contracts/smart-contracts/contracts/rewards/eeseemining.md) contract.
* **volumeUpdater** (in [EeseeStaking.sol](/contracts/smart-contracts/contracts/rewards/eeseestaking.md)) can update lifetime user volume for [EeseeStaking](/contracts/smart-contracts/contracts/rewards/eeseestaking.md). Is intended to be a contract with which the users interact with to gain volume on our platform, eg. [Eesee](/contracts/smart-contracts/contracts/marketplace/eesee.md) or [EeseeDrops](/contracts/smart-contracts/contracts/marketplace/eeseedrops.md).
* **\_initializer** (in [ESE.sol](/contracts/smart-contracts/contracts/ese.md)) - Can initialize [ESE](/contracts/smart-contracts/contracts/ese.md) contract and set vesting beneficiaries during uninitialized state. Is not used after initialization.
* **minter** (in [EeseeNFTLazyMint.sol](/contracts/smart-contracts/contracts/nft/eeseenftlazymint.md)) - Can mint new NFTs for [EeseeNFTLazyMint](/contracts/smart-contracts/contracts/nft/eeseenftlazymint.md) contract.
* **minter** (in [EeseeNFTDrop.sol](/contracts/smart-contracts/contracts/nft/eeseenftdrop.md)) - Can mint new NFTs for [EeseeNFTDrop.sol](/contracts/smart-contracts/contracts/nft/eeseenftdrop.md) contract.
* **PAUSER\_ROLE** - Can pause [EeseeExecuteWithSwapBase.sol](https://gitlab.com/eesee.io/network/contracts/-/blob/main/docs/contracts/periphery/abstract/EeseeExecuteWithSwapBase.md), [EeseeOpenseaRouter.sol](/contracts/smart-contracts/contracts/periphery/routers/eeseeopensearouter.md), [EeseeRaribleRouter.sol](/contracts/smart-contracts/contracts/periphery/routers/eeseerariblerouter.md), [EeseeAssetSpokeBase.sol](https://gitlab.com/eesee.io/network/contracts/-/blob/main/docs/contracts/periphery/crosschain/abstract/EeseeAssetSpokeBase.md) and [EeseeExpress.sol](/contracts/smart-contracts/contracts/periphery/crosschain/eeseeexpress.md), [EeseeOnRampProxy](/contracts/smart-contracts/contracts/periphery/crosschain/eeseeonramp-eeseeofframp/eeseeonrampproxy.md).
* **CCIPRouter** - Is Chainlink CCIP router. Can call ccipReceive() function in [EeseeAssetSpokeCCIP.sol](/contracts/smart-contracts/contracts/periphery/crosschain/eeseeassethub-eeseeassetspoke/eeseeassetspokeccip.md) and [EeseeAssetHubCCIP.sol](/contracts/smart-contracts/contracts/periphery/crosschain/eeseeassethub-eeseeassetspoke/eeseeassethubccip.md), meaning it has the right to mint new ERC1155s in EeseeAssetHub, or to release tokens locked in EeseeAssetSpoke.
