



This week, let's explore a novel use-case on Flashbots: rescuing a CryptoKitty (or other NFT) stuck in an Ethereum account with an accidentally disclosed private key!
When a private key or mnemonic seed is accidentally or maliciously disclosed, hacker(s) immediately transfer out all major ERC20 tokens and ETH to themselves. However, the hacker often leaves behind NFTs, lesser-known ERC20's, and complex positions (Maker Vaults, SNX, etc).
As a last ditch effort, the victim might try to transfer in some ETH for gas in order to quickly transfer out their litter of CryptoKitties. Unfortunately, after transferring in 0.01 ETH for gas, it is IMMEDIATELY withdrawn by the hacker's bot, which monitors all compromised keys
The victim has now INTENTIONALLY given the hacker even more ETH and their dear CryptoKitties are still in the pound. What we need is to execute a 0-gas-price transaction from the compromised account, but PAY the miner for the transaction from a different, safe account
What we need is a Flashbots bundle: a set of transactions that are included atomically in a block. The required bundle here is: [TX #1: 0-gas-price transfer of CryptoKitty from hacked account to safe account, TX #2: Unrelated account paying miner for TX #1]
Flashbots has executed several of these adoptions after private key theft victims reached out to us. To see how this process worked, here is an example 0-gas-price CryptoKitty transfer from a compromised wallet: https://etherscan.io/tx/0xbdda3e1d4d879590b5d21ce777a91573fb5bbb40fa0f6cbcc8420a6d3d208668
... and the corresponding sponsor transaction, which appears next in the block, checks that the transfer occurred, then block.coinbase.transfer(msg.value): https://etherscan.io/tx/0xeb267d95fbfb241c76507430a96fbbd321c9a4316c916f69d3825e5572f758d6
To start your own CryptoKitty sanctuary or include some other 0-gas-price MEV transactions on-chain, check out the Flashbots MEV-Searcher FAQ! https://github.com/flashbots/pm/blob/main/guides/flashbots-alpha.md