What are the onchain transaction costs for ODAO functions?

Commentary written based on data snapshot on 2023-01-26, page loads: loading...
Sources: Ethereum, Coingecko API, RocketScan.io

Recent discussions around what the protocol pays Rocketpool ODAO members sparked some interest in what does it cost to run ODAO. Social capital to prove non-maliciousness is one aspect that is hard to value but one area of cost that is more tangible to estimate is the cost of onchain transactions as part of their duties.

This analysis summarises the on-chain costs for the current ODAO members. The costs include only the functions listed below, and exclude other non-critical transactions such as those involved in creating minipools or transferring funds:

  • submitBalances
  • submitPrices
  • submitRates
  • submitRewardSnapshot

Some initial insights:

ParameterETHUSDRPLGigaGas (10^9)
Total Gas Costs for current active ODAO set since 2021-01-1051.29137,9004,4281.176
CY22 Total Annual Costs39.3994,4643,4290.9968
CY22 Total Annual Costs Per Node3.167,7072780.07605
  • Since inception: As a single node Phiz has spent the most ETH at 5.1 ETH ($13,940 USD or 446 RPL)
  • Peak monthly ODAO cost for all nodes was 9.8 ETH/month ($30,000 USD/month, or 856 RPL/month) in January 2022
    • Single node peak cost for this month was Phiz at 1.1662 ETH ($3,565, or 101 RPL)
  • Bear market Monthly ODAO costs in RPL is approximately 7-10 RPL/month (since August 2022)

Note: you will need larger than 1600x900 resolution to view

Assumptions and Caveats
  • Costs of transactions that errored out or were reverted are included
  • The daily closing price of ETH and RPL was used for cost conversions
  • If an ODAO node is not in the current set of members, it is not included
Methodology
  • Get list of ODAO members from https://rocketscan.io/dao/members
  • Get transactions from each of the ODAO member addreses using Etherscan API
  • Get ETH and RPL daily prices from coingecko API
  • Calculate: GasCost = GasPrice * GasUsed
  • Multiply ETH by USD/ETH daily closing price to get USD cost estimate
  • Multiply USD by RPL/USD daily closing price to get RPL cost estimate