---
# System prepended metadata

title: Part 2. Multiple relays for 1 proposal
tags: [VAL-58, relay-monitoring, mev-monitoring]

---

This RFC is a part of another one: https://hackmd.io/RdQ2afmrSJ-X4ru7hLe24w

# Problem

It turned out that one builder can submit eventually winning payload to multiple relays.

Thus relays send their signed bids to mev-boost, where only one signed bids will be selected to be included to a chain.


# Solution
`Mev-m` recognizes and stores the highest bids from multiple relays and builders. `Mev-m` should store all data from Relays regarding blocks.

Consider ongoing steps to solve the problem.
- Implement changes from [Indexing relays separately - HackMD](https://hackmd.io/@rOVWtirgSgu6p7oJgzGwVg/HyDr35L-a)
- Create a new table `relays`, and retrieve data from `relay-m` endpoint `/v1/relays`:
  - id
  - relay_pubkey
  - builder_pubkey
- Create a new table for multiple relays in `mev-m` database `relay_payload_source` which contains the following fields:
  - relay_id
  - slot_number
  - signed_value
  - proposer_fee_recipient
- deprecate fields `builder_key`, `relay_pubkey` in `slot_storage` table and use new ones from `relay_payload_source` table
- Create a new service that will pull data regarding block, and will have below features:
  - pull data from `Relay-M` via `/v1/stats/:statId/:slotNumber` endpoint
  - store data into `payload_source` table
- Create a new section in Grafana "MEV-Monitoring DB" dashboard that reflects the following metrics:
  - number of values for slot from various relays (X: slot_number, Y: number of values)
  - difference between actual slot's value and the rest values from each known relay
