# V1 Component Overview

**NOTE \[16 October]: Hey, if you're here from Code4rena, we haven't really got this part of the Gitbook fully specified yet because we only recently finalised everything for the code freeze. We're working on providing a little explainer for each variable and function, but if it's not present yet and you can't work it out from looking at source, ping us via C4 Discord and we'll respond/update when we can!**

The Wildcat Protocol consists of several components:

* The [**Archcontroller**](/miscellaneous/deprecated-documentation/component-overview/wildcatarchcontroller.sol.md) is responsible for authorising borrowers to deploy controllers and markets, as well as maintaining a list of all protocol associated contracts.
* A [**Controller Factory**](/miscellaneous/deprecated-documentation/component-overview/wildcatmarketcontrollerfactory.sol.md) deploys new controllers.
* A [**Controller**](/miscellaneous/deprecated-documentation/component-overview/wildcatmarketcontroller.sol.md) may interface with markets, adjust parameters, and set authorisation rules.
* A [**Market**](/miscellaneous/deprecated-documentation/component-overview/wildcat-market-overview.md) is responsible for the borrowing and lending within the protocol.
* The [**Sanctions Sentinel**](/miscellaneous/deprecated-documentation/component-overview/wildcatsanctionssentinel.sol.md) is responsible for deploying escrow contracts to remove lenders that are flagged by the Chainalysis oracle from markets.
* A [**Sanctions Escrow**](/miscellaneous/deprecated-documentation/component-overview/wildcatsanctionsescrow.sol.md) holds the assets of a lender flagged by the sentinel.
* Protocol-wide [**structs**](/miscellaneous/deprecated-documentation/component-overview/structs.md) are listed here.

Each hyperlink in the above will direct you to a list of the various *public or external* functions, variables and structs contained therein.

Little explainers coming (the market components have them already), but you're all bright - you can work it out. ;)


---

# 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.wildcat.finance/miscellaneous/deprecated-documentation/component-overview.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.
