> For the complete documentation index, see [llms.txt](https://docs.escher.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.escher.finance/architecture/nomos-ica-controller-stack.md).

# Nomos - ICA controller stack

In our framework, connecting with different chains is facilitated through our gateway, the **ICA Controller Stack**. The ICA Controller is a Solidity contract (with a CosmWasm version available) that establishes a channel to create an ICA on the host chain. The unique value of the ICA is that it acts as a personal, fully secure channel that can only send messages to the account.

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

**Architecture Overview:**

1. **ICA Controller Factory**:
   * Responsible for creating the ICA Controller and moving it to the handler.
2. **ICA Handler**:
   * Holds the ICA until the user claims it, ensuring a seamless onboarding process.
3. **ICA Controller**:
   * This is the smart contract that controls your ICA. It is a fully transferable address, meaning you can sell it or transfer ownership.
   * The ICA Controller includes functions to encode and decode messages, maximizing optimization.
   * The channel is established using the Union Voyager solution, while assets are moved directly from the user’s wallet through the USC01 relayer.

#### **Key Features:**

* **Personalized Channel**: Each ICA is a unique, secure channel linked to the user, capable of sending messages only to the designated account.
* **Transferable Ownership**: The ICA Controller can be transferred or sold, offering flexibility in ownership management.
* **Optimized Communication**: The controller’s functions are designed to efficiently encode and decode messages, enhancing performance and reducing costs.
* **Seamless Asset Movement**: Assets are moved directly from the user’s wallet via the USC01 relayer, providing a straightforward and secure way to interact with the ICA.

This architecture ensures maximum security and flexibility, enabling users to interact with various chains through a robust and optimized gateway. you can read more on [Nomos Docs](https://nomos-ms.gitbook.io/nomos/architecture/core-idea-behind-nomos/ica-and-smart-accounts)


---

# 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://docs.escher.finance/architecture/nomos-ica-controller-stack.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.
