# Contract Addresses

## Goerli Testnet

The smart contracts for `AxiomV2Query` and `AxiomV2CoreHistoricalMock` that use real ZK provers are deployed on Goerli at the following addresses. Queries should be sent to the proxy addresses. (`AxiomV2CoreHistoricalMock` is live updating using real ZK proofs. Only the proofs for historic Goerli blocks before a certain snapshot block were mocked.)

<table><thead><tr><th width="302">Contract</th><th>Address (Goerli Testnet)</th></tr></thead><tbody><tr><td><code>AxiomV2Query</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0xBd5307B0Bf573E3F2864Af960167b24Aa346952b">0xBd5307B0Bf573E3F2864Af960167b24Aa346952b</a></td></tr><tr><td><code>AxiomV2Query</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0x4bb25e48085c51b58aafd12620e241cc610dc438">0x4Bb25e48085c51b58AAFD12620e241Cc610DC438</a></td></tr><tr><td><code>AxiomV2QueryVerifier</code></td><td><a href="https://goerli.etherscan.io/address/0x0f330c38eda10Ec94601FE4289BD0B2bCC6F359f">0x0f330c38eda10Ec94601FE4289BD0B2bCC6F359f</a></td></tr><tr><td><code>AxiomV2CoreHistoricalMock</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0x071b7aA74f060B40cB7EEE577c30E634276e7C9f">0x071b7aA74f060B40cB7EEE577c30E634276e7C9f</a></td></tr><tr><td><code>AxiomV2CoreHistoricalMock</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0x8cb406d666f47d9424c1c663dd4733f2663f3340">0x8cB406d666f47D9424C1C663DD4733f2663F3340</a></td></tr><tr><td><code>AxiomV2CoreGoerliVerifier</code></td><td><a href="https://goerli.etherscan.io/address/0xaA1D4372355aB67Fb033Dc244c32A6423C0E87B7">0xaA1D4372355aB67Fb033Dc244c32A6423C0E87B7</a></td></tr><tr><td><code>AxiomV2HeaderVerifier</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0x65d4993835Af01823d284db2D6f0D4E387357dfE">0x65d4993835Af01823d284db2D6f0D4E387357dfE</a></td></tr><tr><td><code>AxiomV2HeaderVerifier</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0x420f4e3bab1a354ab1c2b6849eff768be32971fa">0x420f4e3BaB1A354aB1c2b6849eff768bE32971fa</a></td></tr><tr><td><code>AxiomV2Prover</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0x7743A72B0758115f17AfbE7c9E2C10163eB16202">0x7743A72B0758115f17AfbE7c9E2C10163eB16202</a></td></tr><tr><td><code>AxiomV2Prover</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0x21ffcd041b0c29a72944bda0531449013571c3c6">0x21ffCD041b0c29a72944bda0531449013571C3c6</a></td></tr><tr><td><code>AxiomResultStore</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0x35c5aD2bcB2817Cc2dF459Dc173682Fe032a27ab">0x35c5aD2bcB2817Cc2dF459Dc173682Fe032a27ab</a></td></tr><tr><td><code>AxiomResultStore</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0xe33221690d42b8dac5e12c276fdcc8507bb0d278">0xe33221690D42B8dAc5e12C276fDcc8507Bb0D278</a></td></tr></tbody></table>

Mock versions of `AxiomV2QueryMock` and `AxiomV2CoreMock` are deployed on Goerli at the following addresses. The mock versions have the exact same contract code and interfaces, but skip the ZK proof verification.

<table><thead><tr><th width="282">Contract</th><th>Address (Goerli Testnet)</th></tr></thead><tbody><tr><td><code>AxiomV2QueryMock</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0xf15cc7b983749686cd1ecca656c3d3e46407dc1f">0xf15cc7B983749686Cd1eCca656C3D3E46407DC1f</a></td></tr><tr><td><code>AxiomV2QueryMock</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0x48630441c40c7cdbe76e2f35440da88496e4cd9d">0x48630441C40C7CdBE76E2F35440Da88496e4Cd9d</a></td></tr><tr><td><code>AxiomV2CoreMock</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0x2aE6ad6127C222f071C023086C442080B03AfCCe">0x2aE6ad6127C222f071C023086C442080B03AfCCe</a></td></tr><tr><td><code>AxiomV2CoreMock</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0xb2e598195c1561cfb5cdc27df7e51a2a1bcfd428">0xB2E598195c1561CFb5CDC27df7E51a2A1bCfD428</a></td></tr><tr><td><code>AxiomV2HeaderVerifier</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0x5903EF235390c8714403b1CCf97b42C3c8e6BB18">0x5903EF235390c8714403b1CCf97b42C3c8e6BB18</a></td></tr><tr><td><code>AxiomV2HeaderVerifier</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0x5ab75303c5b7f98f689cde09f00d030eafdb3552">0x5AB75303C5B7F98F689cDE09F00d030eafDB3552</a></td></tr><tr><td><code>AxiomV2Prover</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0x1d4fD248435B0e30BF11fD832C52Cc459FC4b996">0x1d4fD248435B0e30BF11fD832C52Cc459FC4b996</a></td></tr><tr><td><code>AxiomV2Prover</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0x6b11174d28c923fc675eef12d1e4c30ca7941b26">0x6b11174D28C923FC675EeF12D1E4c30ca7941b26</a></td></tr><tr><td><code>AxiomResultStore</code> (proxy)</td><td><a href="https://goerli.etherscan.io/address/0x4F91bc9575D6AcD53aA83A30Bc9142FC582f020e">0x4F91bc9575D6AcD53aA83A30Bc9142FC582f020e</a></td></tr><tr><td><code>AxiomResultStore</code> (impl)</td><td><a href="https://goerli.etherscan.io/address/0xa27ecd44df4a853afb91b6a0884066e3af7293d7">0xA27ecd44dF4a853AfB91b6a0884066E3AF7293d7</a></td></tr></tbody></table>

### Goerli Governance Addresses

The following addresses control [upgrades and pauses](/axiomv2-sdk/protocol-design/guardrails.md) to all Goerli contracts listed above.

<table><thead><tr><th width="281">Contract</th><th>Address (Goerli Testnet)</th></tr></thead><tbody><tr><td>Axiom Guardian Multisig</td><td><a href="https://goerli.etherscan.io/address/0x99C7E4eB11541388535a4608C14738C24f131921">0x99C7E4eB11541388535a4608C14738C24f131921</a></td></tr><tr><td>Axiom Timelock</td><td><a href="https://goerli.etherscan.io/address/0xc2d7e38a40808BBfc1834C79b5Ba4b27bC4c462e">0xc2d7e38a40808BBfc1834C79b5Ba4b27bC4c462e</a></td></tr><tr><td>Axiom Timelock Multisig</td><td><a href="https://goerli.etherscan.io/address/0xaDBbfC69F616aa16cc21003645A81C19F27Fa28f">0xaDBbfC69F616aa16cc21003645A81C19F27Fa28f</a></td></tr></tbody></table>

The Axiom Timelock Multisig has the `PROPOSER_ROLE` and `EXECUTOR_ROLE` for the `AxiomTimelock` timelock controller. The Axiom Guardian Multisig has the `GUARDIAN_ROLE`.&#x20;

On Goerli, the Axiom Guardian Multisig also has the `UNFREEZE_ROLE`.&#x20;


---

# Agent Instructions: 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:

```
GET https://intrinsic-1.gitbook.io/axiomv2-sdk/transparency-and-security/contract-addresses.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
