# Architecture

Silius is made up of three components:

* uopool - implementation of user operation mempool
* bundler/bundling - component that puts user operations into bundles
* RPC - implementation of RPC methods as defined in the [**specs**](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace)

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

One of the goals of Silius is to provide modular architecture, making it possible to run only one or more components. This means you can run only user operation mempool or bundling components. If you're wondering why this is even necessary, here are some examples:

* user operation mempool - you can run only uopool component connected to the P2P network and index user operations (no bundling and RPC needed)
* one user operation mempool and multiple bundling components - you can run a single instance of user operation mempool with multiple bundling components, each following a different bundling strategy (maybe one is focused on canonical mempool and others on alt mempools)
* all components - but you can put RPC on some cloud provider (to handle a lot of traffic), while keeping user operation mempool and bundling component on your server

More information about the architecture can be found [**here**](https://hackmd.io/@Vid201/aa-bundler-rust).

<figure><img src="/files/0Lp37Lplnsz85pwvj30c" alt="" width="375"><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://silius.gitbook.io/silius/overview/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.
