# Overview

Hydra Hub is a technological solution designed to connect clients (Consumer Clients) with Hydra Nodes through a proxy (HydraHUB) provided by various Providers.

Developers requiring Hydra Nodes to deploy applications can simply register as Consumer Clients and utilize Hydra services from Providers in a straightforward and rapid manner. This approach offers significantly lower costs compared to self-hosting, while eliminating the challenges associated with:

1. Complex synchronization with Cardano Nodes.
2. Manual key management and security.
3. Monitoring and error handling.
4. Managing unstable communication between Hydra Nodes.

<figure><img src="/files/eRmtXqWzGGcqff7voEKo" alt=""><figcaption></figcaption></figure>

**Figure 01**: Diagram illustrating the deployment architecture of the Hydra HUB system, a solution for connecting clients (Consumer Clients) with Hydra Nodes via a proxy.

**Description**:

1. **Consumer Client**:
   * **DApps (UI)**: Decentralized applications (DApps) utilized by Consumers.
   * Communicates with the Hydra HUB Service via WebSocket (WS) or HTTP using an API key.
   * Example: Sending a GET request to <https://api-key-cb3ec.hydranode.io/commits>.
2. **Hydra HUB**:
   * **Hydra HUB Service**: Central service managing:
     1. **API Keys Manager**: Manages API keys.
     2. **Consumer Portal (UI)**: User interface for managing client information.
     3. **Provider Info**: Information about Providers.
     4. **Proxy Mappers**: Maps requests to Hydra Nodes.
   * **Hydra Node Proxy**: Intermediate proxy facilitating communication with Hydra Nodes via WS/HTTP.
   * Communicates with Consumer Clients using [Socket.io](http://socket.io/) or HTTP.
3. **Providers**:
   * **Provider 1 (123.2.12.3)** and **Provider 2 (345.2.12.3)**: Clusters of servers or service providers.
   * Each Provider includes:
     1. **Hexcore Dashboard UI**: Administrative interface.
     2. **Cardano Node**: A node of the Cardano blockchain.
     3. **Hydra Nodes**: Individual Hydra Nodes (e.g., 10001, 10002), which may run on Docker or Kubernetes (K8s).
   * Communicates with Hydra HUB via WS/HTTP.
4. **Hydra Nodes**:
   * Sub-nodes (e.g., 10001, 10002) that process requests from the Hydra HUB Proxy.
   * Can operate on Docker or Kubernetes, handling blockchain-related tasks (Cardano).
5. **Communication Flow**:
   * Consumer Client sends a request to the Hydra HUB Service (via API key).
   * Hydra HUB Service forwards the request through the Proxy to Hydra Nodes.
   * Hydra Nodes process the request and return results via the Proxy.

<figure><img src="/files/cyhUqKeBv29cH70sKCkp" alt=""><figcaption></figcaption></figure>

**Figure 02**: Sequence diagram illustrating the interaction between the Client, Hydra Hub, and Hydra Node.


---

# 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.hydrawallet.app/hydra-hub/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.
