# zkBob Application Overview

## Components&#x20;

{% hint style="info" %}
[View deployed contracts here](/implementation/deployed-contracts.md).
{% endhint %}

The zkBob application is comprised of the following components:

* [**zkBob Pool**](/implementation/contracts-and-circuits/the-pool-contract.md)**:** The main contract which holds the zero-knowledge state. It's the core solution component. All transactions are sent here.
* [**Bob Token**](/implementation/contracts-and-circuits/token-contract.md): The BOB token contract, an ERC20-based fungible token with additional features.
* [**Relayer**](/implementation/relayer-node.md)**:** An intermediate actor between users and the Pool. The Relayer receives user transactions, calculates zkSNARKs, and sends transactions to the Pool in a serial manner. While users can send transactions directly to the Pool, the collision probability increases (and user transactions can be reverted due to incorrect rollup state), so it makes sense to send to the Relayer.
* [**Operator Manager**](/implementation/contracts-and-circuits/operator-manager-contract.md)**:** The contract which manages access to the Pool. It can be used to activate a single relayer for a defined period of time or provide unlimited access to the Pool. It also checks that the fee receiver and relayer are separate entities.
* [**Application**](/zkbob-app/zkbob-app.md): The solution front-end and UI. All transactions are initiated here. The application synchronises a user account with the rollup, and helps to create transactions.


---

# 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.zkbob.com/implementation/high-level-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.
