Cointime

Download App
iOS & Android

What Is Sleepminting And Will It Ruin NFT Provenance?

published 2021-04-22 by timdaub

Today, while browsing /r/ethereum, I stumbled upon an impersonation attack using NFTs called "sleepminting." I ended up taking a closer look as I wanted to understand the idea of the attack. Here's how it works.

The Bait

Oh, look, it's beeple's multi-million dollar piece "the first 5000 days" for sale on rarible. Check the screenshot, It clearly says "Creator: beeple." Wow, Metakovan must have gotten badly rekt having to sell that $69M combo-breaker for a handful of WEIs.

Please don't fall for it! It's a scam. Or shall I saw an art piece? That's right! Its creator, Monsieur Personne, that also goes by the self-proclaimed alter ego The Banksy of NFTs, deliberately minted the piece under beeple's name using a technique he calls sleepminting. Why? Because Monsieur is disappointed in NFTs. So how did he do it?

The Basics

NFTs are created using ERC-721 smart contracts. They the ownership record of NFTs as a list of pairs. One address and a piece's serial number make up a pair. Like this (I replaced "Bob" with "Booble"):

  • Alice: 1
  • Booble: 2
  • Malory: 3

Upon a sale, Alice can transfer her piece to Boople by:

  • transfer 1: Alice ==> Booble

Now, the list of pairs is updated as follows:

  • Alice:
  • Booble: 2, 1
  • Malory: 3

In Ethereum, we don't use clear names for identification but addresses. And we need to sign transfers to authorize them. But in the examples provided in this post I'll use clear names to simplify explaining.

Now, usually developers implement ERC-721 contracts in a reasonable way. As we expect Alice can then only transfer a piece if she owns it and can deliver a valid signature. But what happens if a developer doesn't respect this convention?

See, the ERC-721 standard is just a social contract that defines a interface to allow art platforms to interoperate. There's no criteria for what's a good and what's a bad implementation. As long as a contract's interface matches that of an ERC-721 contract, any machine is considering it as valid.

But, as we've now seen, that can lead to safety issues with NFTs' provenance on Ethereum. It can be tampered with!

The Attack

As I said, any reasonable ERC-721 contract would allow a minter only to mint to themselves and to only transfer the pieces they own.

But say we customize our ERC-721 contract such that we can mint to other accounts. And say that we adjust the transfer function so that our account can, in a minor exception, also transfer another person's pieces. Well then, we can build a contract that allows us to sleepmint pieces. So as the attacker Malory, we'd do the following: We'd mint a piece with the serial number 1 to Booble:

  • mint 1: address(0) => Booble (executed by Malory)

Now our pairs look as follows:

  • Alice:
  • Booble: 1
  • Malory:

Then, since Malory has adjusted the contract to transfer the piece with serial number 1 from Booble's account to any other account, she can offer it for sale on an NFT platform like rarible.

As she minted from address(0) to Booble as "Creator: Booble" is displayed.

Once Malory successfully deceived a buyer, she receives her Ethers and transfers the piece to the buyer:

  • transfer 1: Booble => Buyer (executed by Malory)

The updated ownership record now reads:

  • Alice:
  • Booble:
  • Malory:
  • Buyer: 1

And with that, Malory has successfully tampered with the NFT's provenance record to sell her piece for more than it's worth.

The Specifics

So is this attack breaking NFTs? Should you panic sell your collection of crypto punks? What about poor Metakovan. He rekt now?

I'd say no. Sure, rarible and Etherscan state wrongly that beeple has minted a piece that genuinely he didn't. However, that's more of an interface issue than it is a security vulnerability. Nobody ever had access to beeple's account.

Also, the impersonater can be spotted when taking a closer look at the origin transactions:

Let's take a closer look at these transactions.

For the mint transaction, we can see that Etherscan displays two "From" fields: One for which msg.sender sent the transaction and another one to state the NFT's sender.

For the transaction's from field, the msg.sender, it cannot be manipulated as it requires a valid signature from the sender's private key. The authorization of the "From" field for the NFT's sender is, however, subject to the smart contract's implementation and, hence, may not display authenticated information.

Simply put, the NFT's sender field could display any data an attacker picks.

Hence, to spot a sleepminted piece from an original, one has to check if both the mint transaction's sender and the NFT's sender match beeple's correct address. If not, it's a fake.

Conclusion

I love this attack. It's similar to rug pulling in that it also plays with the user's trust towards an online identity. We think, now that we use blockchain, all our web2 problems are gone. Every piece of data is authenticated and checked for authorization. But the truth is that these problems aren't gone. They've just shifted somewhere else.

