> ## Documentation Index
> Fetch the complete documentation index at: https://docs.primev.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Mev-commit Mainnet

export const CommitmentHoldingsMultisig = "0xD5881f91270550B8850127f05BD6C8C203B3D33f";

export const PrimevTeamMultisig = "0x9101eda106A443A0fA82375936D0D1680D5a64F5";

export const ValidatorOptInRouterImplementationAddress = "0x585963E61dd3943bAe02F4f2dBaE0f9EDBa842Af";

export const ValidatorOptInRouterProxyAddress = "0x821798d7b9d57dF7Ed7616ef9111A616aB19ed64";

export const MevCommitMiddlewareImplementationAddress = "0x3d9Af87Bc4E20a7a1c7d81208D44432E9b313734";

export const MevCommitMiddlewareProxyAddress = "0x21fD239311B050bbeE7F32850d99ADc224761382";

export const MevCommitAVSImplementationAddress = "0x5A68216faE665dF4650597B7472101Bb1b66C208";

export const MevCommitAVSProxyAddress = "0xBc77233855e3274E1903771675Eb71E602D9DC2e";

export const VanillaRegistryImplementationAddress = "0x59fBE4CC4CA974e98300F41Ac661f7204F0c3fCd";

export const VanillaRegistryProxyAddress = "0x47afdcB2B089C16CEe354811EA1Bbe0DB7c335E9";

export const L1GatewayMainnet1_0_0Implementation = "0xC973D09e51A20C9Ab0214c439e4B34Dbac52AD67";

export const L1GatewayMainnet1_0_0Proxy = "0xDBf24cafF1470a6D08bF2FF2c6875bafC60Cf881";

export const SettlementGatewayMainnet1_0_0 = "0x138c60599946280e5a2DCc1f553B8f0cC0554E03";

export const BlockTrackerAddressMainnet1_0_0 = "0x0DA2a367C51f2a34465ACd6AE5d8A48385e9cB03";

export const OracleAddressMainnet1_0_0 = "0xa1aaCA1e4583dB498D47f3D5901f2B2EB49Bd8f6";

export const PreconfManagerAddressMainnet1_1_0 = "0x3761bF3932cD22d684A7485002E1424c3aCCD69c";

export const ProviderRegistryAddressMainnet1_0_0 = "0xeb6d22309062a86fa194520344530874221ef48c";

export const BidderRegistryAddressMainnet1_0_0 = "0xC973D09e51A20C9Ab0214c439e4B34Dbac52AD67";

Live on Ethereum Mainnet, mev-commit allows bidders and providers to engage in execution service bids and commitments. Preconfirmations, the first use case for real-time bids and commitments, are available with mev-commit.

# Service Links

