owned this note
owned this note
Published
Linked with GitHub
---
title: v2 Metrics
version: 202.08.24
---
# Manifold Finance Public Dashboard Metrics
| Field | Required or Not by Flash Bots | Required or Not by EigenPhi/Manifold | Description |
|------------------ |------------------------------- |--------------------------------------------------- |------------------------------------------------------------------------------------------------------------- |
| mev_type | No | Required | Arbitrage and transaction types identified by EigenPhi: arbitrage, liquidation, frontrun, victim, backrun. |
| transaction_hash | Required | Required | Transaction hash |
| block_number | Required | Required | Block number. |
| tx_index | Required | No. (We suggest using transaction index instead.) | The index of tx inside of a bundle. |
| bundle_type | Required | No | The bundle type from Flash Bots. |
| bundle_index | Required | No | index of the bundle inside of the block |
| eoa_address | Required | Optional | Address of the externally owned account that created this transaction |
## Business Metrics
Latest Dollar Value - Send Transaction
[api.securerpc.com/v1](api.securerpc.com/v1)- SushiSwapV1
[api.securerpc.com/v1](api.securerpc.com/v1)- Uniswap2/V3
Latest Dollar Value - External Successful Send Bundle - 14 day
[api.securerpc.com/v1](api.securerpc.com/v1)- SushiSwapV1
[api.securerpc.com/v1](api.securerpc.com/v1)- Uniswap2/V3
Total Dollar Value - External Submitted Successful Bundles/Transactions 28day
[api.securerpc.com/v1](api.securerpc.com/v1)- SushiSwapV1
[api.securerpc.com/v1](api.securerpc.com/v1)- Uniswap2/V3
Delta Dollar Value - External Successful Bundles 14day
[api.securerpc.com/v1](api.securerpc.com/v1)- SushiSwapV1
[api.securerpc.com/v1](api.securerpc.com/v1)- Uniswap2/V3
## Transaction and Bundle Metrics
### Successful Requests
### Failed Requests
Failed Requests - Client Error
Failed Requests - Internal Error
### Transaction Routing
Total Send Transaction Requests
Successful Send Transaction Requests
Failed Send Transaction Requests
Successful Relay Transaction Requests
Failed Relay Transaction Requests
### Bundle Routing
Total Send Bundle Requests
Successful Send Bundle Requests
Failed Send Bundle Requests
Total Relay Bundle Requests
## Custom Queries
These are log topics
## Process Filter Topics
| **process_filter** |
|--------------------------------------------------------------------------------------|
| processing_chain_inclusion_events_repartition_v2_repartition_offsets_total |
| processing_filter_chain_inclusion_events_left_repartition_offsets_total |
| processing_filter_chain_inclusion_events_other_join_store_changelog_offsets_total |
| processing_filter_chain_inclusion_events_right_repartition_offsets_total |
| processing_filter_chain_inclusion_events_this_join_store_changelog_offsets_total |
| processing_filter_chain_inclusion_events_v2_other_join_store_changelog_offsets_total |
| processing_filter_chain_inclusion_events_v2_right_repartition_offsets_total |
| processing_filter_chain_inclusion_events_v2_this_join_store_changelog_offsets_total |
| processing_send_bundle_keys_for_timeout_changelog_offsets_total |
| processing_send_bundle_timeout_cache_changelog_offsets_total |
| processing_send_bundle_timeout_for_key_changelog_offsets_total |
| processing_send_tx_keys_for_timeout_changelog_offsets_total |
| processing_send_tx_timeout_cache_changelog_offsets_total |
| processing_send_tx_timeout_for_key_changelog_offsets_total |
| processing_uniswap_v2_events_reorg_state_changelog_offsets_total |
| processing_uniswap_v2_liquidity_state_changelog_offsets_total |
## Eth Topics
| **eth_topics** |
|---------------------------------------------|
| eth_block_account_balances_offsets_total |
| eth_block_account_balances_v2_offsets_total |
| eth_block_receipts_offsets_total |
| eth_block_receipts_v2_offsets_total |
| eth_block_sushi_liquidity_offsets_total |
| eth_block_uni_liquidity_offsets_total |
| eth_blocks_offsets_total |
| eth_blocks_v2_offsets_total |
| eth_gas_prices_offsets_total |
| eth_gas_prices_v2_offsets_total |
| eth_raw_transaction_new_offsets_total |
| eth_uniswap_v2_events_offsets_total |
| eth_uniswap_v2_liquidity_offsets_total |
| eth_uniswap_v2_pair_offsets_total |
| eth_uniswap_v2_router_offsets_total |
## Manifold / MEV Topics
| **manifold_topics** |
|-------------------------------------------------------|
| manifold_transaction_timed_out_offsets_total |
| manifold_transaction_timeouts_pending_offsets_total |
| manifold_transaction_timeouts_triggered_offsets_total |
| manifold_bundle_timeouts_pending_offsets_total |
| manifold_bundle_timeouts_triggered_offsets_total |
| manifold_bundle_unsigned_offsets_total |
| manifold_platform_account_offsets_total |
| manifold_platform_token_offsets_total |
| manifold_relay_bundle_error_offsets_total |
| manifold_relay_bundle_sent_offsets_total |
| manifold_relay_transaction_error_offsets_total |
| manifold_relay_transaction_sent_offsets_total |
| manifold_transaction_arbing_offsets_total |
| manifold_transaction_events_offsets_total |
| manifold_transaction_mempool_error_offsets_total |
| manifold_transaction_mempool_sent_offsets_total |
| manifold_transaction_new_offsets_total |
| manifold_transaction_pending_offsets_total |
| manifold_transaction_relayed_offsets_total |
| manifold_transaction_timed_out_offsets_total |
| manifold_transaction_timeouts_pending_offsets_total |
| manifold_transaction_timeouts_triggered_offsets_total |
## JSON-RPC Methods
### Requests by Method Value
eth_accounts
eth_blockNumber
eth_call
eth_chainId
eth_coinbase
eth_estimateGas
eth_gasPrice
eth_getBalance
eth_getBlockByHash
eth_getBlockByNumber
eth_getBlockTransactionCountByHash
eth_getBlockTransactionCountByNumber
eth_getCode
eth_getLogs
eth_getStorageAt
eth_getTransactionByBlockHashAndIndex
eth_getTransactionByBlockNumberAndIndex
eth_getTransactionByHash
eth_getTransactionCount
eth_getTransactionReceipt
eth_getUncleByBlockHashAndIndex
eth_getUncleByBlockNumberAndIndex
eth_getUncleCountByBlockHash
eth_getUncleCountByBlockNumber
eth_protocolVersion
eth_sign
eth_signTypedData
eth_syncing
net_listening
net_peerCount
net_version
web3_clientVersion
eth_sendRawTransaction
### Flashbots Namespace
eth_sendBundle
eth_callBundle
### Manifold Namespace
> [see https://github.com/manifoldfinance/libsushi](https://github.com/manifoldfinance/libsushi) for usage
manifold_bundleStatus
manifold_getGasPrices
manifold_sendBundle
manifold_sendTransaction
manifold_transactionStatus
## Submit Tx
```mermaid
sequenceDiagram
autonumber
Eth Client->>+Arbitrage Engine: Chain state for latest block
Arbitrage Engine->>+Arbitrage Engine: Analyze txs + receipts
Note over Arbitrage Engine,Arbitrage Engine: Looking for our bundles
loop Each bundle that we identify
loop Each tx
Arbitrage Engine->>+Arbitrage Engine: Evalute tx status
alt Tx reverted
else Tx success
Arbitrage Engine->>+Profit Distributor: Request to refund part of the [TX_RECEIPT_CREDIT] to theFee Receipent
Note over Arbitrage Engine,Profit Distributor: It may be more efficient to batch up refunds etc.
end
end
end
Profit Distributor->>+Profit Distributor: wait n confirmations
Profit Distributor->>+Eth Client: A series of txs for refunding [TX_RECEIPT_CREDIT] to Fee Receipent
Note over Profit Distributor,Eth Client: If Fee Receipent refund is ever something other than Ether, perhaps the MEV relay would be better for this
```
### Submit Tx Bundle
```mermaid
sequenceDiagram
autonumber
User->>+Web3: submit tx bundle with target block number
Web3->>+Web3: validate target number is for a block that has not been mined
alt Target block number has already been mined
Web3->>+User: Return error
end
loop Each tx in bundle
Web3->>+Web3: validate tx is for a supported market
alt Unsupported market
Web3->>+User: Return error
end
end
alt All markets supported and target block has not been mined
Web3->>+Bundler: forward user bundle
Bundler-->>-Web3: ack user bundle
Web3-->>-User: ack tx bundle
Bundler->>+Bundler: Aggregate & partition by (block number, market)
Note over Bundler,Bundler: User bundles are preserved atomically
Bundler->>+Arbitrage Engine: forward one or more bundles
Eth Client->>+Arbitrage Engine: Target block number parent is mined
Note over Eth Client,Arbitrage Engine: Latest market state is included in this update
loop For each bundle targetting the next block number
Arbitrage Engine->>+Arbitrage Engine: estimate price impact & interleave arbitrage orders
Arbitrage Engine->>+Arbitrage Engine: determine profitability
alt Profitable
Arbitrage Engine->>+Arbitrage Engine: determine miner bribe
Arbitrage Engine->>+Eth Signer: forward backbone bundle
Eth Signer->>+Eth Signer: de-reference arbitrage orders for real orders
Eth Signer->>+Eth Signer: generate miner bribe tx
Eth Signer->>+MEV Relay: forward bundle
MEV Relay->>+Miner: relay bundle
end
end
end
```
### Profit Distribution
```mermaid
sequenceDiagram
autonumber
Eth Client->>+Arbitrage Engine: Chain state for latest block
Arbitrage Engine->>+Arbitrage Engine: Analyze txs + receipts
Note over Arbitrage Engine,Arbitrage Engine: Looking for our bundles
loop Each bundle that we identify
loop Each tx
Arbitrage Engine->>+Arbitrage Engine: Evalute tx status
alt Tx reverted
else Tx success
Arbitrage Engine->>+Profit Distributor: Request to refund part of the [TX_RECEIPT_CREDIT] to the User
Note over Arbitrage Engine,Profit Distributor: It may be more efficient to batch up refunds etc.
end
end
end
Profit Distributor->>+Profit Distributor: wait n confirmations
Profit Distributor->>+Eth Client: A series of txs for refunding [TX_RECEIPT_CREDIT] to Fee Receipent
Note over Profit Distributor,Eth Client: If User refund is ever something other than Ether, perhaps the MEV relay would be better for this
```
### Handling Fork
```mermaid
sequenceDiagram
autonumber
Eth Client->>+Arbitrage Engine: The block number of the earliest common ancestor
Arbitrage Engine->>+Arbitrage Engine: Arbitrage Engine enters fork mode
Arbitrage Engine->>+Arbitrage Engine: Reverse out any state back to the earliest common ancestor
Note over Arbitrage Engine, Arbitrage Engine: Things such as User positions, refunds, stats and so on
Eth Client->>+Arbitrage Engine: Fork blocks in order with txs and receipts etc.
loop each fork block
Arbitrage Engine->>+Arbitrage Engine: Analyze txs + receipts
Note over Arbitrage Engine,Arbitrage Engine: Looking for our bundles
loop Each bundle that we identify
loop Each tx
Arbitrage Engine->>+Arbitrage Engine: Evalute tx status
alt Tx reverted
else Tx success
Arbitrage Engine->>+Profit Distributor: Request to refund part of the [TX_RECEIPT_CREDIT] to the Fee Receipent
Note over Arbitrage Engine,Profit Distributor: It may be more efficient to batch up refunds etc.
end
end
end
end
Eth Client->>+Arbitrage Engine: A full snapshot of market data for the new head
Arbitrage Engine->>+Arbitrage Engine: Arbitrage Engine leaves fork mode
Profit Distributor->>+Profit Distributor: wait n confirmations
Profit Distributor->>+Eth Client: A series of txs for refunding [TX_RECEIPT_CREDIT] to Fee Receipent
Note over Profit Distributor,Eth Client: If User refund is ever something other than Ether, perhaps the MEV relay would be better for this
```