Optimism Open Analytics
Question:
To show any data on Optimism from Flipside’s data
NOTE: The data on some chains are from 15th June. So, only limited content has been shown from 15th June.
Summary:
We will be looking into the following comparisons:
- Daily % Success Transactions across all chains
- Daily Users Across Chains
- Cumulative Users Across Chains
- Daily Transactions Across All Chains
- Cumulative Transactions across chains
- Daily Fees Across All Chains
- Cumulative Fees across all chains
- Distribution of number of users across chains
- Distribution of number of transactions across chains
- Average Transactions per block on various chains
- Maximum Transactions per block on various chains
- Minimum Transactions per block on various chains
- Average Time Taken per block
- Average Time taken per block over time
- Average Time taken per block Distribution
- Top types of Interactions made on Optimism
- TOP 10 DE-FI on Optimism
- TOP 10 DAPPS on Optimism
- Top NFTs on Optimism
- Top Contracts on Optimism
- Top Events on Optimism
- Top Tokens on Optimism
- Conclusions
Methodology:
- For the % success across all chains, we would be using the transactions table. The transactions table would also be used for daily users, cumulative users, daily transactions , cumulative transactions, daily fees, cumulative fees, distribution of new users and distribution of transactions among chains
- For average, maximum and minimum transactions in a block, the blocks table would be used. It will also be used for finding the average time taken between blocks, the average time taken over time and the average time taken per block distribution
- For types of interactions,top contracts, top events, top NFTs, top de-fi contracts, top dapps, top dex contracts, top tokens, the events_log and labels tables would be used
Introduction:
Opyimism is one of the most popular chains and has been an established chain .
Optimism's strengths include:
- Ability to process transactions quickly
- Transaction fees are consistently low (in at about 0.001$)
Among Optimism's weaknesses are:
-
Not an autonomous blockchain: (Dependent on ETH network).
-
Limited use cases for OP
\
In summary, some of it’s features are:
- Lesser Fees
- More transactions
Definitions & Notes:
- As the data starts from 15th June, while comparing with other chains , we compare from 15th June.
- For data on Optimism only like NFTs, DEX projects and so on, the data starts from the time when Optimism data is available
- The data on chains is updated every day (the refresh rate has been set to daily)
- Some abbreviations which might have been used in this analysis are:
- DEX stands for decentralised exchange
- CEX stands for centralised exchange
- nft is Non Fungible Token. Some popular examples to look up- Cryptopunks and Cryptokitties
Next, we divide the page into 2 sections: One would have the queries on the left and the other would have insights+ visuals on the right
Query 1:
-- A similar query is used for dex, dapps, events, tokens by replacing nft with the event type
select project_name, count(DISTINCT tx_hash) as total_txs
from
(SELECT * from optimism.core.dim_labels
inner join optimism.core.fact_event_logs on contract_address = address)
where label_type = 'nft'
GROUP by 1
order by 2 desc
limit 10
Query 2:
Transaction fees with flow_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_id) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT payer) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets, 'flow' as type, '0' AS FEES, sum(FEES) over (order by day) as cumulative_feesfrom (SELECT *, iff(tx_succeeded, '1', '0') as success,iff(tx_succeeded, '0', '1') as failed from flow.core.fact_transactions) where day >= '2022-06-15' GROUP by 1 ), osmosis_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_id) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT tx_from) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'osmosis' as type, sum(fee_)/pow(10,6) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT *, iff(tx_status ='SUCCEEDED', '1', '0') as success,iff(tx_status='FAILED', '1', '0') as failed, replace(fee,'uosmo','') as fee_ from osmosis.core.fact_transactions) where day >= '2022-06-15' and contains(fee, 'uosmo') GROUP by 1 ),
eth_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_hash) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT from_address) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'ethereum' as type, sum(tx_fee) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT *, iff(status ='SUCCESS', '1', '0') as success,iff(status='FAIL', '1', '0') as failed from ethereum_core.fact_transactions) where day >= '2022-06-15' GROUP by 1 ), sol_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_id) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT signers[0]) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'solana' as type, sum(fee)/pow(10,6) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT *, iff(succeeded, '1', '0') as success,iff(succeeded, '0', '1') as failed from solana.fact_transactions) where day >= '2022-06-15' GROUP by 1 ), algo_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_id) as total_txs, '95' as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT sender) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'algorand' as type, sum(fee) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT * from algorand.transactions) where day >= '2022-06-15' GROUP by 1 ), avax_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_hash) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT from_address) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'avax' as type, sum(tx_fee)/pow(10,6) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT *, iff(status = 'SUCCESS', '1', '0') as success,iff(status = 'FAILED', '0', '1') as failed from avalanche.core.fact_transactions) where day >= '2022-06-15' GROUP by 1 ), bsc_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_hash) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT from_address) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'bsc' as type, sum(tx_fee) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT *, iff(status = 'SUCCESS', '1', '0') as success,iff(status = 'FAILED', '0', '1') as failed from bsc.core.fact_transactions) where day >= '2022-06-15' GROUP by 1 ) ,
arbitrum_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_hash) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT from_address) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'arbitrum' as type, sum(tx_fee) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT *, iff(status = 'SUCCESS', '1', '0') as success,iff(status = 'FAILED', '0', '1') as failed from arbitrum.core.fact_transactions) where day >= '2022-06-15' and tx_fee < pow(10,4) GROUP by 1 ) , optimism_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_hash) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT from_address) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'optimism' as type, sum(tx_fee) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT *, iff(status = 'SUCCESS', '1', '0') as success,iff(status = 'FALSE', '0', '1') as failed from optimism.core.fact_transactions) where day >= '2022-06-15' GROUP by 1 ) , polygon_data as (SELECT date(block_timestamp) as day, count(DISTINCT tx_hash) as total_txs, sum(success)/(sum(success)+sum(failed))*100 as percent_sucess, avg(percent_sucess) over (order by day) as avg_sucess, sum(total_txs) over (order by day) as cumulative_txs, count(DISTINCT from_address) as daily_users, sum(daily_users) over (order by day) as cumulative_wallets , 'polygon' as type, sum(tx_fee) as fees, sum(FEES) over (order by day) as cumulative_fees from (SELECT *, iff(status = 'SUCCESS', '1', '0') as success,iff(status = 'FALSE', '0', '1') as failed from polygon.core.fact_transactions) where day >= '2022-06-15' GROUP by 1 )
SELECT * from algo_data UNION ALL SELECT * FROM sol_data UNION ALL SELECT * FROM flow_data UNION ALL SELECT * FROM osmosis_data UNION ALL SELECT * FROM eth_data UNION ALL SELECT * FROM avax_data UNION ALL SELECT * FROM bsc_data UNION ALL SELECT * FROM optimism_data UNION ALL SELECT * FROM arbitrum_data UNION ALL SELECT * FROM polygon_data
Query 3:
with ava as ( SELECT avg(tx_count) as avg_txs_per_block, max(tx_count) as max_txs_per_block, min(tx_count) as min_txs_per_block, 'avalnche' as chain from avalanche.core.fact_blocks), opt as ( SELECT avg(tx_count) as avg_txs_per_block, max(tx_count) as max_txs_per_block, min(tx_count) as min_txs_per_block, 'optimism' as chain from optimism.core.fact_blocks), arb as ( SELECT avg(tx_count) as avg_txs_per_block, max(tx_count) as max_txs_per_block, min(tx_count) as min_txs_per_block, 'arbitrum' as chain from arbitrum.core.fact_blocks) , poly as ( SELECT avg(tx_count) as avg_txs_per_block, max(tx_count) as max_txs_per_block, min(tx_count) as min_txs_per_block, 'polygon' as chain from polygon.core.fact_blocks) , bsc as ( SELECT avg(tx_count) as avg_txs_per_block, max(tx_count) as max_txs_per_block, min(tx_count) as min_txs_per_block, 'bsc' as chain from bsc.core.fact_blocks) , osm as ( SELECT avg(tx_count) as avg_txs_per_block, max(tx_count) as max_txs_per_block, min(tx_count) as min_txs_per_block, 'osmosis' as chain from osmosis.core.fact_blocks) , sol as ( SELECT avg(tx_count) as avg_txs_per_block, max(tx_count) as max_txs_per_block, min(tx_count) as min_txs_per_block, 'sol' as chain from solana.core.fact_blocks) , flow as ( SELECT avg(tx_count) as avg_txs_per_block, max(tx_count) as max_txs_per_block, min(tx_count) as min_txs_per_block, 'flow' as chain from flow.core.fact_blocks)
SELECT * from osm UNION ALL SELECT * from BSC UNION ALL SELECT * from opt UNION ALL SELECT * from poly UNION ALL SELECT * from arbUNION ALL SELECT * from ava UNION ALL SELECT * from sol UNION ALL SELECT * FROM flow-- LIMIT 100
Query 4:
select project_name, count(DISTINCT tx_hash) as total_txs
from
(SELECT * from optimism.core.dim_labels
inner join optimism.core.fact_event_logs on contract_address = address)
where label_type = 'layer2'
GROUP by 1
order by 2 desc
limit 10
Query 5:
select project_name, count(DISTINCT tx_hash) as total_txs
from
(SELECT * from optimism.core.dim_labels
inner join optimism.core.fact_event_logs on contract_address = address)
where label_type = 'dapp'
GROUP by 1
order by 2 desc
limit 10
Query 6:
select project_name, count(DISTINCT tx_hash) as total_txs
from
(SELECT * from optimism.core.dim_labels
inner join optimism.core.fact_event_logs on contract_address = address)
where label_type = 'dex'
GROUP by 1
order by 2 desc
limit 10
Query 7:
select project_name, count(DISTINCT tx_hash) as total_txs
from
(SELECT * from optimism.core.dim_labels
inner join optimism.core.fact_event_logs on contract_address = address)
where label_type = 'defi'
GROUP by 1
order by 2 desc
limit 10
Query 8:
SELECT label_type, count(*) as total_interactions from (SELECT * from optimism.core.dim_labels inner join optimism.core.fact_event_logs on contract_address = address) GROUP by 1 order by 2 desc limit 10
Some Explanation at the time of analysis:
-
Optimism has about 48% successful transactions only among chains and is one of the worst performers in this criteria. Flow and Ethereum are some of the best performers here while other L2s like polygon is also among the worst performers when it comes to number of successful transactions
-
Optimism has the least number of users among users implying that a major user adoption on Optimism is pending. It is notable that despite only a very small section of users, it has a very high number of failing transactions.
-
About 200k users use Polygon daily since 15th June while ethereum and solana have 300k+ and 250k+ daily users on an average. It’s the most valuable given that an L2 has now started competing with L1s like Ethereum and Solana. On the other hand Optimism has just 5-10k users which is not even 5% of the users of Polygon.
-
About 3M+ transactions have taken place on Optimism since June 15th while 100M+ transactions have taken place since 15th June on Polygon as compared to 1.8B+ on Solana alone!
-
Optimism has a very small dominance by number of transactions in comparison to other chains
-
About 25k$ has been collected on an average (as can be seen in the daily fees across L1s & L2s chart) for about 2.5M transactions (about 4M transactions daily on an average) which implies that it costs only about 0.01$ per transaction on Polygon. On the other hand for Optimism about 12k transactions a day account for 0.03 ETH and with the price of ETH at about 1500$, it is evident that the price per transaction is at about 0.003$ which is 1/3rd of that of Polygon
-
In comparison, Solana has about 800M transactions at about 0.23$ per transaction implying that Polygon has lesser fees than Solana!
-
Even for BSC, the average comes out to be 0.15$ which is much higher than that of Optimism (about 50x difference). Since about 600 BNB was paid for 780k+ transactions
Next, let’s move on to stats on blocks and their performance:
Some more Insights:
-
The top interactions made on Optimism in order are :
\
-
layer2(75% of the interactions type)
-
dex(13%)
-
defi(10%)
-
nft(1%)
-
dapp
-
token
-
operator
\
-
-
The top Contracts on Optimism in order are:
\
-
USDC
-
WETH
-
vETH
-
vUSD
-
vETH-vUSD pool
-
-
It is notable that USDC is over USDT implying a higher level trust on USDC than USDT on the Optimism chain and USDT doesn’t show up anywhere on the top contracts
\
-
It is also notable that only 2 tokens (ETH & USDC) have the most dominance on Optimism at the time of anlaysis
\
-
The top NFT projects on Optimism in order are:
\
-
Uniswap (50%+ dominance)
-
venft (12%)
-
mean finance (8%)
-
genesiskami (6%)
-
oops-lotto (4.5%)
-
bored town(4.2%)
-
mirror(4%)
-
b.a.n club (2.7%)
-
optipunk (2.6%)
-
apetimsim (2.5%)
\
-
-
Uniswap based NFTs are solely responsible for more than half of the total NFT transactions on Optimism
\
-
The next top NFTs like venft, mean finance, genesiskami and oops lotto account for more than 25% of the top NFT transactions
\
-
The top Tokens on Optimism are:
\
-
Dentacoin
-
index coop
-
Roobee
\
-
-
Dentacoin alone accounts for 87% of the token based transactions (among the labelled ones) while index coop accounts for 11%
\
-
The top Dapps on Optimism are:
\
-
Chainlink
-
Gnosis Safe
-
bitbtc
-
elk finance
-
terra
\
-
-
Chainlink accounts for 87% of the total Dapp based transactions on Optimism while gnosis safe accounts for 7.4% and bitbtc for about 4.5%
\
-
The top DEX projects in order are:
\
-
Velodrome Finance
-
Rubicon
-
O3 Swap
\
-
-
Velodrome Finance alone accounts for 80% of all transactions while rubicon accounts for about 20% or remaining dex based transactions
-
The top layer 2 calls on Optimism are :
\
-
Hop Protocol (about 75%)
-
Optimism (almost 25%)
-
Evodefi
-
layer zero
-
Synapse
-
Dforce
\
-
-
This implies that Hop Protocol is the most popular protocol to bridge and is preferred for bridging even more than the native Optimism’s bridge
-
The top 10 Defi projects on Optimism are :
\
-
Synthetix
-
Aave
-
Frax Finance
-
Thales
-
Perpetual Protocol
-
lyra
-
wepiggy
-
reflexer
-
pegasus
-
ftps finance
\
-
-
Synthetix alone accounts for about 70%+ of the top defi transactions
\
-
Aave and Frax Finance have a dominance of about 10% each among the top defi transactions
\
-
The other projects which might be having some growth in future are thales and perpetual protocol each with a dominance of about 4%
\
-
The top events on Optimism in order are:
\
-
Transfer
-
Swap
-
Approval
-
Deposit
-
AnswerUpdated
-
NewRound
-
NewTransmission
-
TokenSwap
-
Withdrawal
-
Mint
\
-
-
About 36% of all top 10 events were transfers while swap accounts for about 25% weight among these top 10 transactions.
\
-
In other words about 1 in every 3 transactions were transfers while 1 in 4 were swaps
\
-
Approval accounts for about 15% while deposit for less than 5%
Some Explanation/Insights at the time of analysis:
-
For Maximum transactions in a block, Solana leads as it has about 7.6k transactions in a single block
-
Solana is followed by polygon, osmosis, bsc,flow, avalanche, arbitrum and optimism with values of 1250, 600, 317, 265,165, 125 and 100
-
Optimism has the same minimum, maximum and average transaction per block while other l2s like Polygon has about 75 transactions in a block on an average and has the largest average after Solana and BSC! It is followed by omosis, flow, avax, arbitrum and optimism
-
Optimism also takes the least number of transactions per block while other L2s like Polygon take about 2.1 sec and Arbitrum has a different .
-
On an average over time, BSC takes about 2.2 seconds without much deviation from this
-
The most it has taken is 2.3 while 2.1 is the least and hence, Polygon moves in a tight band.
-
Optimism and Arbitrum both have a range of about 0.5-1.5 seconds but Optimism processes more blocks in a day as compared to Arbitrum but lesser than that of Solana
-
Only Optimism has no zero transaction blocks while all others have their minimum transactions in a block to be zero
-
Polygon has an average of about 2.23 seconds over time between blocks while Optimism has it’s average less than 1 second per block
-
Solana takes the least time between blocks and the most transactions in a block making it a very fast chain
-
Polygon on the other hand processes a lot of transactions on an average but takes 2.2 seconds to block finality and hence compensates equivalently
-
Whereas, Optimism process very few transactions per block but processes them quickly. So, Optimism compensates equivalently and might be slower than Polygon currently
\
Next, let’s view some other stats on Optimism:
Conclusions:
Now, we’ll conclude as to how Optimism performed overall and some special insights:
-
Yes, Optimism stood it’s promise of having lesser fees as it’s fee per transaction is at 0.003$ which is even lesser than that of Solana and BSC and also much lesser than some L2s like Polygon!
\
-
Optimism has about 48% successful transactions only among chains and is one of the worst performers in this criteria. Flow and Ethereum are some of the best performers here while other L2s like polygon is also among the worst performers when it comes to number of successful transactions
-
Optimism has the least number of users among users implying that a major user adoption on Optimism is pending. It is notable that despite only a very small section of users, it has a very high number of failing transactions.
-
About 200k users use Polygon daily since 15th June while ethereum and solana have 300k+ and 250k+ daily users on an average. It’s the most valuable given that an L2 has now started competing with L1s like Ethereum and Solana. On the other hand Optimism has just 5-10k users which is not even 5% of the users of Polygon.
-
About 3M+ transactions have taken place on Optimism since June 15th while 100M+ transactions have taken place since 15th June on Polygon as compared to 1.8B+ on Solana alone!
-
Optimism has a very small dominance by number of transactions in comparison to other chains
-
About 25k$ has been collected on an average (as can be seen in the daily fees across L1s & L2s chart) for about 2.5M transactions (about 4M transactions daily on an average) which implies that it costs only about 0.01$ per transaction on Polygon. On the other hand for Optimism about 12k transactions a day account for 0.03 ETH and with the price of ETH at about 1500$, it is evident that the price per transaction is at about 0.003$ which is 1/3rd of that of Polygon
-
In comparison, Solana has about 800M transactions at about 0.23$ per transaction implying that Polygon has lesser fees than Solana!
-
Even for BSC, the average comes out to be 0.15$ which is much higher than that of Optimism (about 50x difference). Since about 600 BNB was paid for 780k+ transactions
-
For Maximum transactions in a block, Solana leads as it has about 7.6k transactions in a single block
-
Solana is followed by polygon, osmosis, bsc,flow, avalanche, arbitrum and optimism with values of 1250, 600, 317, 265,165, 125 and 100
-
Optimism has the same minimum, maximum and average transaction per block while other l2s like Polygon has about 75 transactions in a block on an average and has the largest average after Solana and BSC! It is followed by omosis, flow, avax, arbitrum and optimism
-
Optimism also takes the least number of transactions per block while other L2s like Polygon take about 2.1 sec and Arbitrum has a different .
-
On an average over time, BSC takes about 2.2 seconds without much deviation from this
-
The most it has taken is 2.3 while 2.1 is the least and hence, Polygon moves in a tight band.
-
Optimism and Arbitrum both have a range of about 0.5-1.5 seconds but Optimism processes more blocks in a day as compared to Arbitrum but lesser than that of Solana
-
Only Optimism has no zero transaction blocks while all others have their minimum transactions in a block to be zero
-
Polygon has an average of about 2.23 seconds over time between blocks while Optimism has it’s average less than 1 second per block
-
Solana takes the least time between blocks and the most transactions in a block making it a very fast chain
-
Polygon on the other hand processes a lot of transactions on an average but takes 2.2 seconds to block finality and hence compensates equivalently
-
Whereas, Optimism process very few transactions per block but processes them quickly. So, Optimism compensates equivalently and might be slower than Polygon currently
-
The top interactions made on Optimism are layer2 (about 75%), dex (about 13%), defi (about 10%) and the rest account for less than 2%
-
It is notable that USDC is over USDT implying a higher level trust on USDC than USDT on the Optimism chain and USDT doesn’t show up anywhere on the top contracts
-
It is also notable that only 2 tokens (ETH & USDC) have the most dominance on Optimism at the time of anlaysis
-
Uniswap based NFTs are solely responsible for more than half of the total NFT transactions on Optimism
-
The next top NFTs like venft, mean finance, genesiskami and oops lotto account for more than 25% of the top NFT transactions
-
Dentacoin alone accounts for 87% of the token based transactions (among the labelled ones) while index coop accounts for 11%
-
Chainlink accounts for 87% of the total Dapp based transactions on Optimism while gnosis safe accounts for 7.4% and bitbtc for about 4.5%
-
Velodrome Finance alone accounts for 80% of all transactions while rubicon accounts for about 20% or remaining dex based transactions
-
Hop Protocol is the most popular protocol to bridge and is preferred for bridging even more than the native Optimism’s bridge
-
Synthetix alone accounts for about 70%+ of the top defi transactions
-
Aave and Frax Finance have a dominance of about 10% each among the top defi transactions
-
The other projects which might be having some growth in future are thales and perpetual protocol each with a dominance of about 4%
-
About 36% of all top 10 events were transfers while swap accounts for about 25% weight among these top 10 transactions.
-
In other words about 1 in every 3 transactions were transfers while 1 in 4 were swaps
-
Approval based transactions accounts for about 15% while deposit for less than 5%