# Continuum Overview

The architecture of the Continuum blockchain is focused on optimizing market microstructure for onchain orderbooks. With this goal in mind, we've rewritten various parts of the stack.

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

### Performance Optimization

It is critical that Continuum Chain be able to handle the maximum amount of transactions that a single threaded system would allow. In attempting to approach this theoretical limit, we've extensively optimized various parts of the blockchain stack, from ordering to execution to consensus. Very importantly, we've moved consensus out of the hot path for sequencing finality - this is the big change that allows ordering finality to reduce from 100-400 ms down to 1-2 ms for the first time.

### Transaction Flow

{% stepper %}
{% step %}

#### Order Submitted to Sequencer

Order may be unencrypted or timelock encrypted; submitted to Sequencer, which produces an instant signed reciept including the exact "Tick" at which the transaction was included (90 microseconds granular). Inclusion and ordering is **Final** at this time.&#x20;
{% endstep %}

{% step %}

#### Orders consumed by execution layer

The "leader" is just another full node that executes the state transition function upon the ordered list of transactions produced by the Sequencer. Since ordering and inclusion is already final, execution is **purely deterministic** - there is no leader privledge or discretion like other blockchains.
{% endstep %}

{% step %}

#### contBFT voting

Once the "leader" produces a finalized block, all validators vote on the correctness of the execution of the STF given the ordered tx. list from (1). This step is important for **economic finality**, but effective finality is reached right after (1). Crucially, there are no fork choice rules needed, as the execution layer can only produce ONE valid block from an ordered list of transactions.
{% endstep %}
{% endstepper %}


---

# 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-v2.fermilabs.xyz/architecture/editor.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.
