> 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/id/referensi/contract-addresses.md).

# Alamat Kontrak

Alamat precompile dibangun ke dalam program Rome EVM dan identik di setiap chain. Kontrak yang diterapkan per-chain adalah **kanonik di** [**registry Rome**](https://github.com/rome-protocol/rome-registry/tree/main/chains) — tabel di bawah mencantumkan kontrak utama sebagai referensi; selalu verifikasi alamat saat ini terhadap registry, yang merupakan satu-satunya sumber kebenaran.

## Precompile (semua chain)

Precompile Ethereum standar, dengan semantik yang setara dengan mainnet:

| Precompile    | Alamat                                       |
| ------------- | -------------------------------------------- |
| ecrecover     | `0x0000000000000000000000000000000000000001` |
| SHA-256       | `0x0000000000000000000000000000000000000002` |
| RIPEMD-160    | `0x0000000000000000000000000000000000000003` |
| identity      | `0x0000000000000000000000000000000000000004` |
| modexp        | `0x0000000000000000000000000000000000000005` |
| BN254 add     | `0x0000000000000000000000000000000000000006` |
| BN254 mul     | `0x0000000000000000000000000000000000000007` |
| BN254 pairing | `0x0000000000000000000000000000000000000008` |
| blake2f       | `0x0000000000000000000000000000000000000009` |

Precompile Rome non-EVM, untuk menjangkau Solana (antarmuka di [`rome-solidity/contracts/interface.sol`](https://github.com/rome-protocol/rome-solidity/blob/master/contracts/interface.sol)):

| Precompile     | Alamat                                       | Antarmuka                 | Tujuan                                        |
| -------------- | -------------------------------------------- | ------------------------- | --------------------------------------------- |
| System         | `0xFF00000000000000000000000000000000000007` | `ISystemProgram`          | Derivasi PDA, konversi base58                 |
| CpiProgram     | `0xFF00000000000000000000000000000000000008` | `ICrossProgramInvocation` | CPI arbitrer + pembacaan lintas-state         |
| HelperProgram  | `0xFF00000000000000000000000000000000000009` | `IHelperProgram`          | Pembuatan ATA/PDA, transfer SPL, gas↔lamports |
| Withdraw       | `0x4200000000000000000000000000000000000016` | `IWithdraw`               | Tarik SOL/SPL dari EVM ke Solana              |
| SystemCached   | `0xFF00000000000000000000000000000000000004` | `ISystemCached`           | Helper System jalur cached                    |
| SplCached      | `0xFF00000000000000000000000000000000000005` | `ISplCached`              | Operasi SPL jalur cached                      |
| ASplCached     | `0xFF00000000000000000000000000000000000006` | `IAssociatedSplCached`    | Operasi ATA jalur cached                      |
| WithdrawCached | `0xFF0000000000000000000000000000000000000b` | `IWithdrawCached`         | Penarikan jalur cached                        |

Sebuah kontrak menggunakan satu jalur — legacy (`SplCached` nonaktif) atau cached — secara konsisten; keduanya tidak dicampur dalam satu pemanggilan.

## ID Program

program rome-evm (program Solana yang menjalankan EVM), per jaringan Rome:

| Jaringan                      | ID Program                                    |
| ----------------------------- | --------------------------------------------- |
| devnet (menjalankan Hadrian)  | `RPTWwELXAY4KC9ZPHhaxp7Sq1hHtU3HNEgLbSegCcWf` |
| testnet (menjalankan Martius) | `RomeTaTNPJNBxtB3Wong9geVTtkEFJfUqgktQVq3iSX` |
| mainnet                       | `RomePq9X3iAoTr813HR7uRarafFDUJty6GdiEceYpzX` |

Program Solana yang dikenal luas (sama seperti di mana pun di Solana):

| Program                 | ID                                             |
| ----------------------- | ---------------------------------------------- |
| SPL Token               | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA`  |
| SPL Token-2022          | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`  |
| Associated Token        | `ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL` |
| System Program          | `11111111111111111111111111111111`             |
| Metaplex Token Metadata | `metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s`  |

## Kontrak yang diterapkan — Hadrian (devnet, 200010)

Kontrak utama; set lengkap (wrapper SPL, Uniswap V2/V3/V4, Aave, feed oracle) di [registry](https://github.com/rome-protocol/rome-registry/tree/main/chains/200010-hadrian).

| Kontrak              | Alamat                                       |
| -------------------- | -------------------------------------------- |
| ERC20SPLFactory      | `0x86149124d74ebb3aa41a19641b700e88202b6285` |
| Multicall3           | `0xb7180d3c46632b582b99d9af3daae394fab9ae4c` |
| OracleAdapterFactory | `0xe68e7bc697010c73f1798b356f8ae2f0ba1319db` |
| BatchReader          | `0x306d670dff7f51ae33f263f5122bd2b18d98adc7` |
| RomeBridgeWithdraw   | `0x65fc94ba1045b65889f0b27d3d02e5bfbc2aee03` |
| MeteoraDAMMv1Factory | `0xd68b355f62643de0ec40243cba8f699f959ea3c4` |
| UniswapV3Factory     | `0xD9E323088561D40267767b52252595ea9cF1D5bD` |
| UniswapV4PoolManager | `0x8a281Be9B5173B2F52328437eAa0d272791707f7` |

## Kontrak yang diterapkan — Martius (testnet, 121214)

Kontrak utama; set lengkap di [registry](https://github.com/rome-protocol/rome-registry/tree/main/chains/121214-martius).

| Kontrak                      | Alamat                                       |
| ---------------------------- | -------------------------------------------- |
| ERC20SPLFactory              | `0xd7aeeedca26cdd4d34eb7c21110af2e590a8c58a` |
| Multicall3                   | `0x549afb8019a29ece3ba3b3d9c13208c441a309ea` |
| OracleAdapterFactory         | `0xbc06fe9603a02ff4aead265c253f5c6303ee5fbb` |
| BatchReader                  | `0xc5e6d932bfd2b4da27643848063905f46861fae8` |
| RomeBridgeWithdraw           | `0x60e2b02c454be429b0047a237a57d21a68afb560` |
| MeteoraDAMMv1Factory         | `0xdfe655f64325f93abef8b429387928ef16ba4c5d` |
| UniswapV3Factory             | `0x7fbe0271395c57c12761a3d6db80ef1c315c63f8` |
| SPL\_ERC20\_USDC (token gas) | `0x2fffdfa11a9cef9210dc34e975649f09119c4efb` |

## Lingkungan

| Lingkungan        | ID Chain | RPC                                | Status |
| ----------------- | -------- | ---------------------------------- | ------ |
| Lokal             | `1001`   | `localhost:9090`                   | Dev    |
| Martius (testnet) | `121214` | `martius.testnet.romeprotocol.xyz` | Live   |
| Hadrian (devnet)  | `200010` | `hadrian.testnet.romeprotocol.xyz` | Live   |


---

# 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/id/referensi/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.
