# Pausing

The pausing mechanism is a crucial risk management feature in the FBTC project. It allows authorized parties to temporarily halt certain operations within the smart contract to prevent further damage in the event of a detected vulnerability or security breach. This document provides an in-depth look at the pausing mechanism implemented in FBTC, its purpose, functionality, and management processes.

## Purpose

The primary purposes of the pausing mechanism are:

* **Risk Mitigation**: To quickly halt operations in case of a detected security threat or vulnerability.
* **Protection of User Funds**: To prevent unauthorized or malicious activities that could compromise user assets.
* **Operational Stability**: To provide a controlled environment for addressing issues without affecting the entire system.

## Functionality

### Pausing Operations

The pausing mechanism in FBTC allows for the suspension of critical functions such as **minting**, **burning**, and **cross-chain transfers**. When the contract is paused, these functions cannot be executed until the contract is unpaused.

### Implementation

FBTC employs the OpenZeppelin `Pausable` contract module to integrate the pausing mechanism. This module provides modifiers that can be applied to functions to restrict their execution when the contract is paused.

## Management Processes

### Pausing the Contract

1. **Detection of Threat**: Upon detecting a potential security threat or vulnerability, the authorized pauser evaluates the risk.
2. **Initiate Pause**: The pauser calls the `pause` function to suspend critical operations.
3. **Notification**: All relevant stakeholders are notified of the pause, and an investigation begins to address the issue.

### Unpausing the Contract

1. **Issue Resolution**: The detected issue or threat is thoroughly investigated and resolved.
2. **Security Assessment**: A comprehensive security assessment is conducted to ensure the system's integrity.
3. **Initiate Unpause**: The pauser calls the `unpause` function to resume normal operations.
4. **Notification**: All relevant stakeholders are notified that the contract has been unpaused and normal operations have resumed.


---

# 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.fbtc.com/security/risk-management/pausing.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.
