> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/zh/can-kao-wen-dang/contract-addresses.md).

# 合约地址

预编译地址内置于 Rome EVM 程序中，并且在每条链上都相同。各链部署的合约是 **在……中为规范版本** [**Rome 注册表**](https://github.com/rome-protocol/rome-registry/tree/main/chains) ——下表列出主要合约供参考；请始终根据注册表核对当前地址，注册表是唯一可信来源。

## 预编译合约（所有链）

标准以太坊预编译合约，语义与主网一致：

| 预编译合约      | 地址                                           |
| ---------- | -------------------------------------------- |
| ecrecover  | `0x0000000000000000000000000000000000000001` |
| SHA-256    | `0x0000000000000000000000000000000000000002` |
| RIPEMD-160 | `0x0000000000000000000000000000000000000003` |
| 恒等         | `0x0000000000000000000000000000000000000004` |
| modexp     | `0x0000000000000000000000000000000000000005` |
| BN254 加法   | `0x0000000000000000000000000000000000000006` |
| BN254 乘法   | `0x0000000000000000000000000000000000000007` |
| BN254 配对   | `0x0000000000000000000000000000000000000008` |
| blake2f    | `0x0000000000000000000000000000000000000009` |

Rome 的非 EVM 预编译，用于访问 Solana（接口位于 [`rome-solidity/contracts/interface.sol`](https://github.com/rome-protocol/rome-solidity/blob/master/contracts/interface.sol)):

| 预编译合约          | 地址                                           | 接口                        | 用途                             |
| -------------- | -------------------------------------------- | ------------------------- | ------------------------------ |
| System         | `0xFF00000000000000000000000000000000000007` | `ISystemProgram`          | PDA 派生、base58 转换               |
| CpiProgram     | `0xFF00000000000000000000000000000000000008` | `ICrossProgramInvocation` | 任意 CPI + 跨状态读取                 |
| HelperProgram  | `0xFF00000000000000000000000000000000000009` | `IHelperProgram`          | ATA/PDA 创建、SPL 转账、gas↔lamports |
| Withdraw       | `0x4200000000000000000000000000000000000016` | `IWithdraw`               | 将 SOL/SPL 从 EVM 提取到 Solana     |
| SystemCached   | `0xFF00000000000000000000000000000000000004` | `ISystemCached`           | 缓存通道的 System 辅助函数              |
| SplCached      | `0xFF00000000000000000000000000000000000005` | `ISplCached`              | 缓存通道的 SPL 操作                   |
| ASplCached     | `0xFF00000000000000000000000000000000000006` | `IAssociatedSplCached`    | 缓存通道的 ATA 操作                   |
| WithdrawCached | `0xFF0000000000000000000000000000000000000b` | `IWithdrawCached`         | 缓存通道提取                         |

一个合约只使用一种通道——传统（`SplCached` 关闭）或缓存——并保持一致；二者不会在一次调用中混用。

## 程序 ID

Rome 网络中的 rome-evm 程序（运行 EVM 的 Solana 程序）：

| 网络                  | 程序 ID                                         |
| ------------------- | --------------------------------------------- |
| devnet（托管 Hadrian）  | `RPTWwELXAY4KC9ZPHhaxp7Sq1hHtU3HNEgLbSegCcWf` |
| testnet（托管 Martius） | `RomeTaTNPJNBxtB3Wong9geVTtkEFJfUqgktQVq3iSX` |
| mainnet             | `RomePq9X3iAoTr813HR7uRarafFDUJty6GdiEceYpzX` |

知名的 Solana 程序（与 Solana 上任何地方相同）：

| 程序             | ID                                             |
| -------------- | ---------------------------------------------- |
| SPL 代币         | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA`  |
| SPL Token-2022 | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`  |
| 关联代币           | `ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL` |
| System Program | `11111111111111111111111111111111`             |
| Metaplex 代币元数据 | `metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s`  |

## 已部署合约 — Hadrian（devnet，200010）

主要合约；完整集合（SPL 封装器、Uniswap V2/V3/V4、Aave、预言机数据源）在 [registry](https://github.com/rome-protocol/rome-registry/tree/main/chains/200010-hadrian).

| 合约                   | 地址                                           |
| -------------------- | -------------------------------------------- |
| ERC20SPLFactory      | `0x86149124d74ebb3aa41a19641b700e88202b6285` |
| Multicall3           | `0xb7180d3c46632b582b99d9af3daae394fab9ae4c` |
| OracleAdapterFactory | `0xe68e7bc697010c73f1798b356f8ae2f0ba1319db` |
| BatchReader          | `0x306d670dff7f51ae33f263f5122bd2b18d98adc7` |
| RomeBridgeWithdraw   | `0x65fc94ba1045b65889f0b27d3d02e5bfbc2aee03` |
| MeteoraDAMMv1Factory | `0xd68b355f62643de0ec40243cba8f699f959ea3c4` |
| UniswapV3Factory     | `0xD9E323088561D40267767b52252595ea9cF1D5bD` |
| UniswapV4PoolManager | `0x8a281Be9B5173B2F52328437eAa0d272791707f7` |

## 已部署合约 — Martius（testnet，121214）

主要合约；完整集合在 [registry](https://github.com/rome-protocol/rome-registry/tree/main/chains/121214-martius).

| 合约                       | 地址                                           |
| ------------------------ | -------------------------------------------- |
| ERC20SPLFactory          | `0xd7aeeedca26cdd4d34eb7c21110af2e590a8c58a` |
| Multicall3               | `0x549afb8019a29ece3ba3b3d9c13208c441a309ea` |
| OracleAdapterFactory     | `0xbc06fe9603a02ff4aead265c253f5c6303ee5fbb` |
| BatchReader              | `0xc5e6d932bfd2b4da27643848063905f46861fae8` |
| RomeBridgeWithdraw       | `0x60e2b02c454be429b0047a237a57d21a68afb560` |
| MeteoraDAMMv1Factory     | `0xdfe655f64325f93abef8b429387928ef16ba4c5d` |
| UniswapV3Factory         | `0x7fbe0271395c57c12761a3d6db80ef1c315c63f8` |
| SPL\_ERC20\_USDC（Gas 代币） | `0x2fffdfa11a9cef9210dc34e975649f09119c4efb` |

## 环境

| 环境           | 链 ID     | RPC                                | 状态 |
| ------------ | -------- | ---------------------------------- | -- |
| 本地           | `1001`   | `localhost:9090`                   | 开发 |
| Martius（测试网） | `121214` | `martius.testnet.romeprotocol.xyz` | 正式 |
| Hadrian（开发网） | `200010` | `hadrian.testnet.romeprotocol.xyz` | 正式 |


---

# 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.rome.builders/zh/can-kao-wen-dang/contract-addresses.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.
