What does Axiom do?

Axiom is a ZK coprocessor for Ethereum which provides smart contracts trustless access to all on-chain data and arbitrary expressive compute over it. Developers can make queries into Axiom and trustlessly use the ZK-verified results on-chain in their smart contracts. To fulfill queries, Axiom performs three steps:
  • Read: Axiom uses ZK proofs to trustlessly correct reads from block headers, states, transactions, and receipts in any historical Ethereum block. All Ethereum on-chain data is encoded in one of these forms, meaning that Axiom can access anything an archive node can.
  • Compute: Once data has been ingested, Axiom applies verified compute primitives on top. This includes diverse operations from basic analytics (sum, count, max, min) to cryptography (signature verification, key aggregation) and machine learning (decision trees, linear regression, neural network inference). The validity of each piece of compute is verified in a ZK proof.
  • Verify: Axiom accompanies the result of each query with a ZK validity proof that (1) the input data was correctly fetched from the chain and (2) the compute was correctly applied. This ZK proof is verified on-chain in the Axiom smart contract, and the final result is then trustlessly available for use by any downstream smart contract.
To integrate Axiom into your own application, you can trustlessly access historic Ethereum states using our custom access demo. We provide an API endpoint to generate a ZK proof to access several slots in the account storage of a single address. In other words, we prove the claim
For address address at block number blockNumber, the values at slots slot_1, ..., slot_n were val_1, ..., val_n.
This proof can be verified in the attestSlots function in the AxiomV0StoragePf smart contract, which then stores the outcome on-chain. After the storage slot values have been verified on-chain, any other smart contract can use them trustlessly.
Warning: Our circuits and smart contracts are currently unaudited and intended only to illustrate use cases for Axiom. They should not be relied upon for production usage or value transfer.