BSC Free Square
Question:
To show any data on BSC from Flipside’s data
NOTE: The data on BSC is 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 BSC
- TOP 10 DE-FI on BSC
- TOP 10 DAPPS on BSC
- Top NFTs on BSC
- Top Contracts on BSC
- Top Events on BSC
- Top Tokens on BSC
- 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:
BSC is one of the most popular chains and has been an established chain . Binance Chain was launched by Binance in April 2019. One can read more about it here.
One can also read the annual report here. In summary, some of it’s features are:
-
Lesser Fees
-
More transactions
-
Compatibility with other chains
\
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 bsc.core.dim_labels inner join bsc.core.fact_event_logs on contract_address = address) where label_type = 'nft' GROUP by 1 order by 2 desc limit 10
Query 2:
-- -Number of transactions -Transaction success rates -Number of unique wallets to make a transaction -Number of wallets that used the chain everyday since May 9th -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)/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 = '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-- limit 1000
Query 3:
with a as ( SELECT block_timestamp as bt , block_number as bn from avalanche.core.fact_blocks), avalanche as (SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'avalanche' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from a inner join avalanche.core.fact_blocks on block_number = bn +1 ) where day>= '2022-06-15' GROUP by 1 ), e as ( SELECT block_timestamp as bt , block_number as bn from ethereum.core.fact_blocks), eth as ( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'ethereum' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from e inner join ethereum.core.fact_blocks on block_number = bn +1 ) where day>= '2022-06-15' GROUP by 1 ), p as ( SELECT block_timestamp as bt , block_number as bn from polygon.core.fact_blocks), poly as ( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'polygon' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from pinner join polygon.core.fact_blocks on block_number = bn +1 ) where day>= '2022-06-15' GROUP by 1 ), o as ( SELECT block_timestamp as bt , block_number as bn from optimism.core.fact_blocks), opt as ( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time, 'optimism' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from o inner join optimism.core.fact_blocks on block_number = bn +1 ) where day>= '2022-06-15' GROUP by 1 ), ar as ( SELECT block_timestamp as bt , block_number as bn from arbitrum.core.fact_blocks), arb as ( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'arbitrum' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from ar inner join arbitrum.core.fact_blocks on block_number = bn +1 ) where day>= '2022-06-15' GROUP by 1 ), s as ( SELECT block_timestamp as bt , block_ID as bn from solana.core.fact_blocks), sol as ( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'solana' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from s inner join solana.core.fact_blocks on block_ID = bn +1 ) where day>= '2022-06-15' GROUP by 1 ), os as ( SELECT block_timestamp as bt , block_ID as bn from osmosis.core.fact_blocks), osm as ( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'osmosis' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from osinner join osmosis.core.fact_blocks on block_ID = bn +1 ) where day>= '2022-06-15' GROUP by 1 ), b as ( SELECT block_timestamp as bt , block_number as bn from bsc.core.fact_blocks), bsc as ( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'bsc' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from b inner join bsc.core.fact_blocks on block_number = bn +1 ) where day>= '2022-06-15' GROUP by 1 ), f as ( SELECT block_timestamp as bt , block_height as bn from flow.core.fact_blocks), flow as ( SELECT date(block_timestamp) as day, avg(td) as avg_time_taken, avg(avg_time_taken) over (order by day) as avg_time_taken_over_time , 'flow' as type from ( SELECT * , timestampdiff(sql_tsi_second,bt, block_timestamp) as td from f inner join flow.core.fact_blocks on block_height = bn +1 ) where day>= '2022-06-15' GROUP by 1 )
SELECT * from arb UNION ALL SELECT * FROM poly UNION ALL SELECT * FROM OPt UNION ALL SELECT * FROM Avalanche
UNION ALL SELECT * from sol
UNION ALL SELECT * from osm UNION ALL SELECT * from bscUNION ALL SELECT * FROM flow-- LIMIT 100
Some Explanation:
-
BSC 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 optimism is the worst performer when it comes to number of successful transactions
-
After Ethereum, Solana, Polygon, Flow and Avalanche, BSC has the most number of users followed although the number of these new users is significantly lesser than the others
-
About 25k users use BSC daily since 15th June while ethereum and solana have 250k+ daily users on an average, so BSC isn’t a hot L1 currently
-
About 780k transcations have taken place since 15th June on BSC as compared to 800M+ on Solana alone!
-
BSC has the least number of transactions since 15th June among all chains in consideration
-
About 600 BNB has been paid for 780k transactions which is about 0.15$ paid per transaction
-
In comparison, Solana has about 800M transactions at about 0.23$ per transaction implying that BSC has lesser fees than Solana!
Next, let’s move on to stats on blocks and their performance:
\
Some Explanation/Insights:
-
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
-
BSC has about 100 transactions in a block on an average and has the largest average after Solana! It is followed by polygon, omosis, flow, avax, arbitrum and optimism
-
BSC also takes the most time between blocks after Osmosis.
-
On an average over time, BSC takes about 3 seconds without much deviation from this
-
The most it has taken is 3.003 while 3 is the least and hence, it moves in a tight band
-
Only Optimism has no zero transaction blocks while all others have their minimum transactions in a block to be zero
-
BSC has an average of about 3.0004 over time between blocks
-
Solana takes the least time between blocks and the most transactions in a block making it a very fast chain
-
BSC on the other hand processes a lot of transactions on an average but takes 3 seconds to block finality
\
Next, let’s view some top contracts on BSC:
Insights on Query 1:
- The top DEX projects in order are:
- MDEX
- EverRise
- BurgerSwap
- CheeseSwap
- Sokuswap
- Metalswap
- Payrue
- Brokoli Network
- ShibaInuSwap
- Hakka Finance
- MDEX accounts for about 60% of the transactions while Everrise for about 15% , Burgerswap for about 10% and cheeseswap for about 5%
- The top NFT projects on BSC in order are:
- PolyChain Monsters
- Hero Cat
- Zoo Dapp
- NFTrade
- Trava Knight NFT
- NFT Starter
- TasteNFT
- IAssets Market
- PolyChain Monsters are responsible for about half of the total NFT transactions while hero cat and zoo dapp account for 21% and 19% respectively
- The top events on BSC in order are:
- Transfer
- Approval
- Sync
- Swap
- Deposit
- Withdrawal
- Withdraw
- Mint
- RewardPaid
- Claim
- The top 10 Tokens on BSC are:
- x World games
- Drip Network
- Shiba Inu
- Radio Caca
- Mirror Protocol
- JumpToken
- EverDome
- Titano
- Tifi Token
- X world games, drip network , shiba inu and radio caca account for 25%, 17%, 12.3% and 7.5% respectively
- The top Contracts on BSC in order are:
- BSC-USD
- WBNB
- BUSD
- USDC
- Pancake LPs
- CHI gas token
- Pancake LPs (Cake-LPs)
- Green Satoshi Token
- Pancake swap betting platform
- Fist Token
- BSC -USD, WBNB, BUSD, USDC account for 30.2%,30.1%, 16% and 4.3% respectively
- Pancake based LPs are in 2 of the top 10 while the another one is pancake betting platform
- It’s notable that users prefer BUSD over USDC on BSC
- The top Dapps on BSC are:
- Stepn
- BlockAura
- Fantom
- Bittorent Chain
- NFTY Network
- Bixos
- Blockchain Monster Hunt
- Bountie Hunter
- BSC Station
- BunnyPark
- Stepn aloene accounts for 75% of total Dapps transactions followed by BlockAura and Fantom with a dominance of 11% and 7.25% respectively
Conclusions:
Now, we’ll conclude as to how BSC performed overall and some special insights:
- Yes, BSC stood it’s promise of having lesser fees as it’s fee per transaction is at 0.15$ which is even lesser than that of Solana!
- BSC 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 optimism is the worst performer when it comes to number of successful transactions
- After Ethereum, Solana, Polygon, Flow and Avalanche, BSC has the most number of users followed although the number of these new users is significantly lesser than the others
- About 25k users use BSC daily since 15th June while ethereum and solana have 250k+ daily users on an average, so BSC isn’t a hot L1 currently
- About 780k transcations have taken place since 15th June on BSC as compared to 800M+ on Solana alone!
- BSC has the least number of transactions since 15th June among all chains in consideration
- About 600 BNB has been paid for 780k transactions which is about 0.15$ paid per transaction
- In comparison, Solana has about 800M transactions at about 0.23$ per transaction implying that BSC has lesser fees than Solana!
- 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
- BSC has about 100 transactions in a block on an average and has the largest average after Solana! It is followed by polygon, omosis, flow, avax, arbitrum and optimism
- BSC also takes the most time between blocks after Osmosis.
- On an average over time, BSC takes about 3 seconds without much deviation from this
- The most it has taken is 3.003 while 3 is the least and hence, it moves in a tight band
- Only Optimism has no zero transaction blocks while all others have their minimum transactions in a block to be zero
- BSC has an average of about 3.0004 over time between blocks
- Solana takes the least time between blocks and the most transactions in a block making it a very fast chain
- BSC on the other hand processes a lot of transactions on an average but takes 3 seconds to block finality.
- MDEX accounts for about 60% of the transactions while Everrise for about 15% , Burgerswap for about 10% and cheeseswap for about 5%
- PolyChain Monsters are responsible for about half of the total NFT transactions while hero cat and zoo dapp account for 21% and 19% respectively
- X world games, drip network , shiba inu and radio caca account for 25%, 17%, 12.3% and 7.5% respectively
- BSC -USD, WBNB, BUSD, USDC account for 30.2%,30.1%, 16% and 4.3% respectively
- Pancake based LPs are in 2 of the top 10 while the another one is pancake betting platform
- It’s notable that users prefer BUSD over USDC on BSC
- Stepn aloene accounts for 75% of total Dapps transactions followed by BlockAura and Fantom with a dominance of 11% and 7.25% respectively