On-chain investigationEthereum staking30 September 2026

MetaMask Staking pulled 17,000 validators. The intruder took 0.36 ETH

When an intruder gets inside a company that runs Ethereum validators, what can they take? We followed the MetaMask Staking incident on-chain, block by block, to see what was taken and what got out in time.

At a glance
An intruder got into the systems of MetaMask's staking arm, and the company began pulling its validators off Ethereum. By the morning of 1 October, 16,965 of them holding 565,056 ETH had left or joined the exit queue, 7,191 run for Lido. The intruder could not touch the stake. They did redirect the tips from 18 blocks that afternoon, 0.36 ETH in all. MetaMask's first exit landed 85 minutes before the first of those blocks. No validator was slashed.
16,965
Validators MetaMask Staking is exiting, counted on 1 October
565,056
ETH those validators hold, about $1.5 billion
0.36 ETH
Block tips diverted, from 18 blocks
85 min
From MetaMask's first exit to the first diverted block
Key findingsEach line has its own share link
  1. 16,965

    Validators MetaMask Staking had exited or queued to exit by early on 1 October. They hold 565,056 ETH.

  2. 0.36 ETH

    Block tips that went to a wallet the intruder set, from 18 blocks. It has not sent a transaction.

  3. 85 min

    MetaMask's first exit landed 85 minutes before the first diverted block. All 6 blocks its validators proposed in between paid the right address.

  4. 11 of 11

    Blocks from the main Lido set between 12:12 and 16:11 UTC that paid the intruder. Every one did.

  5. 0

    Validators slashed. If all 17,000 had been slashed together, about 22,000 ETH would have burned.

  6. 821

    Validators in MetaMask's own pooled staking vault that had not asked to leave by the morning of 1 October.

01 · Two blocks, 48 seconds apartOne block paid Lido. The next paid a stranger

At 12:11 UTC on 30 September, it was the turn of a validator run by MetaMask Staking to propose an Ethereum block. The tips from that block, the extra fees users pay to get into it, went to Lido's rewards vault. That is where a Lido validator's tips are meant to go.

The next validator MetaMask runs got its turn 48 seconds later, and its tips went to a fresh wallet that had been funded through Tornado Cash that morning. For the next four and a half hours, most blocks from its machines paid that wallet.

MetaMask Staking is the validator business behind the MetaMask wallet, formerly Consensys Staking. It runs validators for other people. Its clients include Lido, the protocol behind stETH, and MetaMask's own pooled staking product.

The same day, MetaMask said it was dealing with a security incident and was pulling validators out as a precaution. Late that evening Lido told stETH holders that the ones MetaMask runs for it were on their way out. Neither said how many.

Bitquery indexes Ethereum, so we went to the chain for what the two posts left out. We counted what left and added up the tips that reached the wrong wallet. Then we put the day in order and found something odd. MetaMask had already been pulling validators out for 85 minutes when the first tip went missing. How the intruder got in is not on the chain. What they could reach is.

02 · What a staking company holdsThe intruder could reach the tips and the signing keys, but never the stake

A validator is a stake of 32 ETH or more, locked up to help run Ethereum. In return it earns rewards. Running one is a job for a machine that has to stay online, so many stakers hire a company to do it.

That company does not get the stake. When a validator is created, its owner names a withdrawal address, and the stake can only ever be paid out there. For Lido's validators it is a Lido contract. The staking company holds something else, the signing key, which is used to propose blocks and to vote on them.

What a staking company holdsthe three parts of a validator, and who controls each
ONE VALIDATOR, THREE PARTS, TWO OF THEM AT THE STAKING COMPANYTHE STAKE32 ETH or more, locked up.It can only be paid out to theowner's withdrawal address.HELD BY THE OWNEROut of the intruder's reachTHE SIGNING KEYSigns blocks and votes.Two signatures that clashget the validator slashed.HELD BY THE STAKING COMPANYAt risk, never abusedTHE FEE ADDRESSWhere block tips are paid.A setting on the machinethat runs the validator.SET BY THE STAKING COMPANYChanged for 4.5 hours
The stake can only be paid out to its owner. The signing key and the fee address sit with the company that runs the validator, so those are what an intruder there can reach.

