# Node Architecture

Circular’s node architecture is designed to be simple and efficient. Each node implements the core functions required to receive network messages, validate and execute transactions, create blocks, and persist state. Figure 6 illustrates the internal structure of a Circular node.

<figure><img src="/files/jUOwlbDQdzfK3Uv1Y5gx" alt=""><figcaption><p>Figure 7 - Circular Node Architecture</p></figcaption></figure>

### Web Server

At the entry point of the node is the Web Server (WS), which enables communication with peers using a TCP/IP based protocol. Node-to-node communications are authenticated using digital signatures so that messages can be attributed to an identifiable node key.

### Transaction Managr

Transactions are handled by the Transaction Manager (TM), which parses incoming transactions and routes them to the appropriate chain instance and, where applicable, smart contract execution. Valid transactions are added to a pending transaction pool for the relevant chain instance, together with the configuration parameters for that chain.

### Miner Scheduler

The Miner Scheduler (MS) monitors pending transactions across chain instances and, when configured conditions are met, prepares a candidate block. The MS requests a new ticket and assembles the block metadata for mining. Block minting is performed by a single node for a given block according to the protocol’s ordering rules and chain parameters, including difficulty and timing settings.

After a block is mined, the consensus mechanism is executed to determine whether the block is accepted and appended to the chain. Nodes also refresh peer and network metadata as required to perform routing, validation, and scheduling duties.

### Disk Manager

Approved blocks are persisted through the Disk Manager, which stores blocks and transactions either as files or in a local SQL database, depending on hardware configuration and operator preferences.

Overall, the node architecture is intended to support scalable processing while maintaining integrity and verifiable message attribution.


---

# 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://circular-protocol.gitbook.io/whitepaper/circular-protocol-architecture/node-architecture.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.
