# Keepers

Keepers are a critical component of the Surge perpetual DEX, ensuring smooth and decentralized operation by executing key functions and maintaining protocol stability. They act as independent entities that monitor the Surge system and facilitate necessary actions without holding any special authority over trades or user accounts.<br>

## Responsibilities of Keepers

### Processing User Requests:

Keepers observe user-submitted requests, such as opening or closing a position, and relay these actions to the Surge exchange component for verification and execution.

### Executing Limit Orders:

Keepers monitor pending limit orders and trigger them when the conditions are met, based on the latest oracle price updates.

### Updating Oracle Prices:

Keepers regularly update the exchange with price data from the oracle, ensuring trades and positions are valued accurately.

### Auto-Deleverage Support:

In rare cases where the system’s risk exceeds predefined thresholds, keepers assist the protocol by highlighting auto-deleverage actions possible to stabilize the platform.

## Decentralized by Design

### No Special Authority:

Keepers cannot directly execute trades or modify user accounts. They simply highlight actionable items for the Surge exchange component, which performs all verification and execution.

Anyone can become a keeper, provided they have the technical ability to run the necessary software. This ensures a decentralized and robust network of participants maintaining the protocol.

### How Keepers Work:

1. A user submits a request (e.g., to open a long position on BTC/USD).
2. Keepers observe this request in the system and wait for the next oracle price update.
3. Once the oracle provides a signed price update, the keeper forwards the user request and price data to the Surge exchange component.
4. The Surge exchange component validates the request, checks risk limits, and executes the trade if all criteria are met.
5. The keeper ensures all updates are recorded and continues monitoring for subsequent actions.


---

# 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.surge.trade/about-surge/keepers.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.