There is a third part, the fee address. When a validator proposes a block, the tips are paid to whatever address its machine has on file. It is only a setting. The staking company controls it.

So someone who breaks into a staking company cannot run off with the stake. They can do two other things. They can point the tips at their own wallet, and they can make the keys sign messages they should not. Ethereum punishes a validator that signs two clashing messages by burning part of its stake, a penalty called slashing. The more of them get slashed together, the bigger the burn for each one.

A signing key cannot be swapped. If one may have leaked, the only fix is to exit, take the ETH out, and stake it again under a new key. MetaMask started doing that on the morning of the 30th.

03 · The morningThe first exit came 19 minutes after the intruder's wallet was funded

The wallet that would later collect the tips came to life at 10:27 UTC. It received a small amount of ETH from Tornado Cash, the mixer people use to hide where their money came from.

Just 19 minutes later, the first validator MetaMask runs asked to leave. It belonged to a small set that the company runs for Lido, 125 of them, some holding thousands of ETH each, and within half an hour the whole set had asked to go.

The day in order30 September 2026, 10:00 to 17:30 UTC
30 SEPTEMBER 2026, UTC10:0011:0012:0013:0014:0015:0016:0017:00THE INTRUDERblock tips diverted, 12:12 to 16:4610:27 wallet funded through Tornado Cash12:05 first signed message naming the walletMETAMASK STAKINGexit messages going out10:46 first exit, a Lido validator11:02 rest of the small Lido set11:44 other clients11:53 main Lido set16:10 to 17:08 fee addresses put back
MetaMask's exits started before the first signed message that names the wallet, and before the first diverted block. They carried on through the evening.

Then came everyone else. Before noon, validators run for MetaMask's other clients began to exit, as many to a block as Ethereum allows. The main Lido set, about 7,000 strong, started 10 minutes after them.

We can't see what MetaMask knew that morning, or when it knew it. An exit has to be signed with the validator's own key, and both MetaMask and Lido say MetaMask sent them. What the chain adds is the clock. Between the first exit and the first missing tip, its machines proposed 6 blocks. Every one paid the right address.

The next one did not.

04 · Four and a half hoursThe intruder collected 0.36 ETH from 18 blocks

Over the next 4 hours, MetaMask's machines proposed 19 blocks, and 17 of them paid the intruder. That includes every block from the main Lido set, whose tips belong in Lido's rewards vault. One last diverted block came about half an hour later, from MetaMask's pooled staking vault.

Who got the tips, block by blockevery block proposed by a MetaMask-run validator, 10:27 to 17:10 UTC, 30 September
EACH MARK IS ONE BLOCKtips went to the intrudertips went to the right address12:12 to 16:46Lido, main setLido, small setClients other than Lido11:0012:0013:0014:0015:0016:0017:0030 September 2026, UTC
Red blocks paid the intruder. Before 12:12 none did. Between 12:12 and 16:46, 18 did. From 12:12 until the fee addresses were put back, only two blocks stayed teal.

The haul was 0.36 ETH, less than a thousand dollars. On 1 October it was still sitting in the wallet, which has never sent a transaction.

How did that wallet get on file? A validator tells block builders, the firms that put blocks together, where to send its tips in a short message, and it signs that message with its own key. The earliest message we found that names this wallet was signed a few minutes before the first diverted block. So the intruder could either make the keys sign, or change the setting on the machines that do the signing. Either way they were inside MetaMask's setup, and that alone is reason enough to stop trusting the keys.

Two blocks in the window still paid their rightful owners. For one of them we can see why. Part of the block-building network was still working from an older message that named the right address. MetaMask put the fee addresses back in waves late that afternoon, and within an hour the last one was fixed.

That was the whole theft. The exit going on around it was far bigger.

05 · The scaleAbout 17,000 validators and 565,000 ETH are on the way out

MetaMask has not said how many validators it is pulling. For Lido we can count them, because Lido publishes the keys each staking company runs for it. By early on 1 October, a little over 7,000 of them had left or joined the exit queue, the line you wait in to leave. They hold about a quarter of a million ETH.

