/mev-analysis

An analysis on MEV (arbitrage & liquidation) transactions in the Ethereum network.

Primary LanguageJupyter Notebook

mev-analysis

An analysis on MEV (arbitrage & liquidation) transactions in the Ethereum network.

Data Collection

The data was collected using the arbitrage-inspect-py repository.

Two block ranges were collected:

  1. 15200000-15500000
  2. 15600000-15900000

The merge occurred in block 15537393.

The gap between the ranges and the merge block were because of the blocks market volatility near the merge.

The collected data include:

Arbitrages

The arbitrages table is a database table that stores information related to arbitrage transactions.

The table contains the following columns:

  • id: The unique identifier of the transaction.
  • transaction_hash: The hash of the transaction on the blockchain.
  • block_number: The block number in which the transaction was included.
  • timestamp: The timestamp of the transaction.
  • account_address: The address of the account that executed the transaction.
  • status: A boolean value indicating whether the transaction was successful or not.
  • contracts_address: The address of the smart contracts involved in the transaction.
  • input_tokens_address: The address of the tokens used as input in the transaction.
  • input_tokens_amount: The amount of tokens used as input in the transaction.
  • output_tokens_address: The address of the tokens received as output in the transaction.
  • output_tokens_amount: The amount of tokens received as output in the transaction.
  • protocols: The protocols involved in the transaction.
  • gas_price: The gas price used in the transaction.
  • gas_usage: The amount of gas used in the transaction.
  • block_position: The position of the transaction in the block.
  • profit_amount: The amount of profit generated by the arbitrage transaction.

Liquidations

The liquidations table is a database table that stores information related to liquidation events.

The table contains the following columns:

  • id: The unique identifier of the liquidation event.
  • transaction_hash: The hash of the transaction on the blockchain.
  • block_number: The block number in which the transaction was included.
  • timestamp: The timestamp of the transaction.
  • trace_address: The trace address of the transaction.
  • status: A boolean value indicating whether the liquidation was successful or not.
  • liquidated_user: The address of the user whose position was liquidated.
  • liquidator_user: The address of the user who initiated the liquidation.
  • debt_token_address: The address of the token that was used to purchase the debt.
  • debt_purchase_amount: The amount of the debt token that was purchased.
  • received_amount: The amount of tokens received as a result of the liquidation.
  • received_token_address: The address of the token received as a result of the liquidation.
  • protocol: The protocol involved in the liquidation.
  • gas_price: The gas price used in the transaction.
  • gas_usage: The amount of gas used in the transaction.
  • block_position: The position of the transaction in the block.

Blocks

The blocks table is a database table that stores information related to blocks on the blockchain.

The table contains the following columns:

  • block_number: The block number, which serves as the primary key for the table.
  • avg_gas_price: The average gas price for all transactions in the block.
  • avg_gas_usage: The average gas usage for all transactions in the block.

General Features

Some general features were also collected which contains information related to various features of the transactions.

  • protocols: A directory with information related to protocols involved with MEV transactions.
  • token_ins: A directory with information related to transactions input tokens.
  • token_outs: A directory with information related to transactions output tokens.
  • addresses: A directory with information related to the activity of different addresses on the blockchain.