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

# Deployment

Where the contracts are deployed, how deployments are verified, and how addresses get published.

{% hint style="warning" %}
The only places MirageFi contract addresses are published are `contracts/deployments/4663.json` in the open-source repository, the registry linked from this page, and [miragefi.org](https://miragefi.org). Treat any address circulating elsewhere as hostile. Verify before you approve anything.
{% endhint %}

## Deployments

| Network                 | Chain ID                    | Status                                           |
| ----------------------- | --------------------------- | ------------------------------------------------ |
| Robinhood Chain mainnet | 4663                        | Production                                       |
| Robinhood Chain testnet | Published in the repository | Persistent staging; each release goes here first |

The testnet deployment mirrors mainnet parameters and runs against Robinhood's testnet Stock Tokens and faucet assets, which lets integrators exercise the complete path (attestation, quote, swap, withdrawal) with no value at risk.

## The deployment record

For every contract, `contracts/deployments/4663.json` records the address, source commit, compiler settings, constructor arguments, and the deployment transaction. Every contract is verified on Blockscout, and on each release a CI job asserts that the on-chain bytecode matches the tagged source. That turns "the audited code is the deployed code" into a claim anyone can check rather than a promise.

## Release process

1. Tag, audit or review the delta, and publish the source.
2. Deploy to testnet; run the invariant suite plus a scripted end-to-end pass against the live testnet oracles.
3. Deploy to mainnet using `CREATE2` so addresses stay stable across environments.
4. Set parameters through the timelock (never in constructors, so the governance log is complete from block one).
5. Update the deployment record and the verification, then announce.

Since logic is immutable, a post-launch "release" is one of two things: a new market from the factory (parameters only, no new code), or a new protocol version deployed beside the old one, with LPs migrating when they choose, as [Smart contracts](/architecture/smart-contracts.md) describes. Old versions are never remotely switched off; there is nothing there to switch.

## Configuration authenticity

Everything a client needs (addresses, the market list, tiers, oracle adapters) can be read on-chain from `ParamController` and the factory. The SDK carries no baked-in market list; it reads the chain instead, so a stale or tampered client configuration cannot direct users to the wrong markets without failing 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.miragefi.org/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.