The other clients took more work. When MetaMask put the fee addresses back, each of its validators signed a fresh message, all within the same hour, and that timestamp works like a stamp. We found it on every validator we sampled from the main Lido set, and on almost none picked at random from the rest of Ethereum. Then we checked every validator that joined the exit queue after MetaMask's first exit.

The 16,965 validators MetaMask is exitingby client group, as of 05:29 UTC on 1 October
VALIDATORS LEAVING, BY GROUPLido, main set7,066 validators · 226,112 ETHSmaller clients4,264 validators · 136,448 ETHTips go to Coinbase4,041 validators · 129,312 ETHMetaMask pooled staking1,469 validators · 47,008 ETHLido, small set125 validators · 26,176 ETH
Lido's count comes from Lido's own key list. The rest are matched by the fee message they signed when the fee addresses were put back.

Nearly 10,000 of the validators we checked carry the stamp. The largest single group, about 4,000, sends its tips to an address that our labels mark as Coinbase's, and some of the diverted blocks came from that group. The chain shows where the tips go and nothing about the contract behind them, so we can't say what the deal between the two companies is.

Add it up and MetaMask is pulling about 17,000 validators. Together they hold more than half a million ETH, roughly $1.5 billion. A little over a thousand more joined the queue over the same hours without the stamp. We left those out, so the real figure may be a little higher.

GroupValidatorsETH
Lido, main set7,066226,112
Lido, small set12526,176
Tips go to Coinbase4,041129,312
MetaMask pool1,46947,008
Smaller clients4,264136,448
All MetaMask-run16,965565,056

06 · The queueLido's last validator leaves on 7 October, and the wait does not end there

Getting that many validators out takes time. Ethereum does not let everyone walk out at once. There is a daily limit, and when more want to leave than the limit allows, the rest wait their turn in the exit queue. Right now the limit works out to about 1,800 validators per day.

The exit queue, day by dayvalidators leaving per day, 30 September to 11 October 2026
VALIDATORS LEAVING PER DAYLidoTips go to CoinbaseSmaller clientsMetaMask pooled stakingNot run by MetaMask05001,0001,5002,00030 Sep1 Oct2 Oct3 Oct4 Oct5 Oct6 Oct7 Oct8 Oct9 Oct10 Oct11 Octday each validator stops validating, UTC
Each bar is one day. The bars stop at about 1,800 because that is all Ethereum lets out per day. The first day is shorter because the large Lido validators took up most of the room. The last is a part day.

The small Lido set got out first and was gone the same day. The main set leaves over the following week, with the last one out on 7 October, the date Lido gave. MetaMask's other clients fill the queue for 4 more days after that.

Leaving is half the trip. The ETH is paid back to Lido, which has to stake it again under new keys, and new stake waits in a queue of its own. On 1 October that deposit queue was about 27 days long.

Why the ETH is out for weekswhat happens to Lido's ETH after a validator leaves
THE ROUND TRIP FOR LIDO'S ETH1 · EXIT QUEUEValidators stop one batch at a time.Last one leaves 7 October2 · PAID BACKThe ETH returns to Lido'swithdrawal contract3 · DEPOSIT QUEUEStaked again with fresh keys.About 27 days' wait on 1 OctLido's estimate for the whole trip: up to 45 days. The ETH earns nothing along the way.
The exit dates are what the chain shows. The 45-day figure is Lido's own estimate.

Lido puts the whole round trip at up to 45 days. Once a validator has left, its ETH earns nothing until it is staked again, so for stakers the cost of this incident is mostly lost time. The staking company Kiln made the same move after a breach in September 2025.

Not everything is in the queue yet. By the morning of 1 October, 821 validators in MetaMask's pooled staking vault had not asked to leave, including one whose tips were diverted. A second diverted one, run for another client, was still going too. And a batch of Lido keys had not even started. They were still waiting in the deposit queue, and they cannot leave until they have joined. Until a validator is out, its signing key can still get it slashed.

07 · The worst caseSlashing was the real danger, and nobody was slashed

The intruder took 0.36 ETH. What they could have destroyed is a much bigger number. With the signing keys, they could have made validators sign clashing messages and get slashed.

