# Time Lock

Time Locks are a smart contract feature that states that some actions will only be performed after a certain period of time rather than immediately.&#x20;

There are critical actions that can be used for the good development of the protocol, but the same functions can be performed by malicious individuals with the intention of harming users. Time Lock protects the user from malicious actions and individuals providing time to user protects their funds in case they identify suspicious activities.

All critical contracts in TETU have a 48 hour timelock to provide greater security to users. Very instructive articles on how to check Time Lock Schedule and perform Emergency Withdraw can be read in [Guides](https://docs.tetu.io/tetu-io/security/security-overview/guides).

### Proxy contracts with 48 time-lock

Tetu has two types of proxy contracts:

* TetuProxyControlled - upgrade can be done only after announcing in Announcer and 48h time-lock period expired
* TetuProxyGov - proxy contracts without time-lock, governance can upgrade it at any time. We are using for the most noncritical contracts (contracts with view functions and governance infrastructure)

List of time-locked proxy contracts:

* Announcer
* Bookkeeper
* Controller
* FeeRewardForwarder
* FundKeeper
* VaultController
* MintHelper
* All SmartVault instances
* TetuSwapFactory

Proxy without time-lock

* AutoRewarder (reward distribution processing under full control of governance)
* RewardCalculator (only view functions)
* PayrollClerk (governance infrastructure)
* ContractReader (only view functions)
* PawnshopReader (only view functions)
* PriceCalculator (only view functions)

### Immutable contracts

* All strategies
* TETU token
* LiquidityBalancer
* NotifyHelper
* MultiSwap
* ZapContract
* TetuPawnshop
* TetuSwapPair
* TetuSwapRouter
* Mutlicall
* ContractUtils


---

# 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://docs.tetu.io/tetu-io/technical/security-overview/timelock.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.
