# Introduction

This document provides a detailed explanation of the Radius shared sequencing layer, focusing on the roles of entities involved in processing transactions. The explanation is structured into sections detailing the entities involved and their interactions.

Let’s start starting with an overview of the transaction flow.

#### **User:**

1. Generates an encryption key through a time-lock puzzle and encrypts the transaction symmetrically.
2. Sends the encrypted transaction, along with the time-lock puzzle and a zero-knowledge proof (zk-proof), to the sequencer. The zk-proof ensures that the sequencer can derive the decryption key by solving the time-lock puzzle, enabling the decryption of the transaction.

#### **Sequencing Layer:**

1. Validates the zk-proof to confirm the transaction's validity.
2. Orders transactions. Transactions remain encrypted at this stage, pending decryption key access through the time-lock puzzle solution.
3. Issues an order-commitment (pre-confirmation) to the user.
4. After obtaining the decryption key by solving the time-lock puzzle, decrypts the transactions and collects them into a block according to protocol.
5. Transmits the block to the rollup operator.

#### **Rollup Operator:**

1. Acquires the block from the sequencer.
2. Executes the transactions in the specified order.
3. Based on the rollup model, either submits the updated state and state proof or a list of transactions to the settlement layer.

#### **Settlement Layer:**

1. Reviews the submitted state and state proof from the rollup, validating the proof to confirm the state.

This explanation breaks down the complex transaction process into understandable parts, showing how each component contributes to the system's overall function.


---

# 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.theradius.xyz/testnet/portico-testnet/introduction.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.