Slashing is built to hurt most when many fail together. One slashed validator loses a sliver of its stake. If every Lido validator MetaMask runs had been slashed at once, each would have lost close to 2% of its stake, about 4,400 ETH in all. Lido keeps a reserve for losses like that. It is big enough to have covered this one. If everything MetaMask is now pulling had been slashed together, the rate would have more than doubled, and Lido's share of the loss would have outgrown the reserve.

What was taken, and what was at riskETH, on a scale where each step is 10 times the last
ETH, EACH GRIDLINE IS 10 TIMES THE ONE BEFORE1101001,00010,000100,0001 millionTips the intruder took0.36 ETHWorst case, Lido validators only4,400 ETHLido's reserve6,750 stETHLido's share if all were slashed9,800 ETHWorst case, every validator leaving22,000 ETHKelp DAO exploit, April 2026116,500 rsETHStake MetaMask is exiting565,056 ETH
The red bar is what the intruder took. The amber bars are what slashing could have burned if the signing keys had been abused. None of it was.

None of that happened. Ethereum did not record a single slashing in the 5 weeks before our snapshot, and all but 3 of the queued Lido validators were still voting on blocks in the last round we read. For scale, the Kelp DAO exploit in April took about 116,500 rsETH, a token backed by staked ETH. Even the worst case here was several times smaller.

08 · Open questionsWhat the chain cannot tell us

MetaMask has not said how the intruder got in, and the chain cannot say either. It also cannot say whether the intruder ever held the signing keys or only reached the settings around them. MetaMask is acting as if the keys can no longer be trusted, which is the safe call.

The wallet is the other loose end. After the Bitget hack, the money crossed 9 chains within a week. This wallet has not moved at all.

So the two blocks, 48 seconds apart, are where an intruder with a way into more than half a million ETH of validators took their first tip. By then MetaMask had been pulling them out for well over an hour. The intruder left with 0.36 ETH and has not spent any of it.

09 · How we measured itMethod

We read Ethereum's validator list as it stood early on 1 October, and every block proposed from mid-morning to late afternoon UTC on the day of the incident. Lido's validators come from the key list Lido publishes. We matched everything else by the fee message it signed when MetaMask put the fee addresses back. We followed the tips to the wallet that received them, and checked its balance again before publishing. Dollar figures use the ETH price at the close of 30 September. Times are shown to the minute, and the gaps between them are measured to the second.

The same data is open to anyone through Bitquery's Ethereum docs. If you need a case like this traced for you, that is what our investigations team does.

10 · The recordAddresses and transactions behind this story

WhatAddress or transaction
Intruder's wallet0x98B923…24A3
Tornado payout, 10:270xbc403e…82bc
First tip, 12:120x363c9b…4ead
Last tip, 16:460x4a773e…821f
Lido rewards vault0x388C81…9297
Lido withdrawals0xB9D793…293f
MetaMask pool vault0x4FEF9D…47Df
Coinbase fee address0x4675C7…a263
First exit, 10:46Validator 2364995
Time, UTCValidatorGroupETHPayment
12:12:23603339Lido0.00820x363c9b…4ead
12:27:11603796Lido0.01050x133fcb…cc9b
12:28:352355714Lido0.01280x902641…00db
12:42:352293520Other client0.05420x54e8e6…0e7d
12:48:112221830Lido0.02580x522fe9…1fac
12:53:111294492Other client0.01060x030ad1…55a3
13:05:112293320MetaMask pool0.03840x8babb6…86d5
13:24:352236834Other client0.01510x7963cf…3526
13:29:351752137Other client0.02020xcce44e…717c
13:57:23825030Lido0.01030x6fa8b8…5bfd
14:33:23562336Lido0.01980x4fa774…5d99
14:37:471616197Lido0.02650xc12694…18cd
15:05:591982156Lido0.02210x8bb74f…3d07
15:09:59556773Lido0.01600x66649d…8131
15:22:111314783Other client0.02010x7bced6…85c7
15:50:11533215Lido0.02010x7c1706…b706
16:11:472219856Lido0.01610x55d737…ebdb
16:46:112246929MetaMask pool0.01460x4a773e…821f

FAQ

Was MetaMask hacked?

