# 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](https://intrinsic-1.gitbook.io/axiomv2-sdk/protocol-design/guardrails) 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;
