> ## Documentation Index
> Fetch the complete documentation index at: https://docs.optimism.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pausing the bridge

> Learn how the OP Stack bridge can be paused as backup safety mechanism.

The [`OptimismPortal`](https://github.com/ethereum-optimism/optimism/blob/v1.1.4/packages/contracts-bedrock/src/L1/OptimismPortal.sol) is the low-level L1 message passing contract present on all standard OP Stack chains.
This contract handles the L1 side of the communication channel between an OP Stack chain and its L1 parent chain.

As a safety mechanism, a privileged `GUARDIAN` address can pause withdrawals.
When paused, the `OptimismPortal` contract will prevent L2-to-L1 transactions from being executed.
This is a backup safety mechanism that can be used to help mitigate potential active security concerns.

Pause functionality were introduced to the OP Stack to mitigate the risk of withdrawal bugs that have led to exploits in other bridging systems.

## Pause functionality

The `OptimismPortal` points to a `SuperchainConfig` smart contract which has a privileged `GUARDIAN` address that can pause and unpause L2-to-L1 transactions from being executed.
The `SuperchainConfig` contract is a shared implementation across OP Stack chains. All Optimism-governed chains point to it, and any OP Stack chain can point its `SuperchainConfigProxy` to this shared implementation.
L2-to-L1 transactions allow users and smart contracts on the OP Stack chain to send messages to the L1 parent chain.
Pause functionality allows a `GUARDIAN` to halt L2-to-L1 transaction execution for the OP Stack chain in question.
L1-to-L2 transactions are not affected by pause functionality.

Pauses by the `GUARDIAN` impact all L2-to-L1 transactions for the OP Stack chain in question and cannot be targeted to specific users, smart contracts, or transactions.
Pauses are designed to be a backup safety mechanism and are expected to be used only in the event of an active pressing security concern.

## Pause and unpause functions

The `GUARDIAN` can pause and unpause L2-to-L1 transactions at any time by calling the [`pause`](https://github.com/ethereum-optimism/optimism/blob/856c08bf84d9aa829d1e764fc8e9a37d41960ba0/packages/contracts-bedrock/src/L1/SuperchainConfig.sol#L66-L71) and [`unpause`](https://github.com/ethereum-optimism/optimism/blob/856c08bf84d9aa829d1e764fc8e9a37d41960ba0/packages/contracts-bedrock/src/L1/SuperchainConfig.sol#L73-L78) functions on the `SuperchainConfig` contract.

## Guardian address

The `GUARDIAN` address is configured in the `SuperchainConfig` contract and can be modified by the network's administrative address or smart contract. To learn more about the privileged role, see [documentation](/op-stack/protocol/privileged-roles#guardian).

The `GUARDIAN` address is set as an `immutable` variable inside of the `SuperchainConfig` contract.
To change the `GUARDIAN` address, the `SuperchainConfig` proxy contract must be upgraded to a new implementation contract that has a different `GUARDIAN` address.

## Additional information

While this functionality is available for the OP Stack protocol, it does not cover the security of centralized exchanges and third party bridges.
If you operate a centralized exchange or third party bridge, you should monitor this contract and pause withdrawals from OP Stack chains if you see that it has been paused.
If you'd like to learn more about the privileged roles in the OP Stack, see the [privileged roles](/op-stack/protocol/privileged-roles) documentation.
