> For the complete documentation index, see [llms.txt](https://docs.pictor.network/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pictor.network/docs/architecture/architectural-layers.md).

# Architectural Layers

The Architecture of Pictor is a multi-layered, cohesive design that delivers a seamless, secure, and efficient user experience. Each layer within the architecture serves a specific purpose, collaborating to maintain optimal system performance.

<figure><img src="/files/Km77Hix4JUO2KyO2Bq7B" alt="Pictor_Architectural Layers"><figcaption></figcaption></figure>

**User Interface**

The User Interface layer is the visual gateway through which users interact with Pictor. It includes the Pictor Cloud, Pictor Render, Pictor Worker, and Pictor Checker applications, all designed to be intuitive and user-friendly. This layer ensures that users can easily navigate and interact with the system, making it accessible for both technical and non-technical users.

> **Tech Stack:** ReactJS, Tailwind, web3.js, WPF C#.

**Security Layer**

The Security Layer is crucial for maintaining the integrity and safety of Pictor. It incorporates a Firewall to protect the network, an Authentication Service to validate users, and a Logging & Event Service to track and record activities. This multi-faceted approach ensures that all operations are secure and monitored, safeguarding the network from potential threats.

> **Tech Stack:** Firewall (pfSense, iptables), Authentication (OAuth, JWT), Logging Service (ELK Stack, Graylog).

**API Layer**

The API Layer serves as the communication bridge between various components of the Pictor Network. It includes Public APIs for Pictor Cloud and Pictor Explorer, Private APIs for Pictor Render, Pictor Worker, and Pictor Checker, as well as Internal APIs for Management, Analytics, and Monitoring/Reporting. This layer facilitates smooth communication and data exchange across the network.

> **Tech Stack:** RESTful API, FastAPI, GraphQL, Socket IO.

**Backend Layer**

The Backend Layer is the powerhouse of the Pictor. It manages critical operations such as Worker management, Job management, User management, Transaction management, Resource Monitoring, Analytics, On-chain Monitoring, and Fault Monitoring. This layer ensures that all backend processes are handled efficiently and reliably.

> **Tech Stack:** FastAPI, Python, Node.js, Flask, Pandas.

**Database Layer**

The Database Layer acts as the data repository for Pictor. It is divided into Main Storage for structured data and Caching for temporary, frequently accessed data. This dual approach allows for quick access to essential data while maintaining the integrity of stored information.

> **Tech Stack:** Main storage (Microsoft SQL Server, PostgreSQL), Caching (Redis).

**Message Queue**

The Message Queue Layer orchestrates asynchronous communication within the network. It ensures that data flows smoothly, preventing bottlenecks.

> **Tech Stack:** Kafka, RabbitMQ.

**Infrastructure Layer**

The The Infrastructure Layer is the foundation of Pictor. It includes the Worker Pool, Orchestration, and Render Task. The Worker Pool consists of GPUs from Global Workers and our Trusted Partners. Orchestration tools manage deployments, whereas Render Task handles rendering and computing operations.

Also, the Infrastructure Layer provides Data Storage solutions with [Shelby](https://shelby.xyz/) support and monitors GPU performance using NVIDIA-smi or NVIDIA DCGM. The Infrastructure Layer ensures that the Pictor remains robust, scalable, and capable of handling complex rendering tasks.

> **Tech Stack:**
>
> * GPU/CPU Pool.
> * Orchestration: Kubernetes, Prefect, Apache Airflow.
> * Render Tasks: Blender, Cinema 4D, Redshift, OctaneRender, etc.
> * Data Storage: Shelby, Pictor cloud storage.
> * Containerization: Docker.
> * Monitoring: Grafana, Datadog, Prometheus, NVIDIA DCGM.

### Pictor Cloud Architecture

> **Tech Stack**: Vue.js, Tailwind, web3.js.

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

### Pictor Worker Architecture

> **Tech Stack**: WPF, C#, SocketIO, Kafka, REST API.

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

### Worker Mining Controller

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

### Pictor Checker Architecture

> **Tech Stack**: WPF, C#, SocketIO, Kafka, REST API.

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

### AI Core

<figure><img src="/files/9GrbRfX9yB6n7eELLRar" alt=""><figcaption></figcaption></figure>

### Job Manager

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

### Metadata Manager

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

### Worker Manager

<figure><img src="/files/5ght78Y9WmLYWo7w5asE" alt=""><figcaption></figcaption></figure>

### Reward Manager

<figure><img src="/files/5vNwoZW7VRHV6SEMMyUv" alt=""><figcaption></figcaption></figure>

### Transaction Manager

<figure><img src="/files/3WjJe6GQzDheZ8dUCyrb" alt=""><figcaption></figcaption></figure>

### Proof Manager

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

### Pictor Network Architecture Phases

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.pictor.network/docs/architecture/architectural-layers.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.
