Axiom Demo Apps

Instructions for using our demo apps

Axiom provides two capabilities -- historic data access and verifiable compute. Our demo apps provide an illustration of how to use Axiom. We provide a web frontend for these at, a proving server which generates ZK validity proofs in response to user queries, and on-chain smart contracts which verify these proofs and provide downstream applications trustless access to query results.

Axiom Demos

Our demo apps enable you to:

  • Prove account age: Trustlessly prove the block number at which your account made its first transaction.

  • Prove Uniswap v3 TWAP values: Prove the TWAP of the ETH-USDC Uniswap v3 pool between any two historic blocks on-chain without checkpointing.

  • Access RanDAO randomness: Access the randomness generated by the Ethereum Consensus Layer and available to the Execution Layer in any post-merge block in the prevRandao block header field.

  • Make arbitrary queries: Access up to 8 pieces of historic information from a block header, account, or account storage at any historic block. See Axiom Query Format for more information about the format.

Each app follows a four step user flow:

  1. Enter your data to specify the query into Axiom.

  2. Click Submit Query Request to submit a query into Axiom. This will send an on-chain transaction encoding the query. This step requires spending ETH for gas fees as well as proving fees.

  3. Wait for Axiom to fulfill the query with the result and a ZK proof that verifies the relevant on-chain data was put on-chain correctly. You can check the status of your query on the Axiom Explorer.

  4. Once the query is fulfilled on-chain, our demo frontend will fetch witnesses to prepare an on-chain transaction reading the final value we are proving into the demo smart contracts. Click Submit Data to Contract to execute this transaction on-chain. This step requires spending ETH for gas fees.

  5. After your transaction has been confirmed on-chain, view it on-chain by clicking the provided link to your transaction on Etherscan.

You can always see find the verified code for the Axiom smart contracts on Etherscan at the deployment addresses listed here.

Demo Contract Addresses

Our demo contracts are deployed at the addresses below. Aside from AxiomV1Query, they are unaudited and should not be used in production. Contract code for the demos is open-sourced on Github.


Account Age (mainnet)

Uniswap v3 TWAP (mainnet)

RanDAO (mainnet)

Custom Query (mainnet)

Same as AxiomV1Query in Contract Addresses

Account Age (Goerli)

Uniswap v3 TWAP (Goerli)

RanDAO (Goerli)

Custom Query (Goerli)

Same as AxiomV1Query in Contract Addresses

Last updated