> 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/de/referenz/contract-addresses.md).

# Vertragsadressen

Precompiles, Programm-IDs und pro Chain bereitgestellte Contract-Adressen.

Precompile-Adressen sind fest in das Rome-EVM-Programm eingebaut und auf jeder Chain identisch. Pro-Chain bereitgestellte Verträge sind **kanonisch in der** [**Rome-Register**](https://github.com/rome-protocol/rome-registry/tree/main/chains). Die Hadrian-Tabelle unten listet die Hauptverträge auf, die die Registry (Release v0.2.0) als `live`; die Registry ist die einzige Quelle der Wahrheit, und ein Vertrag kann nach dem Verfassen dieser Seite neu bereitgestellt werden. Siehe [Die Vertragsliste lesen](#reading-the-contracts-list) für die Auswahl der Live-Adresse im Code.

## Precompiles (alle Chains)

Standard-Ethereum-Precompiles, mit mainnetäquivalenter Semantik:

| Precompile           | Adresse                                      |
| -------------------- | -------------------------------------------- |
| ecrecover            | `0x0000000000000000000000000000000000000001` |
| SHA-256              | `0x0000000000000000000000000000000000000002` |
| RIPEMD-160           | `0x0000000000000000000000000000000000000003` |
| Identität            | `0x0000000000000000000000000000000000000004` |
| modexp               | `0x0000000000000000000000000000000000000005` |
| BN254-Addition       | `0x0000000000000000000000000000000000000006` |
| BN254-Multiplikation | `0x0000000000000000000000000000000000000007` |
| BN254-Pairing        | `0x0000000000000000000000000000000000000008` |
| blake2f              | `0x0000000000000000000000000000000000000009` |

Rome-Non-EVM-Precompiles, für den Zugriff auf Solana (Schnittstellen in [`rome-solidity/contracts/interface.sol`](https://github.com/rome-protocol/rome-solidity/blob/master/contracts/interface.sol)):

| Precompile     | Adresse                                      | Schnittstelle             | Zweck                                              |
| -------------- | -------------------------------------------- | ------------------------- | -------------------------------------------------- |
| System         | `0xFF00000000000000000000000000000000000007` | `ISystemProgram`          | PDA-Ableitung, Base58-Konvertierung                |
| CpiProgram     | `0xFF00000000000000000000000000000000000008` | `ICrossProgramInvocation` | Beliebige CPI + zustandsübergreifende Lesezugriffe |
| HelperProgram  | `0xFF00000000000000000000000000000000000009` | `IHelperProgram`          | ATA-/PDA-Erstellung, SPL-Transfers, Gas↔Lamports   |
| Abheben        | `0x4200000000000000000000000000000000000016` | `IWithdraw`               | SOL/SPL von der EVM nach Solana abheben            |
| SystemCached   | `0xFF00000000000000000000000000000000000004` | `ISystemCached`           | System-Hilfsfunktionen im Cached-Track             |
| SplCached      | `0xFF00000000000000000000000000000000000005` | `ISplCached`              | SPL-Operationen im Cached-Track                    |
| ASplCached     | `0xFF00000000000000000000000000000000000006` | `IAssociatedSplCached`    | ATA-Operationen im Cached-Track                    |
| WithdrawCached | `0xFF0000000000000000000000000000000000000b` | `IWithdrawCached`         | Abhebung im Cached-Track                           |

Ein Vertrag verwendet einen Track — Legacy (`SplCached` aus) oder cached — konsequent; beide werden innerhalb eines Aufrufs nicht gemischt.

## Program-IDs

rome-evm-Programme (das Solana-Programm, das die EVM ausführt), je nach Rome-Netzwerk:

| Netzwerk          | Program-ID                                    |
| ----------------- | --------------------------------------------- |
| Hadrian (Testnet) | `RPTWwELXAY4KC9ZPHhaxp7Sq1hHtU3HNEgLbSegCcWf` |
| Rubicon (Mainnet) | `RomePq9X3iAoTr813HR7uRarafFDUJty6GdiEceYpzX` |

Bekannte Solana-Programme (genauso wie überall auf Solana):

| Programm                 | ID                                             |
| ------------------------ | ---------------------------------------------- |
| SPL Token                | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA`  |
| SPL Token-2022           | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`  |
| Associated Token         | `ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL` |
| Systemprogramm           | `11111111111111111111111111111111`             |
| Metaplex Token-Metadaten | `metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s`  |

## Rome ZK EVM im Solana-Devnet

Diese v0.3.0-Programme werden von betreibergeführten ZK-EVM-Chains im Solana-Devnet gemeinsam genutzt. Die [mit Tags versehene Programmliste](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/deploy/rollup/programs.devnet.json) ist die Quelle für diese IDs.

| Programm      | ID                                             |
| ------------- | ---------------------------------------------- |
| zk-inbox      | `28948c2Qt1QtG2XJA823ytzCfj7U5cNNm3FuM2KoXsAa` |
| zk-settlement | `8anSjJZu5vgfNbESPLoKudVBNEraDZASwKJnkDLTCaGo` |
| veritas       | `2cLGd9FKC7TiZrEHCvpw291AwXNcGgP9nDT4W3PHLe5k` |
| zk-bridge     | `27TbMDUyVynpFpqeKygpUMcDzWKHfW4k9aRN5yCysLEQ` |

Node-Image: `ghcr.io/rome-protocol/rome-zk-evm:v0.3.0`.

## Bereitgestellte Verträge — Hadrian (Testnet, 200010)

Hauptverträge, übernommen aus den `live` Einträgen der [Registry](https://github.com/rome-protocol/rome-registry/tree/main/chains/200010-hadrian) (v0.2.0). Das vollständige Set (SPL-Wrapper, Uniswap V2/V3/V4, Aave, Oracle-Feeds) befindet sich in der Registry.

| Vertrag              | Adresse                                      |
| -------------------- | -------------------------------------------- |
| ERC20SPLFactory      | `0x37c13e4ff21fb914eb24014dcbd0f8dbeaa31078` |
| Multicall3           | `0xb7180d3c46632b582b99d9af3daae394fab9ae4c` |
| OracleAdapterFactory | `0x52b008771fc95b4674a4f3533570b3d223f27f68` |
| BatchReader          | `0x2869f0a96572e7fb15036656e9a32fd17346499b` |
| RomeBridgeWithdraw   | `0x6eeacb4e6006b7a29c8141f69b6c75346dedec73` |
| MeteoraDAMMv1Factory | `0xd68b355f62643de0ec40243cba8f699f959ea3c4` |
| UniswapV3Factory     | `0xD9E323088561D40267767b52252595ea9cF1D5bD` |
| UniswapV4PoolManager | `0x8a281Be9B5173B2F52328437eAa0d272791707f7` |

## Bereitgestellte Verträge — Rubicon (Mainnet, 7531)

Hauptverträge (die öffentliche Registry veröffentlicht heute den Hadrian-Satz; der Rubicon-Satz ist hier aufgeführt). Wrapper: `wUSDC` `0x0952d233b0c254cd375f3bfb3e5869c1a906f9b3`, `wETH` `0x01e8b3573da1d4b7b4b1ce0932cf07c8af0c92e9`, `wSOL` `0xc4e29e0f726a906e93277cbbc37bf27a9848a113`.

| Vertrag                         | Adresse                                      |
| ------------------------------- | -------------------------------------------- |
| ERC20SPLFactory                 | `0x4068aa7482dc15e9f78e22fbe0f884531c83ae6e` |
| Multicall3                      | `0xd6e0b13ea70aea0d44db083544f01d8b7693a759` |
| OracleAdapterFactory            | `0x6a1340dd86c3951b6f13d9001b3951d56a2fe581` |
| BatchReader                     | `0x580dc0ecb226530ee8a90b57e0f0cd2555fb4f0f` |
| RomeBridgeWithdraw              | `0xceea191761cdba2fc589996d7dd096e57db29c84` |
| WETH9                           | `0x8dc8bf908efa4511f71a9e2ed95f46a70507f1ae` |
| UniswapV2Factory                | `0x23af4d2065d24b42a1a17f22b963c9216d0a1dc2` |
| UniswapV2Router                 | `0x445d7af7888db44a4904b63336cc43446dfb37f7` |
| UniswapV3Factory                | `0x02aed7762fdc8bae826e7ee0ac2d2e1f754ba025` |
| SwapRouter (V3)                 | `0x680b7645c63421e33584a02aca91be6642d3d034` |
| NonfungiblePositionManager (V3) | `0xfb132adf6b7d811408f3639e91c8f638bddd6123` |
| QuoterV2 (V3)                   | `0x1d68d09dcc3a8c1b9aa8f0e2b138205c04bad4a7` |

## Die Vertragsliste lesen

Jeder Chain-Ordner in der Registry hat eine `contracts.json`. Es ist eine Liste von Verträgen. Jeder Eintrag hat einen `Namen` und einem `versions[]` Liste, und jede Version hat eine `Adresse`, eine `Version` und einem `Status` von `live`, `veraltet` oder `außer Betrieb`. Ein erneut bereitgestellter Vertrag behält seine alten Versionen in der Liste, daher ist das erste oder letzte Element nicht unbedingt das richtige. Wähle die Version, deren `Status` ist `"live"`. Einige Einträge (Hadrians Aave-Verträge) haben mehr als eine Live-Version, also filtere nach `Status` und wähle bewusst aus, statt den ersten Treffer zu nehmen.

```ts
import { getContracts } from "@rome-protocol/registry";
const factory = getContracts(200010).find((c) => c.name === "ERC20SPLFactory");
const address = factory.versions.find((v) => v.status === "live").address;
```

`getContracts(chainId)` gibt die Liste für diese Chain zurück, oder `null` wenn die Chain nicht veröffentlicht ist. Einige Einträge haben überhaupt keine Live-Version (Hadrians `RomeswapMinimalRouter` ist eine davon), also prüfe, dass der `find` etwas gefunden hat, bevor du `.address`. Das Registry-Paket wird von GitHub installiert, nicht von npm: `npm install github:rome-protocol/rome-registry#v0.2.0`.

## Umgebungen

| Umgebung          | Chain-ID | RPC                                | Status |
| ----------------- | -------- | ---------------------------------- | ------ |
| Rubicon (Mainnet) | `7531`   | `rubicon.mainnet.romeprotocol.xyz` | Live   |
| Hadrian (Testnet) | `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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/de/referenz/contract-addresses.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
