Maya-ZK Dashboard – FAQ

Greetings, and welcome to the Maya-ZK dashboard FAQ.

At Maya-ZK, we aim to provide qualitative rollup insights using zero-knowledge proof (ZKP). On our dashboard page, you will find historical data from the past 90 days on the average finality time and cost of proof for state updates.

Why zk-rollups?

We aim to scale and optimize the hardware solutions for fast, distributed ZKP generation. To understand the domain of zk-rollups, we have developed this dashboard to give a clear overview of finality for Linea, ScrollLinea, Polygon zkEVM, and zkSync Era.

What is finality?

The vision of this dashboard is to showcase the time and cost required for L1 finality in zk-rollups. L1 finality refers to the point at which the L2 state is proven on the L1 network. This finalization process updates the state of the L2 network and ensures that transactions are irreversible. Zk-rollups enable immediate withdrawals (in practice, within a few hours), in contrast to optimistic rollups that require a challenge period of several days to ensure transaction validity [1]



The data used in the dashboard comes from multiple sources. On-chain data, including timestamps and transaction costs, are obtained through an RPC connection to the Ethereum network. Off-chain L2 transaction data is collected via RPC connections to various zk-rollup networks. Market price data is sourced from a Mobula, supplying the daily average ETH market price [2]

How often is the data updated?

The data synchronization process for fetching and storing data from the zk-rollups takes approximately 5-10 minutes and repeats every 20 minutes. After the sixth cycle, the newly fetched data is integrated into the dashboard queries and materialized views (MV). The website employs a caching system that revalidates the data every hour. As a result, visitors will initially see cached data, but subsequent visits within the same hour will display the most recent data. In the worst-case scenario, data freshness may lag by up to 4 hours and 20 minutes.

Data update cycle:

  1. Wait Time + Data Sync Time: 20 minutes + 5 to 10 minutes
  2. Number of Cycles Before MV Refresh: 6 cycles
  3. MV Refresh Time: 10 to 20 minutes
  4. Website Cache Validation Time: 1 to 60 minutes

The formula is:

20 + 5 + 10 + 6 * (20 + 5 + 10) + 10 + 60 = 260 minutes = 4 hours and 20 minutes

For the conversion from ETH to USD, the latest daily average market price is collected and matched with the data on-chain costs for the day. This process ensures the latest data is visible on the front end after midnight (UTC).

Date range

The dashboard on the main page displays data based on the latest 90-day interval for each rollup, offering a consistent and scalable comparison across different rollups. The timeline for the data ends on the prior date from the current calendar date, capturing L2 transaction data finalized on the L1 network.

Users can select a range of 1-day, 7-day, 30-day, or 90-day on the main page to get an index that showcases finality times and costs over varying periods. This flexibility can be particularly useful in assessing how rollup upgrades impact performance.

Finality time

The metric for finality time on the main page provides an overview of the average time from when a batch gets created until the proof of the L2 transaction data is verified on the L1 network.

To present the variations in the size of L2 transaction data on the different rollups, there is a column with the average normalized finality time for batches containing exactly 100 L2 transactions. This normalization adjusts for the varying batch sizes using epoch timestamps and sizes of the L2 transaction data published. The method calculates the average duration, scaled to a standard batch size of 100 transactions.

The formula is:

Normalized Finality Time = (Total Time for All Batches (sec.)) / Total Transactions in All Batches) * 100

The formula calculates the average time required to finalize a standard batch of 100 transactions, providing a comparable measure across different rollups.

Transactions per proof

The transactions per proof refer to the average count of L2 transactions per batch published to the L1 network.


The cost of verification transactions can be shown as ETH or USD based on the market price The cost in ETH is taken from transaction data within the selected date range.

The calculation for USD costs is based on the daily average market price of ETH in USD, corresponding to the selected date range. The transaction cost in USD is calculated by multiplying the ETH cost by this average USD market price.

The formula is:

Transaction Cost in USD = (Transaction Cost in ETH) * USD Market Price

This ensures that the costs accurately reflect the recorded price and transaction data within the chosen date range.

On-chain finality cost

The average on-chain finality cost reflects the L2-proof verification cost on the L1 network. This cost includes the gas fees required for proof submission to the L1 network to validate and update the state of the L2 transaction data, ensuring their security and transparency. However, it excludes individual transaction fees collected on the L2 network, providing a clear view of the expenses in securing the entire batch on the L1 network.

The cost per L2 transaction data on the L1 network is calculated by dividing the on-chain finality cost by the published L2 transaction data size and multiplying it by 100.

The formula is:

Cost per L2 Transaction = (On-chain Finality Cost / Published Transactions) * 100


  1. L1: Layer 1
  2. L2: Layer 2
  3. EVM: Ethereum Virtual Machine
  4. MV: Materialized view
  5. TX/TXS: Transaction(s)
  6. ZKP: Zero-Knowledge Proof
For questions and comments, please contact us at

Powered by

Built by

Maya ZK