> For the complete documentation index, see [llms.txt](https://docs.imperial.trade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.imperial.trade/security/contracts-and-security.md).

# Contracts & Security

### Mainnet programs

| Program                                  | Address                                        |
| ---------------------------------------- | ---------------------------------------------- |
| Imperial (perps engine)                  | `ARmavNtb6xs7SpH3geahw434fwTrVw5BSvJf36CAbWKB` |
| Imperial Passthrough (profiles & orders) | `pASsDHVUtgG5uomQ29SVMv1sQxon4Gi6g5bJV7KKqZ8`  |

Program upgrades are deployed from verifiable builds, so anyone can check that the on-chain program matches the published source.

### Governance

Both programs' upgrade authority and admin are held by a **Squads multisig**, vault `AvnjAe6rFSwwFyhZCVgmsmqkPHLupJqAQnzN3QHad2gs`. Every upgrade or parameter change needs multiple hardware-wallet signatures.

### Safeguards built into the program

* **Your money only goes back to you.** Withdrawals are always paid to your own profile.
* **On-chain slippage limits.** Fills worse than your limit are refused by the program.
* **Bounded parameters.** Fees, leverage and funding have hard maximums in the program code that even the admin can't exceed. For example, the trading fee can never exceed 0.10%, and the funding rate is capped.
* **Slow risk changes.** Portfolio margin values move in limited steps and phase in over 24 hours.
* **Profit verification.** Profits that can't be checked against an independent oracle settle before they can be withdrawn, and platform-wide profit withdrawals are rate-limited. Principal is never held.
* **Pausing.** Guardians can pause new trading in an emergency, and only the multisig can unpause. Closing positions and withdrawing deposits keep working while paused.

### Audits & bug bounty

*\[Add audit reports and bug bounty details here.]*