MetaMask says it had a security incident in part of its infrastructure, inside its staking business. On-chain, the fee address of validators it runs was changed for about four and a half hours on 30 September, and 18 blocks paid their tips to an outside wallet. MetaMask says it has found no immediate threat to MetaMask wallets.

Is my MetaMask wallet safe?

MetaMask's statement says it has identified no immediate threat to MetaMask wallets. The incident we measured is in MetaMask Staking, the business that runs validators. We looked at validators and their tips, so this data cannot speak for user wallets either way.

How many validators did MetaMask Staking exit?

About 17,000 by early on 1 October, and together they hold more than half a million ETH. Fewer than half of them were run for Lido. The rest belong to other clients, including MetaMask's own pooled staking product.

Did Lido stakers lose money?

No stake was taken and no validator was slashed. Tips from 11 Lido blocks, about 0.19 ETH, went to the intruder when they should have gone to Lido's rewards vault. The larger cost is time. Lido says the exited ETH may take up to 45 days to be staked again, and it earns nothing until then.

What is slashing on Ethereum?

Slashing is the penalty for a validator that signs two clashing messages. Part of its stake is burned and it is forced out. The penalty grows with the number slashed around the same time, so a company that runs thousands of validators can lose far more on each one than a solo staker would.

How long is the Ethereum exit queue?

On 1 October the exit queue was about 10 days long, because only around 1,800 validators of ordinary size can leave per day and MetaMask's exits filled it. The deposit queue for new stake was longer still, at close to a month.

Limits on these figures

All counts are as of 05:29 UTC on 1 October 2026. Exits were still being sent, so later counts will be higher.

Lido's validators are counted from Lido's published key list and are exact. Other clients are matched by the fee message their validators signed on 30 September between 16:10 and 17:10 UTC. A MetaMask-run validator that signed no such message is not counted, so 16,965 is a floor.

The fee address our labels mark as Coinbase's shows where those validators send their tips. It does not show who owns the stake or what agreement exists between the companies.

Exit messages are signed with a validator's own key. That MetaMask sent them is what MetaMask and Lido have said; the chain cannot confirm who pressed the button.

The worst-case figures apply Ethereum's slashing rules to the stake involved. They leave out the rewards a slashed validator misses afterwards, and they describe something that did not happen.

Times for signed fee messages come from the validators' own clocks. Block times and payments are from the chain.

Legal disclaimer

This article is provided for informational and educational purposes only and reflects analysis of publicly available on-chain data as of the dates indicated. It does not constitute legal, financial, compliance, or investment advice, and nothing in it is a recommendation to buy, sell, or hold any token or asset.

The findings describe validators, blocks and payments observed in Ethereum data on 30 September and 1 October 2026, together with the rules we used to tell which validators MetaMask Staking runs. Attributions come from Lido's published key list, from Bitquery's address labels and from on-chain behaviour; they may be incomplete or incorrect and may be revised as more data becomes available.

References to MetaMask, Consensys, Lido, Coinbase, Kiln or any other named company describe what the record shows about validators and addresses linked to them. They are not statements about any company's security practices, contracts, solvency or conduct, and nothing here asserts that any party acted unlawfully or negligently. The wallet that received the diverted tips is described by its behaviour and attributed to nobody.

Nothing herein should be relied upon as a definitive determination of fact. Readers should conduct their own independent verification before taking any action. The authors and publisher accept no liability for any loss or damage arising from reliance on this material. All trademarks and company names are the property of their respective owners.

Reported by Gaurav Agarwal for Bitquery Research, with AI tools; every figure was checked against the raw data.

Run it yourself

Ask these questions in plain English

The payments in this story come from Bitquery's Ethereum data. The Bitquery MCP server puts that data behind an AI assistant, so you can ask where a wallet's ETH came from, where it went, or what labels an address carries, without writing the query yourself.

Watch the intruder's wallet for its first outgoing transferTrace where any Ethereum wallet's funds came from and wentCheck an address against Bitquery's labelsRun your own SQL over Ethereum transfers
Explore Bitquery MCP →Figures measured 1 October 2026 against Ethereum, with the validator list read at slot 15,334,048.