By using this site you consent to accept Mesmer Data LLC's analytics and functional cookies.
Read more by clicking 'Cookie Settings' here, or in the bottom menu.

BTC - Realized Profit & Loss Sum, Entity-Adjusted (USD)


The Bitcoin Realized Profit & Loss Sum, Entity-Adjusted (USD) shows the aggregate profit or loss realized on-chain by asset holders over time in USD based on an entity-adjusted cost basis. This is the sum of two other metrics: Entity-Adjusted Realized Profit plus Entity-Adjusted Realized Loss, charted together here.

For the unadjusted data , the unadjusted Realized Profit & Realized Loss metrics (based on an unadjusted cost basis) are used.

Bitcoin's USD Market Price is included for reference.


Bitcoin Realized Profit & Loss, Entity-Adjusted & Unadjusted (USD):

for each block in blockchain:
  for each tx in block:
    pl_usd := tx.val_usd - tx.costbasis_usd
    if (pl_usd > 0):
      block.profit += tx.pl_usd
      block.loss += tx.pl_usd
    if not block.is_intra_entity:
      pl_usd_eadj := tx.val_usd - tx.costbasis_usd_eadj
      if (pl_usd_eadj > 0):
        block.profit_eadj += tx.pl_usd_eadj
        block.loss_eadj += tx.pl_usd_eadj
      block.pl_sum := block.profit + block.loss)
      block.pl_ea_sum := block.profit_eadj + block.loss_eadj)
  (x,y1) := (block.time, block.pl_sum)
  (x,y2) := (block.time, block.pl_ea_sum)

for each hour in blockchain:
  hr_p_usd := sum(blockchain[hr_start:hr_end].profit)
  hr_l_usd := sum(blockchain[hr_start:hr_end].loss)
  hr_pl_sum := hr_p_usd + hr_l_usd
  (x,y1) := (hour, hr_pl_sum)

  hr_p_eadj_usd := sum(blockchain[hr_start:hr_end].profit_eadj)
  hr_l_eadj_usd := sum(blockchain[hr_start:hr_end].loss_eadj)
  hr_pl_eadj_sum := hr_p_eadj_usd + hr_l_eadj_usd
  (x,y2) := (hour, hr_pl_eadj_sum)

for each day in blockchain:
  day_p_usd := sum(blockchain[day_start:day_end].profit)
  day_l_usd := sum(blockchain[day_start:day_end].loss)
  day_pl_sum := day_p_usd + day_l_usd)
  (x,y1) := (day, day_pl_sum)

  day_p_eadj_usd := sum(blockchain[day_start:day_end].profit_eadj)
  day_l_eadj_usd := sum(blockchain[day_start:day_end].loss_eadj)
  day_pl_eadj_sum := day_p_eadj_usd + day_l_eadj_usd)
  (x,y2) := (day, day_pl_eadj_sum)

Technical Info

This metric is the sum of profit and loss values from Realized Profit & Loss Split, Entity-Adjusted (USD) for entity-adjusted data.

This metric is the sum of profit and loss values from Realized Profit & Loss Split (USD) for unadjusted data (chart in progress).

As coins move between TXOs, we track the difference between the values of acquisition and sale, and we do this for every transaction on the chain. For the unadjusted data, each time a coin moves, its cost basis and profit values reset. For the entity-adjusted data, the cost basis for a coin only resets when the coin travels between entities, and intra-entity "profits" are excluded. Here we chart the profit and loss total for all transactions.

Our entity tracking uses a proprietary algorithm, the foundation of which groups transaction input addresses. We currently track over 99 600 000 entities, spanning over 795 000 000 addresses. The largest entity has approximately 37 480 000 addresses, and the average has 7.98.

  • Hourly and daily aggregations are derived from block data using sum for this metric.
  • Hourly data contains occasional gaps; no blocks were generated during these times.


This site is currently in Beta, and there will likely be some bugs. If you find any, please check out the FAQ first, and then let us know! Thanks! Chart views are saved between visits, so if you have any display issues and want to reset your chart view, click here.

This site is for informational use only. Users are required to conduct their own analysis, draw their own conclusions, and make their own financial decisions. Consult with qualified professionals before making investments. This service is not intended as legal, financial or investment advice. For full details please visit our Disclaimers page.