# System Roles

### InterestRateModel

* Owner: [Team-managed Safe 3/5](https://etherscan.io/address/0xE8e8041cB5E3158A0829A19E014CA1cf91098554)

| **Role** | **Methods** | **Describtion**                     |
| -------- | ----------- | ----------------------------------- |
| Owner    | setConfig   | Sets model configuration for assets |

### SiloRepository

Owner: [Team-managed Safe 3/5](https://etherscan.io/address/0xE8e8041cB5E3158A0829A19E014CA1cf91098554)

| **Role** | **Methods**                    | **Describtion**                                       |
| -------- | ------------------------------ | ----------------------------------------------------- |
| Owner    | setTokensFactory               | Sets contract that deploys tokens                     |
| Owner    | setFees                        | Sets protocol fees                                    |
| Owner    | setAssetConfig                 | Sets asset config                                     |
| Owner    | setDefaultInterestRateModel    | Sets default interest rate model                      |
| Owner    | setDefaultMaximumLTV           | Sets default maximum LTV                              |
| Owner    | setDefaultLiquidationThreshold | Sets default liquidation threshold                    |
| Owner    | setPriceProvidersRepository    | Sets PriceProvidersRepository contract                |
| Owner    | setRouter                      | Sets Router contract                                  |
| Owner    | setNotificationReceiver        | Sets notification receiver (rewards/farming) contract |
| Owner    | addBridgeAsset                 | Adds bridge asset                                     |
| Owner    | removeBridgeAsset              | Removes bridge asset                                  |
| Owner    | replaceSilo                    | Replaces already deployed Silo within the system      |
| Owner    | registerSiloVersion            | Adds new Silo contract version                        |
| Owner    | unregisterSiloVersion          | Removes Silo contract version                         |
| Owner    | setDefaultSiloVersion          | Sets default Silo contract version                    |
| Manager  | toggleLimitedMaxLiquidity      | on/off deposits limit                                 |
| Manager  | setDefaultSiloMaxDepositsLimit | default deposits limit                                |
| Manager  | setSiloMaxDepositsLimit        | deposits limit for Silo                               |
| Manager  | setGlobalPause                 | pause all Silos                                       |
| Manager  | setSiloPause                   | pause specific Silo                                   |

### PriceProvidersRepository

Owner: [Team-managed Safe 3/5](https://etherscan.io/address/0xE8e8041cB5E3158A0829A19E014CA1cf91098554)

| **Role** | **Methods**              | **Description**                     |
| -------- | ------------------------ | ----------------------------------- |
| Owner    | addPriceProvider         | Registers new price provider module |
| Owner    | removePriceProvider      | Unregisters price provider module   |
| Manager  | setPriceProviderForAsset | Assigns price provider for an asset |

### UniswapV3PriceProvider

Manager: [Team-managed Safe 3/5](https://etherscan.io/address/0xE8e8041cB5E3158A0829A19E014CA1cf91098554)

(inherited from PriceProvidersRepository)

| **Role** | **Methods**             | **Description**                                                                        |
| -------- | ----------------------- | -------------------------------------------------------------------------------------- |
| Manager  | setupAsset              | Configures price feed for asset                                                        |
| Manager  | changePeriodForAvgPrice | Change period for which to calculated TWAP prices                                      |
| Manager  | changeBlockTime         | Change block time which is used to adjust oracle cardinality fot providing TWAP prices |

BalancerV2PriceProvider

Manager: [Team-managed Safe 3/5](https://etherscan.io/address/0xE8e8041cB5E3158A0829A19E014CA1cf91098554)

(inherited from PriceProvidersRepository)

| **Role** | **Methods**             | **Description**                                                                             |
| -------- | ----------------------- | ------------------------------------------------------------------------------------------- |
| Manager  | setupAsset              | Configures price feed for asset                                                             |
| Manager  | changePeriodForAvgPrice | Change period for which to calculated TWAP prices                                           |
| Manager  | changeSecondsAgo        | Change number of seconds in the past where calculations starts for average price            |
| Manager  | changeSettings          | Change period for average price and number of seconds in the past where calculations starts |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://devdocs.silo.finance/protocol-architecture/system-roles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
