# Conceptual Architecture

## Design Principles

### Core Concepts&#x20;

1. No SPOF (single points of failure)
   * No centralized servers
   * No centralized data stores
   * No centralized routers or relays
2. Single software solution / code base
   * Provider Node = User Node
   * Any user can be a provider
   * Any provider can be a user
3. Minimal on-chain transactions
   * Reads are cheap
   * Writes are very expensive
4. Agnostic as possible
   * Multiple Blockchains (EVM)
   * Model type agnostic

### Privacy & Security&#x20;

1. Prompt / Inference
   * Prompts & inference are as private as possible.
   * No prompt or inference data is written to the blockchain.
2. Node Locations
   * Providers will need to register their\
     IP or Url on chain.
   * Users nodes will only be visible to providers during sessions
   * Proxy, load balancer, VPN, or other obfuscation method recommended

### Design Pattern

<figure><img src="/files/DFmF22qRyE1v3w6idwhD" alt=""><figcaption><p>Overall Conversation Flow </p></figcaption></figure>

### Data Routing Pattern

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

<figure><img src="/files/0ID5Zeh5l6U6Ree1apHB" alt=""><figcaption></figcaption></figure>

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


---

# 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://gitbook.mor.lumerin.io/conceptual-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.