| Service           | Link                                                                   |
| ----------------- | ---------------------------------------------------------------------- |
| Mainnet RPC       | [https://chainrpc.mev-commit.xyz/](https://chainrpc.mev-commit.xyz/)   |
| Mainnet WebSocket | [wss://chainrpc-wss.mev-commit.xyz](wss://chainrpc-wss.mev-commit.xyz) |
| Bootnode endpoint | [https://bootnode.mev-commit.xyz/](https://bootnode.mev-commit.xyz/)   |
| Block explorer    | [http://explorer.mev-commit.xyz](http://explorer.mev-commit.xyz)       |

# Contracts deployed to mev-commit chain

### **Core Contracts**

<table>
  <thead>
    <tr>
      <th width="299">Contract</th>
      <th>Address</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>BidderRegistry</td>

      <td>
        {BidderRegistryAddressMainnet1_0_0}
      </td>
    </tr>

    <tr>
      <td>ProviderRegistry</td>

      <td>
        {ProviderRegistryAddressMainnet1_0_0}
      </td>
    </tr>

    <tr>
      <td>PreconfManager</td>

      <td>
        {PreconfManagerAddressMainnet1_1_0}
      </td>
    </tr>

    <tr>
      <td>Oracle</td>

      <td>
        {OracleAddressMainnet1_0_0}
      </td>
    </tr>

    <tr>
      <td>BlockTracker</td>

      <td>
        {BlockTrackerAddressMainnet1_0_0}
      </td>
    </tr>
  </tbody>
</table>

### **Settlement Bridge Gateway**

<table>
  <thead>
    <tr>
      <th width="299">Contract</th>
      <th>Address</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>SettlementGateway</td>

      <td>
        {SettlementGatewayMainnet1_0_0}
      </td>
    </tr>
  </tbody>
</table>

# Contracts deployed to L1 Ethereum

### **L1 Bridge Gateway**

<table>
  <thead>
    <tr>
      <th width="299">Entity</th>
      <th>Address Type</th>
      <th>Address</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td rowspan="2">L1Gateway</td>
      <td style={{ textAlign: 'center' }}>Proxy</td>

      <td>
        <a href={`https://etherscan.io/address/${L1GatewayMainnet1_0_0Proxy}`} target="_blank" rel="noopener noreferrer">
          {L1GatewayMainnet1_0_0Proxy}
        </a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: 'center' }}>Implementation</td>

      <td>
        <a href={`https://etherscan.io/address/${L1GatewayMainnet1_0_0Implementation}`} target="_blank" rel="noopener noreferrer">
          {L1GatewayMainnet1_0_0Implementation}
        </a>
      </td>
    </tr>
  </tbody>
</table>

### **L1 Validator Registries**

<table>
  <thead>
    <tr>
      <th>Contract</th>
      <th>Address Type</th>
      <th>Address</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td rowspan="2">MevCommitAVS</td>
      <td style={{ textAlign: 'center' }}>Proxy</td>

      <td>
        <a href={`https://etherscan.io/address/${MevCommitAVSProxyAddress}`} target="_blank" rel="noopener noreferrer">
          {MevCommitAVSProxyAddress}
        </a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: 'center' }}>Implementation</td>

      <td>
        <a href={`https://etherscan.io/address/${MevCommitAVSImplementationAddress}`} target="_blank" rel="noopener noreferrer">
          {MevCommitAVSImplementationAddress}
        </a>
      </td>
    </tr>

    <tr>
      <td rowspan="2">MevCommitMiddleware</td>
      <td style={{ textAlign: 'center' }}>Proxy</td>

      <td>
        <a href={`https://etherscan.io/address/${MevCommitMiddlewareProxyAddress}`} target="_blank" rel="noopener noreferrer">
          {MevCommitMiddlewareProxyAddress}
        </a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: 'center' }}>Implementation</td>

      <td>
        <a href={`https://etherscan.io/address/${MevCommitMiddlewareImplementationAddress}`} target="_blank" rel="noopener noreferrer">
          {MevCommitMiddlewareImplementationAddress}
        </a>
      </td>
    </tr>

    <tr>
      <td rowspan="2">VanillaRegistry</td>
      <td style={{ textAlign: 'center' }}>Proxy</td>

      <td>
        <a href={`https://etherscan.io/address/${VanillaRegistryProxyAddress}`} target="_blank" rel="noopener noreferrer">
          {VanillaRegistryProxyAddress}
        </a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: 'center' }}>Implementation</td>

      <td>
        <a href={`https://etherscan.io/address/${VanillaRegistryImplementationAddress}`} target="_blank" rel="noopener noreferrer">
          {VanillaRegistryImplementationAddress}
        </a>
      </td>
    </tr>

    <tr>
      <td rowspan="2">ValidatorOptInRouter</td>
      <td style={{ textAlign: 'center' }}>Proxy</td>

      <td>
        <a href={`https://etherscan.io/address/${ValidatorOptInRouterProxyAddress}`} target="_blank" rel="noopener noreferrer">
          {ValidatorOptInRouterProxyAddress}
        </a>
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: 'center' }}>Implementation</td>

      <td>
        <a href={`https://etherscan.io/address/${ValidatorOptInRouterImplementationAddress}`} target="_blank" rel="noopener noreferrer">
          {ValidatorOptInRouterImplementationAddress}
        </a>
      </td>
    </tr>
  </tbody>
</table>

All contract calls should be made through the proxy contracts. Implementations are listed for transparency, where verified contract code can be viewed.

# Other L1 Ethereum addresses

<table>
  <thead>
    <tr>
      <th>Description</th>
      <th>Address</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Primev Team Multisig</td>

      <td>
        <a href={`https://etherscan.io/address/${PrimevTeamMultisig}`} target="_blank" rel="noopener noreferrer">
          {PrimevTeamMultisig}
        </a>
      </td>
    </tr>

    <tr>
      <td>Commitment Holdings Multisig</td>

      <td>
        <a href={`https://etherscan.io/address/${CommitmentHoldingsMultisig}`} target="_blank" rel="noopener noreferrer">
          {CommitmentHoldingsMultisig}
        </a>
      </td>
    </tr>

    <tr>
      <td>Symbiotic "network address" (Served by Primev Team Multisig)</td>

      <td>
        <a href={`https://etherscan.io/address/${PrimevTeamMultisig}`} target="_blank" rel="noopener noreferrer">
          {PrimevTeamMultisig}
        </a>
      </td>
    </tr>
  </tbody>
</table>

# How can users provide feedback or report issues encountered on testnet or mainnet?

Users can open an issue on the GitHub repository that is associated with any issue they encounter. They can also tag @primev\_xyz on Twitter, or reach out to us to join a Telegram group for early power users.
