Buying or selling multiple NFTs in one transaction requires allocating the total cost or proceeds to each individual piece.

The IRS doesn’t let you lump 10 NFTs together with a single $50,000 cost basis. Each NFT needs its own basis for when you eventually sell them individually.

How to Allocate Cost on Purchase

Use fair market value proportions on the date of purchase.

You sweep 5 NFTs from the same collection for 10 ETH total. The floor price was 2 ETH at the time. All 5 are traits-similar floor pieces.

Simple allocation: 10 ETH ÷ 5 NFTs = 2 ETH cost basis each.

But what if one has rare traits?

You buy 3 Pudgy Penguins in one transaction for 15 ETH total:

  • Penguin A: Floor traits (worth 4 ETH individually)
  • Penguin B: Floor traits (worth 4 ETH individually)
  • Penguin C: Gold trait (worth 7 ETH individually)

Total fair market value if bought separately: 15 ETH (4 + 4 + 7).

Allocation:

  • Penguin A: 15 ETH × (4/15) = 4 ETH basis
  • Penguin B: 15 ETH × (4/15) = 4 ETH basis
  • Penguin C: 15 ETH × (7/15) = 7 ETH basis

This prevents you from cherry-picking basis later.

Allocating Proceeds on Sale

Same principle applies when selling multiple NFTs in one transaction.

You bundle-sell 4 Doodles to one buyer for 12 ETH total. Individual floor prices at sale:

  • Doodle A: 2.5 ETH (rare trait)
  • Doodle B: 3 ETH (floor)
  • Doodle C: 3 ETH (floor)
  • Doodle D: 3.5 ETH (slightly above floor)

Total market value: 12 ETH.

Allocated proceeds:

  • Doodle A: 12 ETH × (2.5/12) = 2.5 ETH
  • Doodle B: 12 ETH × (3/12) = 3 ETH
  • Doodle C: 12 ETH × (3/12) = 3 ETH
  • Doodle D: 12 ETH × (3.5/12) = 3.5 ETH

Then calculate gain/loss for each NFT individually using its original cost basis.

Gem and Blur Aggregator Purchases

When you use Blur or Gem to sweep the floor with one click, you’re executing multiple purchases simultaneously.

The transaction receipt shows each NFT’s individual price—use those exact amounts as your cost basis.

Example Blur sweep:

  • NFT #1234: 1.8 ETH
  • NFT #5678: 1.9 ETH
  • NFT #9012: 2.1 ETH
  • Gas: 0.05 ETH
  • Total: 5.85 ETH

Cost basis for each:

  • NFT #1234: 1.8 ETH + (0.05/3) = 1.8167 ETH
  • NFT #5678: 1.9 ETH + (0.05/3) = 1.9167 ETH
  • NFT #9012: 2.1 ETH + (0.05/3) = 2.1167 ETH

Allocate gas fees proportionally or equally across all NFTs in the batch. Document your method and use it consistently.

Private Bundle Sales

You sell your entire BAYC collection (8 apes) to one buyer for 800 ETH in a single transaction.

You need to:

  1. Determine each ape’s fair market value at sale date
  2. Allocate the 800 ETH proportionally
  3. Calculate gain/loss for each ape individually

If all 8 apes are similar floor apes: 800 ETH ÷ 8 = 100 ETH allocated proceeds per ape.

If there’s trait variance, use rarity tools or recent sales data to estimate individual values, then allocate proportionally.

Documentation Requirements

Save these records for bundle transactions:

  1. Transaction hash showing the bundle purchase/sale
  2. List of each NFT included (token IDs)
  3. Individual fair market values at transaction date
  4. Allocation methodology you used
  5. Source for valuations (OpenSea floor, recent sales, rarity tools)

If the IRS audits you, they’ll want to see why you allocated $10,000 to NFT A and $5,000 to NFT B when you paid $15,000 total.

Action Step

Review all your aggregator purchases from this year. Check Blur, Gem, and OpenSea bulk transactions. Allocate cost basis to each individual NFT now, while you can still find floor price data for the purchase dates.

If you sold bundles, go back and allocate proceeds properly. Recalculate gains or losses for each piece. You might find mistakes that save you taxes or prevent audit issues.

Bundled transactions aren’t simpler for taxes—they’re more complex. But proper allocation is required, and doing it right can save you from future IRS headaches.