> For the complete documentation index, see [llms.txt](https://silius.gitbook.io/silius/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://silius.gitbook.io/silius/overview/architecture.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://silius.gitbook.io/silius/overview/architecture.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
