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

# Deployment

Where the contracts live, how a deployment gets verified, and where addresses are published.

{% hint style="warning" %}
Icaria contract addresses appear in three places and nowhere else: `contracts/deployments/4663.json` in the open-source repository, the registry this page links to, and [useicaria.xyz](https://useicaria.xyz). Any address circulating anywhere else should be assumed hostile. Check before approving anything.
{% endhint %}

## Deployments

| Network                 | Chain ID                            | Status                                             |
| ----------------------- | ----------------------------------- | -------------------------------------------------- |
| Robinhood Chain mainnet | 4663                                | Production                                         |
| Robinhood Chain testnet | Address published in the repository | Permanent staging, where every release lands first |

Mainnet parameters are mirrored on testnet, which runs against Robinhood's testnet Stock Tokens and faucet assets, letting integrators walk the entire path (attestation, quote, swap, withdrawal) without putting anything at risk.

## The deployment record

`contracts/deployments/4663.json` holds, for each contract, its address, source commit, compiler settings, constructor arguments and deployment transaction. Blockscout verification covers every contract, and a CI job on each release asserts that on-chain bytecode matches the tagged source. "The audited code is the deployed code" therefore becomes something anyone can check instead of something we ask you to believe.

## Release process

1. Tag the release, audit or review the delta, and publish the source.
2. Deploy to testnet, then run the invariant suite and a scripted end-to-end pass against the live testnet oracles.
3. Deploy to mainnet through `CREATE2`, keeping addresses consistent between environments.
4. Set parameters via the timelock rather than in constructors, so the governance log is complete from the very first block.
5. Update the deployment record, refresh the verification, then announce.

Given that logic is immutable, a release after launch means one of two things: a new market out of the factory, which is parameters only and no new code, or a new protocol version deployed alongside the old one, with LPs migrating on their own schedule, as [Smart contracts](/architecture/smart-contracts.md) explains. Nobody ever switches an old version off remotely, because there is no switch to reach.

## Configuration authenticity

Addresses, the market list, tiers and oracle adapters are all readable on-chain from `ParamController` and the factory, which is where a client gets them. Nothing about the market list is baked into the SDK; it reads the chain instead, so a client configuration that is stale or tampered with cannot point users at the wrong markets without tripping the signature and address checks.


---

# 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.useicaria.xyz/architecture/deployment.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.
