# Transaction Processing

The goal of Yamata's order processing system is to combine the speed of a off-chain order processing system with the transparency of a decentralized blockchain system.

By using a fast off-chain path (Submission A) for quick order execution and an on-chain path (Submission B) for secure validation, Yamata achieves both speed and transparency.

The off-chain path handles orders instantly, while the on-chain path ensures all transactions are publicly verifiable.

<figure><img src="/files/m57I9CqcCvv8D7mLnWBb" alt=""><figcaption><p>Transaction Processing Flow</p></figcaption></figure>

1. [**Order Placement**](/yamata-nodes/transaction-processing/order-submission-process.md) **-** The user clicks "Buy" or "Sell," initiating the order processing.
2. [**Order Submission**](/yamata-nodes/transaction-processing/order-submission-process.md) **-** The order is quickly sent to an off-chain system (Submission A) for immediate processing, simultaneously the order is sent to decentralized storage (Submission B), where it is instantly recorded on-chain for transparency.
3. [**Sequencer Processing (Submission A)**](/yamata-nodes/transaction-processing/order-submission-process.md) **-** The off-chain transactions are organized in the correct order and grouped into batches that are then secured with a Merkle Tree, ensuring they are tamper-proof.
4. [**Posting on the Blockchain**](/yamata-nodes/transaction-processing/order-submission-process.md) **-** Once processed, off-chain transactions are grouped into time intervals (epochs) and posted on the blockchain, while on-chain transactions are already posted directly on the Blockchain.
5. [**Validating Nodes (VNs)**](/yamata-nodes/transaction-processing/order-submission-process.md) - ensure that both off-chain and on-chain transactions are accurate, ordered correctly, and aligned.


---

# 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.yamata.io/yamata-nodes/transaction-processing.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.
