> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chaintable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture

## Overall approach

<div className="architecture-lead">
  <p>Chaintable first builds an offchain runtime matching onchain state and execution semantics, then addresses large-scale processing, consistency constraints, and low-latency online services on that foundation.</p>
</div>

## Design principles

### Row-level computations within a task are independent

Rows within a task compute independently of each other’s execution order or intermediate results. They can share ready state but cannot affect each other through mutable state. This lets the engine fully parallelize execution for greater efficiency without changing results.

### Computations across tasks are independent

Once upstream dependencies are ready, tasks for the same target table compute independently from their required world state, excluding the target table itself. With upstream data and business logic fixed, tasks depend on neither the target’s existing results nor its processing progress. Execution order, parallelism, and backfill strategy should not change final results.

### The compute engine itself remains stateless

Client logic in Notebooks manages orchestration; BlockDB maintains data state. The engine focuses on high-performance task execution, leaving state management to those components.

### Only block-driven computation is supported

Platform pipelines use block-ready events from Block Tables—both Event and State tables. Individual row changes in arbitrary tables cannot trigger computation independently.

### Functions are first-class citizens

Functions are independent platform modules expressing the smallest units of business logic. Their definitions and identities stand alone; they interact with execution, orchestration, or service modules only in specific runtime scenarios.

Functions drive developer productivity and computational efficiency. Chaintable streamlines writing, debugging, composing, and reusing Functions, and optimizes execution and state access—making the same business logic more efficient to develop, run, and use.

### A table’s computation logic is reusable

A table’s computation logic—input tables, upstream dependencies, business Functions, and output definitions—serves both historical backfills and real-time computation. Different execution granularities and scheduling strategies support large-scale processing and low-latency updates without changing computation semantics.