We humans cannot reproduce cryptographic verification in our brains. Sure, we can be extra careful and only trust green checkmarks and lock symbols in user interfaces. But can we recompute hashes of files or the validity of a digital signature? No.

And so the rise of new attacks on web3 is inevitable. I for one am looking forward to learning from them.

NFT
Comments

All Comments

Recommended for you

  • Bitcoin spot ETFs saw net inflows of $459 million last week.

    according to SoSoValue data, during the trading days last week (December 29 to January 2, Eastern Time), Bitcoin spot ETFs had a net inflow of $459 million. The Bitcoin spot ETF with the largest single-week net inflow last week was BlackRock's ETF IBIT, with a weekly net inflow of $324 million. Currently, IBIT's total historical net inflow has reached $62.38 billion. Next is Fidelity's ETF FBTC, with a weekly net inflow of $106 million, and FBTC's total historical net inflow has reached $12.20 billion. The Bitcoin spot ETF with the largest single-week net outflow last week was Grayscale's ETF GBTC, with a weekly net outflow of $53.67 million. Currently, GBTC's total historical net outflow has reached $25.24 billion.

  • BTC breaks through $93,000

     the market shows BTC breaking through $93,000, currently at $93,014.62, with a 24-hour increase of 2.11%. The market is highly volatile, please manage your risk accordingly.

  • Bloomberg: Strategy may face billions of dollars in losses in Q4 2025 due to a decline in the value of its Bitcoin holdings.

    Strategy may disclose a loss of several billion dollars in the fourth quarter of 2025, due to the group's holding of approximately $60 billion in Bitcoin assets, with Bitcoin falling 24% in the fourth quarter, resulting in a significant paper loss. If true, this means Strategy may erase the $2.8 billion profit recorded in the previous quarter due to the Bitcoin crash.

  • Nexus Eco 2026 Opening AMA: A Builders’ Conversation

    Nexus Chain & Nexus Live kicked off the new year with their inaugural AMA—a direct builder-to-builder dialogue between Co-founder Ali and Ecosystem Lead Matt.

  • In 2025, the total net inflow into US Ethereum spot ETFs was $9.6863 billion.

     according to FarsideInvestors monitoring, the total net inflow of US Ethereum spot ETFs in 2025 is 9.6863 billion USD. The fund flow is dominated by strong inflows in the summer (July and August), positive throughout the year but with significant fluctuations, with increased outflows at the end of the year. The net fund flows for each month are as follows: January net inflow of 101.5 million USD; February net inflow of 60 million USD; March net outflow of 389 million USD; April net inflow of 66.1 million USD; May net inflow of 564.2 million USD; June net inflow of 1.1651 billion USD; July net inflow of 5.4309 billion USD; August net inflow of 3.8717 billion USD; September net inflow of 285.6 million USD; October net inflow of 570.1 million USD; November net outflow of 1.4236 billion USD; December net outflow of 616.3 million USD.

  • Yesterday, US Bitcoin spot ETFs saw a net outflow of $348.1 million.

    according to FarsideInvestors monitoring, yesterday the US Bitcoin spot ETF had a net outflow of 348.1 million USD, among which: BlackRock IBIT had a net outflow of 99 million USD, Fidelity FBTC had a net outflow of 66.6 million USD, and ARKB had a net outflow of 76.5 million USD.

  • The U.S. spot Ethereum ETF saw a net inflow of $67.84 million yesterday.

    according to Trader T monitoring, the US spot Ethereum ETF had a net inflow of 67.84 million USD yesterday.

  • The US spot Bitcoin ETF saw a net inflow of $354.77 million yesterday.

    according to Trader T monitoring, the US spot Bitcoin ETF had a net inflow of 354.77 million USD yesterday.

  • Nexus Ecosystem Core Asset NXR Liquidity Hits Record High, Underlying Pool TVL Exceeds $5.7M

    According to official Nexus ecosystem data, the Total Value Locked (TVL) in the core asset NXR's underlying liquidity pool has surpassed $5.7 million, setting a new all-time high since launch.

  • Nexus Chain Performance Verification Phase: "Aurora Network" Delivers Strong Results

    Nexus Chain's "Aurora Network" — launched in late November 2025 — has entered its performance verification phase with stable operation and growing ecosystem activity. The high-TPS, zero-Gas network has securely reached block height 735,515, processing ~37,000 transactions daily with over 40,000 active addresses.