The Scenario
A node operator handed off management of 30 validators to your team six weeks ago when they left the company. The previous operator kept the proposal logs in their head and in a personal Notion doc you don't have access to. An institutional client submitted a support ticket this morning asking for a record of missed proposals over the last 100 epochs — they suspect the previous operator had a reliability problem. You need that data today.
The bad version:
- Export proposal history from beaconcha.in for validator 1 as a CSV, import into Excel, locate the status column, filter to the last 100 epochs
- Repeat for all 30 validators, keeping a checklist of which ones you've done because nothing in the process tracks this for you
- Discover that two validators had multiple proposals in the same slot and you have to verify whether the CSV included both or collapsed them
You inherited this situation. The data is what it is. But your answer to the client is only as good as how fast you can get it into a format you can explain.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads your 30 validator indices from column A, pulls proposal records from Beaconchain for the last 100 epochs, and writes the slot-level detail into the workbook without a single manual CSV import.
Pull block proposal records for validators listed in column A of my Excel table from Beaconcha.in and write slot, epoch, proposal status, and execution reward to columns B through E
What You Get
- One row per proposal event, spanning all 30 validators
- Four columns: slot number, epoch, proposal status (proposed/missed), and block reward in gwei
- Validator index written into a fifth column for attribution — so you can filter by validator immediately
- Missed proposals surfaced in the same table alongside successful ones, with the status column ready to filter
What If the Data Is Not Quite Ready
You only want the missed proposals pulled out into a separate worksheet for the client response
Fetch Beaconchain proposal history for validators in column A of my Excel table — write all proposal records to the Full Log worksheet — then copy only rows where status is missed to a new worksheet called Missed Proposals, sorted by epoch ascending
The block reward column shows gwei but the client wants ETH
Pull Beaconchain proposal history for validators in column A of my Excel table — write slot, epoch, status, and block reward — convert block reward from gwei to ETH before writing, formatted to 6 decimal places
You need to calculate proposal luck — expected vs actual — for the SLA argument
Fetch proposal history for validators in column A of my Excel table — write slot, epoch, and status to columns B, C, D — then add a column E with a running expected proposal count based on the epoch range and a column F showing actual proposed count, so proposal luck is calculable
Build the complete client response package: all proposal records, missed summary worksheet, and a per-validator summary table in one pass
Pull Beaconchain proposal history for all validators in column A of my Excel table — write full records to Full Log worksheet — create a Missed Proposals worksheet with filtered missed rows — create a Per Validator Summary worksheet showing total proposals, proposals made, and proposals missed per validator index — convert block rewards to ETH throughout
All three outputs from a single instruction, with no intermediate steps required.
Try It
Get the 7-day free trial of SheetXAI and open the workbook where you're tracking the inherited validator set — put the 30 indices in column A and ask SheetXAI to pull the full proposal history. The spoke on attestation efficiency scores covers the SLA reporting angle, and the hub page has the complete list of Beaconchain workflows.
