# Table of Contents - [Introduction | Glassnode Docs](#introduction-glassnode-docs) - [Studio | Glassnode Docs](#studio-glassnode-docs) - [General Information | Glassnode Docs](#general-information-glassnode-docs) - [Timestamps and Resolutions | Glassnode Docs](#timestamps-and-resolutions-glassnode-docs) - [Supported Blockchains | Glassnode Docs](#supported-blockchains-glassnode-docs) - [Data Finalization | Glassnode Docs](#data-finalization-glassnode-docs) - [Point-in-Time Metrics | Glassnode Docs](#point-in-time-metrics-glassnode-docs) - [Getting Started | Glassnode Docs](#getting-started-glassnode-docs) - [Data Availability | Glassnode Docs](#data-availability-glassnode-docs) - [MVRV | Glassnode Docs](#mvrv-glassnode-docs) - [Tutorial 1 - Navigating Market Tops and Bottoms | Glassnode Docs](#tutorial-1-navigating-market-tops-and-bottoms-glassnode-docs) - [Metric Guides | Glassnode Docs](#metric-guides-glassnode-docs) - [Tutorial 2 - Introduction to On-chain Activity | Glassnode Docs](#tutorial-2-introduction-to-on-chain-activity-glassnode-docs) - [Market Capitalization | Glassnode Docs](#market-capitalization-glassnode-docs) - [Use-Case Tutorials | Glassnode Docs](#use-case-tutorials-glassnode-docs) - [STH-MVRV | Glassnode Docs](#sth-mvrv-glassnode-docs) - [Tutorial 4 - Introduction to Supply Dynamics | Glassnode Docs](#tutorial-4-introduction-to-supply-dynamics-glassnode-docs) - [MVRV-Z Score | Glassnode Docs](#mvrv-z-score-glassnode-docs) - [Granular Cohorts for Key On-Chain Metrics | Glassnode Docs](#granular-cohorts-for-key-on-chain-metrics-glassnode-docs) - [Get started with Glassnode Metrics | Glassnode Docs](#get-started-with-glassnode-metrics-glassnode-docs) - [SOPR | Glassnode Docs](#sopr-glassnode-docs) - [LTH-MVRV | Glassnode Docs](#lth-mvrv-glassnode-docs) - [Unrealized Profit/Loss | Glassnode Docs](#unrealized-profit-loss-glassnode-docs) - [Tutorial 3 - Fundamentals of Proof-of-Work Mining | Glassnode Docs](#tutorial-3-fundamentals-of-proof-of-work-mining-glassnode-docs) - [Realized Capitalization | Glassnode Docs](#realized-capitalization-glassnode-docs) - [Unrealized Profit | Glassnode Docs](#unrealized-profit-glassnode-docs) - [MVRV Ratio | Glassnode Docs](#mvrv-ratio-glassnode-docs) - [LTH-SOPR | Glassnode Docs](#lth-sopr-glassnode-docs) - [STH-SOPR | Glassnode Docs](#sth-sopr-glassnode-docs) - [Unrealized Loss | Glassnode Docs](#unrealized-loss-glassnode-docs) - [aSOPR (Adjusted SOPR) | Glassnode Docs](#asopr-adjusted-sopr-glassnode-docs) - [STH-NUPL | Glassnode Docs](#sth-nupl-glassnode-docs) - [LTH-NUPL | Glassnode Docs](#lth-nupl-glassnode-docs) - [Realized Loss | Glassnode Docs](#realized-loss-glassnode-docs) - [Realized Profit/Loss | Glassnode Docs](#realized-profit-loss-glassnode-docs) - [Stablecoin | Glassnode Docs](#stablecoin-glassnode-docs) - [Coin Issuance | Glassnode Docs](#coin-issuance-glassnode-docs) - [NUPL (Net Unrealized Profit/Loss) | Glassnode Docs](#nupl-net-unrealized-profit-loss-glassnode-docs) - [Realized Profit | Glassnode Docs](#realized-profit-glassnode-docs) - [Coin Days Destroyed | Glassnode Docs](#coin-days-destroyed-glassnode-docs) - [Net Realized Profit/Loss | Glassnode Docs](#net-realized-profit-loss-glassnode-docs) - [SOPR (Spent Output Profit Ratio) | Glassnode Docs](#sopr-spent-output-profit-ratio-glassnode-docs) - [Supply-Adjusted CDD | Glassnode Docs](#supply-adjusted-cdd-glassnode-docs) - [Binary CDD | Glassnode Docs](#binary-cdd-glassnode-docs) - [SSR (Stablecoin Supply Ratio) | Glassnode Docs](#ssr-stablecoin-supply-ratio-glassnode-docs) - [Supply-Adjusted CYD | Glassnode Docs](#supply-adjusted-cyd-glassnode-docs) - [Puell Multiple | Glassnode Docs](#puell-multiple-glassnode-docs) - [Dormancy | Glassnode Docs](#dormancy-glassnode-docs) - [CYD (Coin Years Destroyed) | Glassnode Docs](#cyd-coin-years-destroyed-glassnode-docs) - [Median Spent Output Lifespan (MSOL) | Glassnode Docs](#median-spent-output-lifespan-msol-glassnode-docs) - [Average Coin Dormancy | Glassnode Docs](#average-coin-dormancy-glassnode-docs) - [Velocity | Glassnode Docs](#velocity-glassnode-docs) - [Stock to Flow Deflection | Glassnode Docs](#stock-to-flow-deflection-glassnode-docs) - [NVT Ratio | Glassnode Docs](#nvt-ratio-glassnode-docs) - [Lifespan | Glassnode Docs](#lifespan-glassnode-docs) - [CDD (Coin Days Destroyed) | Glassnode Docs](#cdd-coin-days-destroyed-glassnode-docs) - [Supply-Adjusted Dormancy | Glassnode Docs](#supply-adjusted-dormancy-glassnode-docs) - [NVT | Glassnode Docs](#nvt-glassnode-docs) - [Average Spent Output Lifespan (ASOL) | Glassnode Docs](#average-spent-output-lifespan-asol-glassnode-docs) - [Stock to Flow | Glassnode Docs](#stock-to-flow-glassnode-docs) - [Stock to Flow Ratio | Glassnode Docs](#stock-to-flow-ratio-glassnode-docs) - [Spent Output Age Bands (SOAB) | Glassnode Docs](#spent-output-age-bands-soab-glassnode-docs) - [Long and Short-Term Holder Supply | Glassnode Docs](#long-and-short-term-holder-supply-glassnode-docs) - [Price Distribution | Glassnode Docs](#price-distribution-glassnode-docs) - [Profit/Loss (Supply) | Glassnode Docs](#profit-loss-supply-glassnode-docs) - [SOPD (Spent Output Price Distribution) | Glassnode Docs](#sopd-spent-output-price-distribution-glassnode-docs) - [NVT Signal | Glassnode Docs](#nvt-signal-glassnode-docs) - [Liveliness | Glassnode Docs](#liveliness-glassnode-docs) - [Age Distribution | Glassnode Docs](#age-distribution-glassnode-docs) - [Reserve Risk | Glassnode Docs](#reserve-risk-glassnode-docs) - [UTXOs in Profit | Glassnode Docs](#utxos-in-profit-glassnode-docs) - [API Key | Glassnode Docs](#api-key-glassnode-docs) - [On-chain Glossary | Glassnode Docs](#on-chain-glossary-glassnode-docs) - [Percent Supply in Profit | Glassnode Docs](#percent-supply-in-profit-glassnode-docs) - [On-Chain Concepts | Glassnode Docs](#on-chain-concepts-glassnode-docs) - [Percent UTXOs in Profit | Glassnode Docs](#percent-utxos-in-profit-glassnode-docs) - [Introduction | Glassnode Docs](#introduction-glassnode-docs) - [Endpoints | Glassnode Docs](#endpoints-glassnode-docs) - [HODL Waves | Glassnode Docs](#hodl-waves-glassnode-docs) - [UTXO vs. Account-Based Chains | Glassnode Docs](#utxo-vs-account-based-chains-glassnode-docs) - [Bulk metrics (beta) | Glassnode Docs](#bulk-metrics-beta-glassnode-docs) - [Affiliate FAQs | Glassnode Docs](#affiliate-faqs-glassnode-docs) - [URPD (UTXO Realized Price Distribution) | Glassnode Docs](#urpd-utxo-realized-price-distribution-glassnode-docs) - [Profit/Loss (UTXO) | Glassnode Docs](#profit-loss-utxo-glassnode-docs) - [Supply in Loss | Glassnode Docs](#supply-in-loss-glassnode-docs) - [Supply in Profit | Glassnode Docs](#supply-in-profit-glassnode-docs) - [Accumulation Trend Score | Glassnode Docs](#accumulation-trend-score-glassnode-docs) - [API Credits | Glassnode Docs](#api-credits-glassnode-docs) - [Understanding UTXOs - The Gold Coin Analogy | Glassnode Docs](#understanding-utxos-the-gold-coin-analogy-glassnode-docs) - [UTXOs in Loss | Glassnode Docs](#utxos-in-loss-glassnode-docs) - [DeFi | Glassnode Docs](#defi-glassnode-docs) - [Blockchain | Glassnode Docs](#blockchain-glassnode-docs) - [Supply Held by Long and Short-Term Holders | Glassnode Docs](#supply-held-by-long-and-short-term-holders-glassnode-docs) - [Support FAQ | Glassnode Docs](#support-faq-glassnode-docs) - [Entity-Adjusted Metrics | Glassnode Docs](#entity-adjusted-metrics-glassnode-docs) - [Bridges | Glassnode Docs](#bridges-glassnode-docs) - [Realized Cap HODL Waves | Glassnode Docs](#realized-cap-hodl-waves-glassnode-docs) - [Changelog | Glassnode Docs](#changelog-glassnode-docs) - [Lightning | Glassnode Docs](#lightning-glassnode-docs) - [Mempool | Glassnode Docs](#mempool-glassnode-docs) - [Workbench Guide | Glassnode Docs](#workbench-guide-glassnode-docs) - [Metadata | Glassnode Docs](#metadata-glassnode-docs) - [Institutions | Glassnode Docs](#institutions-glassnode-docs) - [Entities | Glassnode Docs](#entities-glassnode-docs) - [Exchange Data: Transparency Notice | Glassnode Docs](#exchange-data-transparency-notice-glassnode-docs) --- # Introduction | Glassnode Docs [NextStudio](https://docs.glassnode.com/welcome-to-glassnode/readme/glassnode-studio) Last updated 2 months ago [](https://docs.glassnode.com/#introduction) Introduction -------------------------------------------------------------- Glassnode is the industry's leading blockchain data and intelligence platform. We offer the most comprehensive , and provide a holistic and contextualised view of the crypto markets through intelligible and actionable insights. We equip investors with the necessary tools to confidently navigate this nascent industry, and help them to make educated decisions in an overly emotional and irrational market. Our data and insights are trusted by the world’s leading investors, hedge funds, banks, asset managers, and crypto companies. ### [](https://docs.glassnode.com/#what-do-we-offer) What do we offer? #### [](https://docs.glassnode.com/#data) **Data** We provide the industry’s most of intelligible and **contextualised** **on-chain and crypto financial metrics**, easily accessible through a , and trusted by the world's best traders, analysts, and researchers. We focus on the most liquid assets and sustainable networks in the industry: **Bitcoin** and **Ethereum**, along with its token ecosystem. | | #### [](https://docs.glassnode.com/#tooling) Tooling We set great store on user-centric interfaces: our platform and charting suite removes the abstract from crypto data and lets you seamlessly navigate, explore, and analyse our metrics through user-friendly tooling and intelligible visualisations. | | #### [](https://docs.glassnode.com/#insights) **Insights** We go beyond pure data provision and empower you to make better use of it as well: our team of world-class experts use our data to create , timely market analyses, and cutting-edge crypto research, to help you stay informed and make better decisions. is among the largest and world-renowned in the industry and goes out to hundreds of thousands of crypto investors every week. | | ### [](https://docs.glassnode.com/#links) Links #### [](https://docs.glassnode.com/#product) Product – Studio is our main platform providing you for the access to all charts. – Full overview of all metrics available on Glassnode. – Our official API documentation. – Our main source for market analyses and research reports. – The canonical source of information about our metrics and indicators. – Overview of our pricing and offering. [library of on-chain and financial metrics](https://gitlab.com/glassnode/web/docs/-/blob/master/data/metric-catalog/README.md) [comprehensive library](https://gitlab.com/glassnode/web/docs/-/blob/master/data/metric-catalog/README.md) [unified API](https://docs.glassnode.com/basic-api/api) [Explore our charts](https://studio.glassnode.com/charts) [View our metrics catalog](https://gitlab.com/glassnode/web/docs/-/blob/master/data/metric-catalog/README.md) [See our API documentation](https://docs.glassnode.com/basic-api/api) [Charts](https://studio.glassnode.com/charts) [Workbench](https://studio.glassnode.com/workbench) [Dashboards](https://studio.glassnode.com/dashboards) [educational content](https://docs.glassnode.com/guides-and-tutorials/metric-guides) [Our newsletter](https://insights.glassnode.com/tag/newsletter/) [Week On-chain](https://insights.glassnode.com/tag/newsletter/) [Videos](https://www.youtube.com/c/glassnode) [Research](https://insights.glassnode.com/tag/analyses/) [Studio](https://studio.glassnode.com/charts) [Catalog](https://docs.glassnode.com/data/metric-catalog) [API](https://docs.glassnode.com/basic-api/api) [Insights](https://insights.glassnode.com/) [Metric Guide](https://docs.glassnode.com/guides-and-tutorials/metric-guides) [Plans](https://studio.glassnode.com/pricing) [Twitter](https://twitter.com/glassnode) [Telegram](https://t.me/glassnode) [YouTube](https://www.youtube.com/c/glassnode) --- # Studio | Glassnode Docs [PreviousIntroduction](https://docs.glassnode.com/welcome-to-glassnode/readme/glassnode-studio) [NextGeneral Information](https://docs.glassnode.com/data/general-information) Last updated 9 months ago [](https://docs.glassnode.com/welcome-to-glassnode/readme/glassnode-studio#charts) **Charts** -------------------------------------------------------------------------------------------------- is at the core of our product offering. It is here where you can explore our comprehensive suite of ever-growing on-chain and financial charts, clearly organised, easy to navigate, and intelligibly visualised for actionable insights. Our metrics will help to power up your analysis and find your edge. Understand when exchange balances drop, miners are under stress, investors start to spend, and when the market reaches extremes. \--> [](https://docs.glassnode.com/welcome-to-glassnode/readme/glassnode-studio#workbench) Workbench ---------------------------------------------------------------------------------------------------- With you can take your analyses to the next level: create your own charts, directly compare an arbitrary number of metrics, and apply a variety of functions and formulas to transform our data for your specific use cases. Our ever-growing set of Workbench presets created by our expert team and used by professional analysts across the world, give you added insights you can't get anywhere else, and are the perfect starting point for your own chart creations. \--> [](https://docs.glassnode.com/welcome-to-glassnode/readme/glassnode-studio#dashboards) Dashboards ------------------------------------------------------------------------------------------------------ is where all comes together: create your custom views and organise your favourite metrics and Workbench charts in customisable dashboards for easy access. Enrich dashboards with additional content, images, and videos – all combined in a single place. Or explore our team’s creations, including themed data dashboards that will help you save time and answer the big questions first, as well educational tutorials to get you started and bring you up to speed with our data. \--> [](https://docs.glassnode.com/welcome-to-glassnode/readme/glassnode-studio#alerts) Alerts ---------------------------------------------------------------------------------------------- Never miss a significant move of the metrics you are watching: create for your most critical indicators and get notified via email or in Telegram as soon as they get triggered. \--> [custom alerts](https://studio.glassnode.com/alerts) [Go to Alerts](https://studio.glassnode.com/alerts) [Charts](https://studio.glassnode.com/metrics) [Go to Charts](https://studio.glassnode.com/metrics) [Workbench](https://studio.glassnode.com/workbench) [Go to Workbench](https://studio.glassnode.com/workbench) [Dashboards](https://studio.glassnode.com/dashboards) [Go to Dashboards](https://studio.glassnode.com/dashboards) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-3b172a4b29267e2d0ab0e46d7a7ac7f263b99dc9%252FScreenshot%25202022-06-21%2520at%252012.31.52.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=56bb7194&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-c4569ba905c2aeff9d7cf584c17231104f0e3fe6%252FScreenshot%25202022-06-21%2520at%252009.45.08.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=c2e09f0c&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-476cacde1c0b9ef0a1147d93953155cfb6ce2b2f%252FScreenshot%25202022-06-21%2520at%252009.47.57.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=94894f08&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-9fd744ff1798d307595687b5920709185de9e7fb%252FScreenshot%25202022-06-21%2520at%252009.55.17.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=aaeac8fa&sv=2) --- # General Information | Glassnode Docs [Timestamps and Resolutions](https://docs.glassnode.com/data/general-information/timestamps-and-resolutions) [Data Availability](https://docs.glassnode.com/data/general-information/data-availability) [Data Finalization](https://docs.glassnode.com/data/general-information/data-finalization) [PreviousStudio](https://docs.glassnode.com/welcome-to-glassnode/readme/glassnode-studio) [NextTimestamps and Resolutions](https://docs.glassnode.com/data/general-information/timestamps-and-resolutions) Last updated 2 years ago --- # Timestamps and Resolutions | Glassnode Docs [](https://docs.glassnode.com/data/general-information/timestamps-and-resolutions#timestamps) **Timestamps** ----------------------------------------------------------------------------------------------------------------- All metric timestamps are denoted in `UTC` and always refer to the **start of an interval****.** **Examples**: * **Monthly** resolution: `2019-05-01` --> Includes data from`2019-05-01 00:00 UTC` to `2019-05-31 23:59 UTC` (i.e. May 2019) * **Weekly** resolution: `2019-05-13` --> Includes data from `2019-05-13 00:00 UTC` to `2019-05-19 23:59 UTC` (i.e. Week 20) * **Daily** resolution: `2019-05-13`\--> Includes data from`2019-05-13 00:00 UTC` to `2019-05-13 23:59 UTC` * **Hourly** resolution: `2019-05-13 10:00 UTC` --> Includes data from`2019-05-13 10:00 UTC` to `2019-05-13 10:59 UTC` * **10 Min** resolution: `2019-05-13 10:20 UTC` --> Includes data from `2019-05-13 10:20 UTC` to `2019-05-13 10:29 UTC` [](https://docs.glassnode.com/data/general-information/timestamps-and-resolutions#resolutions) **Resolutions** ------------------------------------------------------------------------------------------------------------------- Currently, Glassnode metrics as available in the following resolutions\*: * **1 month** (API param: `1month`) * **1 week** (`1w`) * **1 day** (`24h`) * **1 hour** (`1h`) * **10 minutes** (`10m`) Resolution means the **frequency** at which the data is being updated, as well as the **time window** over which a metric is being aggregated. [PreviousGeneral Information](https://docs.glassnode.com/data/general-information) [NextData Availability](https://docs.glassnode.com/data/general-information/data-availability) Last updated 9 months ago For instance, the on a `24h` resolution shows the total number of active addresses over 24 hours (the **time window**). In addition, a new data point is provided once a day (the **frequency**). The same mechanism is applied analogously to all other resolutions. For metrics that show the current state of the blockchain rather than an aggregate over a window (e.g. the ), the value refers to the time at the end of the interval. _\*All metrics are always available at a_ `_24h_` _resolution. Whether other resolutions are available for a particular metric, depends on the metric and_ _. For a full overview of which metric is currently available a what resolution, please refer to our_ _**.**_ 📊 [**number of active addresses**](https://studio.glassnode.com/metrics?a=BTC&category=&m=addresses.ActiveCount) [number of addresses with a non-zero balance](https://studio.glassnode.com/metrics?a=BTC&category=&m=addresses.NonZeroCount) [_your plan_](https://studio.glassnode.com/pricing) [_**Metrics Catalogue**_](https://docs.glassnode.com/data/metric-catalog) --- # Supported Blockchains | Glassnode Docs [PreviousMetric Catalog](https://docs.glassnode.com/data/metric-catalog) [NextSupported Assets](https://docs.glassnode.com/data/supported-assets) Last updated 3 months ago Below is a list of supported blockchains along with their native assets that can be found in Glassnode Studio. Blockchain Native Asset Bitcoin Ethereum Solana Tron Binance Smart Chain Doge Arbitrum Ton Chain XRP 📊 [BTC](https://studio.glassnode.com/charts/addresses.ActiveCount?a=BTC) [ETH](https://studio.glassnode.com/charts/addresses.ActiveCount?a=ETH) [SOL](https://studio.glassnode.com/charts/addresses.ActiveCount?a=SOL) [TRX](https://studio.glassnode.com/charts/addresses.ActiveCount?a=TRX) [BNB](https://studio.glassnode.com/charts/addresses.ActiveCount?a=BNB) [Doge](https://studio.glassnode.com/charts/addresses.ActiveCount?a=DOGE&network=arb) [ETH](https://studio.glassnode.com/charts/addresses.ActiveCount?a=ETH&network=arb) [TON](https://studio.glassnode.com/charts/addresses.ActiveCount?a=TON) [XRP](https://studio.glassnode.com/charts/addresses.ActiveCount?a=XRP) --- # Data Finalization | Glassnode Docs [PreviousData Availability](https://docs.glassnode.com/data/general-information/data-availability) [NextMetric Catalog](https://docs.glassnode.com/data/metric-catalog) Last updated 5 days ago [](https://docs.glassnode.com/data/general-information/data-finalization#data-finalization) Data Finalization ------------------------------------------------------------------------------------------------------------------ **The latest released datapoint can be subject to change.** [](https://docs.glassnode.com/data/general-information/data-finalization#bitcoin-and-ethereum-blockchains) Bitcoin and Ethereum blockchains ------------------------------------------------------------------------------------------------------------------------------------------------ Before a block is included into the computation of a metric we wait until a block is confirmed: * **BTC**: 1 block confirmation * **ETH + ERC20 Tokens**: 12 blocks confirmation The reason to wait for block confirmations is to reduce the amount of data changes, e.g. by reducing the probability of initial inclusion of orphan blocks. Nonetheless, waiting for block confirmations leads to the fact that not always all blocks relevant to the last interval are included, and therefore the computation of the last datapoint of a metric can be initially incomplete. For this reason we run our updaters several times at the beginning of each day, week and month for the respective metric resolutions (see our section on ). This ensures that all blocks contributing to the last datapoint are included in a timely manner. **Example** for a Bitcoin metric at a `1d` resolution: At `00:00 UTC` the metric updater will be triggered in order to create the last day's datapoint. Because we wait for a 1 block confirmation before the data of that block is included in the computation of the metric, at this moment there might be still a block missing for that last interval (the previous day in this case). In the next metric updater execution (in case of daily metrics that's 1h hour later) that last block (if confirmed by a subsequent block) will be finally included into the last datapoint and therefore the value of that last datapoint might slightly change. Depending on the block interval, the latest datapoint might also be only updated and complete at later metric updater executions. Due to the probabilistic nature of mining new blocks for Bitcoin, the time until all blocks have been included in a data aggregation interval can vary a lot. While more than 50% of all datapoints settle within the first 20 minutes, it is recommended to wait for **2 hours** after the initial release of a datapoint to ensure full convergence. For example, a datapoint for a metric with 1h resolution and timestamp `10:00:00` encompasses the interval from `10:00:00` to `11:00:00`. Its first release is within the first few minutes after `11:00:00`. Data finalization can be expected around `13:10:00`. For Ethereum the rate at which new blocks are created is much faster. Data finalization can typically be expected 10 minutes after the initial release of a datapoint. Sidenote: * BTC does not enforce monotonic timestamp sequences (e.g. block #10 can have a timestamp that is earlier than the timestamp of block #9). This happens only very rarely, but it means that there is a possibility that a new block is added to the blockchain with a timestamp that is earlier than the last block. If this happens, the datapoint of the interval where this timestamp resides in, will change. [](https://docs.glassnode.com/data/general-information/data-finalization#all-other-blockchains) All Other blockchains -------------------------------------------------------------------------------------------------------------------------- For the following blockchains: **Solana, BNB, Tron, Ton, XRP, Doge, Arbitrum One, Base, Optimism** New blockchain data is appended in batches with the following ingestion frequencies: * **Solana, Doge**: every 20 minutes * **BNB, Tron, Ton, XRP, Doge, Arbitrum One, Base, Optimism**: approximately every 10 minutes Due to the nature of public blockchains, raw data latency may occasionally increase e.g., when a blockchain experiences delays in block production. These situations are beyond the control of our systems. #### [](https://docs.glassnode.com/data/general-information/data-finalization#metric-update-cadence) **Metric Update Cadence** * Standard metrics that are not based on individual address balances (such as total transaction volume) are updated every **10 minutes**. We only publish data for time intervals where we have complete data. For example: if a 10-minute metric is scheduled to update a`11:20:00`, but the most recent block was produced at `11:14:00`, we will only include block data up to `11:09:59`. Hence, the last datapoint produced will have timestamp `11:00:00`. Note that this contrasts with our current behaviour for Bitcoin and Ethereum, where we also compute “incomplete” datapoints (see above). With the approach, the data can always be considered final, because every relevant block already contributes to each published datapoint. * Metrics based on balances currently update every **20 minutes** and follow the same principle - only intervals with complete data are included. [](https://docs.glassnode.com/data/general-information/data-finalization#other-reasons-for-data-mutability) Other reasons for data mutability -------------------------------------------------------------------------------------------------------------------------------------------------- Next to the amount of blocks that are included in the computation of a datapoint, there can be additional causes for mutable data: retrospective corrections, refined methodologies to compute a metric, or, in particular relevant for exchange-related metrics, additional address labels. In such cases metric values may change even beyond the timescales discussed above. See our documentation on for more details. 📊 [Data Availability](https://docs.glassnode.com/data/general-information/data-availability) [Point-in-Time metrics](https://docs.glassnode.com/data/point-in-time-metrics) --- # Point-in-Time Metrics | Glassnode Docs [PreviousOn-chain Metrics Coverage](https://docs.glassnode.com/data/supported-assets/onchain-metrics-coverage) [NextGetting Started](https://docs.glassnode.com/guides-and-tutorials/getting-started) Last updated 2 months ago Point-in-Time (PIT) metrics provide a consistent, **immutable** view of data as it was known at a specific moment in the past. This is critical for building robust and reliable systematic strategies, research, and backtesting. Unlike traditional mutable metrics that may change retroactively, PIT metrics preserve historical data without applying any future knowledge or corrections that emerged later. ### [](https://docs.glassnode.com/data/point-in-time-metrics#why-point-in-time) Why Point-in-Time? Many datasets evolve over time due to late-arriving information, retrospective corrections, or refined methodologies. If not handled carefully, this can introduce , where a model or analysis unintentionally uses information that wasn't actually available at the time — leading to misleading results. PIT metrics solve this by freezing data as it was _known at the time_, avoiding hindsight adjustments and ensuring results are reproducible and free from future information leaks. > 📌 **Recommendation**: All systematic use cases (e.g., algorithmic trading, quantitative models, historical backtesting) **should always rely on PIT metrics** when available. ### [](https://docs.glassnode.com/data/point-in-time-metrics#common-reasons-for-data-mutations) Common Reasons for Data Mutations Even in a blockchain context, some data can change post-factum due to: * **Clustering for Entity Adjustment**: As more heuristics or address linkages are discovered, historical metrics may be adjusted to reflect refined entity-level data (e.g., exchange wallets). * **Late-Reported Data**: Off-chain or external data sources may deliver information with a delay (e.g. perpetual futures positions of a single exchange, or blockchain data that requires additional confirmations). * **Data Corrections**: Improvements in off-chain datasets can lead to retroactive corrections. PIT metrics eliminate the impact of such updates by recording and serving data exactly as it appeared at that time. ### [](https://docs.glassnode.com/data/point-in-time-metrics#learn-more) Learn More 📊 [_look-ahead bias_](https://newyork.qwafafew.org/wp-content/uploads/sites/4/2015/10/Luo_20150128.pdf) [Full article on Point-in-Time metrics](https://insights.glassnode.com/introducing-point-in-time-data/) [List of available Point-in-Time metrics](https://docs.glassnode.com/data/point-in-time-metrics) --- # Getting Started | Glassnode Docs [Use-Case Tutorials](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials) [Get started with Glassnode Metrics](https://docs.glassnode.com/guides-and-tutorials/getting-started/get-started-with-glassnode-metrics) [Granular Cohorts for Key On-Chain Metrics](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics) [PreviousPoint-in-Time Metrics](https://docs.glassnode.com/data/point-in-time-metrics) [NextUse-Case Tutorials](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials) --- # Data Availability | Glassnode Docs [PreviousTimestamps and Resolutions](https://docs.glassnode.com/data/general-information/timestamps-and-resolutions) [NextData Finalization](https://docs.glassnode.com/data/general-information/data-finalization) Last updated 5 days ago Glassnode metric updaters are triggered at the end of the resolution interval: * **1 month** resolution: runs on the first day of the calendar month at the full hour between `00:00 UTC` and `03:00 UTC` * **1 week** resolution: runs every Monday at the full hour between `00:00 UTC` and `03:00 UTC` * **1 day** resolution: runs daily at the full hour between `00:00 UTC` and `03:00 UTC` * **1 hour** resolution: runs once every hour at minute `:00` (e.g. `9:00`, `10:00`, `11:00`, ...) * **10 minute** resolution: runs at every 10th minute (e.g. `09:00`, `09:10`, `09:20`, `09:30`, ...) Currently, the computation of a metric usually takes **between** **1 and 10 minutes**. There are exceptions to the the above: * Updates of entity-related metrics for BTC that are available in 1d resolution only can take up to 1 hour. [](https://docs.glassnode.com/data/general-information/data-availability#when-are-new-datapoints-available) When are new datapoints available? --------------------------------------------------------------------------------------------------------------------------------------------------- In general it can be assumed that a new datapoint becomes available **within the first 10 minutes after the end of an aggregation interval**. For example, for a metric with 1h resolution the datapoint for timestamp `10:00:00` (covering the interval `10:00:00-10:59:59`) will become available at around `11:10:00`. However, there are nuances to the above: * As explained in the section on Data Finalization, raw data for blockchains other than Bitcoin and Ethereum is inserted in batches and only processed once all data for the aggregation interval is available. For some on-chain-related metrics featuring these blockchains this may delay the initial release of datapoints: * **Arbitrum, Base, BNB, Optimism, Ton, Tron, Ripple**: release of new datapoints between 5-15 minutes after the end of the aggregation interval * **Solana**: 15-35 minutes * **Doge**: 35-45 minutes * The initial datapoints released for **Bitcoin** and **Ethereum** metrics may not be final and still be subject to change, because not all contributing blocks are available upon their first computation. For more details see our section on . * Data for **Bitcoin** may be lagging due to its large block interval (average: 10 minutes) and probabilistic mining timestamps. We will elaborate on this special case in more detail below. [](https://docs.glassnode.com/data/general-information/data-availability#bitcoin-data-availability-in-depth) Bitcoin data availability in depth ---------------------------------------------------------------------------------------------------------------------------------------------------- In particular for time-sensitive applications it is beneficial to know the **lag** ttt **between the end of an interval and the time of API request.** In general, it consists of two contributions: * The time required to compute the new datapoint. This task takes between 1-10 minutes. * The time until a new block becomes available in the first place and is picked up by our updater. Especially for metrics in 10 min resolution this becomes an important factor, since the duration is of the same magnitude as the metric resolution. Since our metric updaters typically run at the end of an aggregation interval only, the probability for the expected lags in the following window is constant and changes only when a new updater run has finished. Denoting the mean block interval ⟨Tb⟩\\langle T\_b \\rangle⟨Tb​⟩ and the metric timestamp interval TTT (equal to the update frequency), we can model the probability density for the second contribution to the lag ttt as: p(t)∼∫⌊tT⌋T(⌊tT⌋+1)Tt′e−t′/⟨Tb⟩dt′  .p(t) \\sim \\int\_{\\lfloor \\frac t T \\rfloor T}^{(\\lfloor \\frac t T \\rfloor +1) T} t^\\prime e^{-{t^\\prime}/{\\langle T\_b\\rangle}} dt^\\prime \\;.p(t)∼∫⌊Tt​⌋T(⌊Tt​⌋+1)T​t′e−t′/⟨Tb​⟩dt′. Assuming an average runtime of 5 minutes for a metric updater, we arrive at the following combined **values for data availability**: Mean 25:00 min 25th percentile 14:30 min Median 22:10 min 75th percentile 32:30 min 90th percentile 44:10 min 95th percentile 53:10 min 99th percentile 1:12 h In addition to the metric lag ttt, we can also describe the **time difference** τ\\tauτ **between the releases of two datapoints** to very good approximation via a geometric distribution. With the same notation as above, the time difference is a multiple of the metric timestamp interval and update frequency TTT, following the distribution P(τ\=m⋅T)\=e−(m−1)T/⟨Tb⟩(1−e−T/⟨Tb⟩)  .\\textrm{P}(\\tau=m \\cdot T) = e^{- (m-1) T / \\langle T\_b \\rangle}\\left(1-e^{-T/\\langle T\_b \\rangle} \\right) \\;.P(τ\=m⋅T)\=e−(m−1)T/⟨Tb​⟩(1−e−T/⟨Tb​⟩). For metrics in 10m resolution, the numbers are as follows: Probability Cumulative 10 min 0.63 0.63 20 min 0.23 0.86 30 min 0.09 0.95 40 min 0.03 0.98 50 min 0.01 0.99 60 min 0.004 0.998 Finally, we can address another variant on data availability for Bitcoin: What is the **time it takes for a new block to enter our metrics**, i.e. the duration between a raw block timestamp and the release of the corresponding datapoint? There are three independent contributions we have to consider: * The time until subsequent blocks arrive, confirming the block (see above). * A random time between 0 and 10 minutes until the block is picked up by our updaters, assuming a metric with 10m resolution. * The time tcomputet\_\\textrm{compute}tcompute​ required to compute the metric. The probability density of the total required time evaluates to p∼(t e−t/⟨Tb⟩)∗(H(t)⋅H(10 min−t))∗(δ(t−tcompute))p \\sim \\Big( t \\, e^{-t/\\langle T\_b \\rangle} \\Big) \\ast \\Big(H(t) \\cdot H(\\textrm{10 min}-t) \\Big) \\ast \\Big(\\delta(t - t\_\\textrm{compute}) \\Big)p∼(te−t/⟨Tb​⟩)∗(H(t)⋅H(10 min−t))∗(δ(t−tcompute​)) where HHH is the Heaviside step function, δ\\deltaδ the Dirac delta function and ∗\\ast∗ denotes a convolution. Ignoring tcomputet\_\\textrm{compute}tcompute​, we have: Time until block included Probability Cumulative 0 min ≤ t < 10 min 0.10 0.10 10 min ≤ t < 20 min 0.33 0.43 20 min ≤ t < 30 min 0.27 0.71 30 min ≤ t < 40 min 0.15 0.86 40 min ≤ t < 50 min 0.08 0.93 50 min ≤ t < 60 min 0.04 0.97 60 min ≤ t < 90 min 0.03 0.999 [](https://docs.glassnode.com/data/general-information/data-availability#example-when-are-new-data-points-added-to-btc-on-chain-metrics) Example: When are new data points added to BTC on-chain metrics? -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- For simplicity, we assume that broadcasting of new blocks across the globe and any processing (exporting to databases, computing the metrics) happens instantaneously. Consider the following blocks and their block timestamps. The latter defines to which aggregation interval in the metrics the block contributes to. Block Block Timestamp Corresponding metric aggregation interval 1000 00:55:00 00:50:00 1001 00:56:00 00:50:00 1002 01:01:00 01:00:00 1003 01:25:00 01:20:00 1004 01:35:00 01:30:00 1005 01:36:00 01:30:00 ### [](https://docs.glassnode.com/data/general-information/data-availability#what-happens-during-the-different-updater-runs) What happens during the different updater runs? * `01:00:00`: Blocks are available up to incl. 1001, but due to our one block confirmation period we process blocks up to 1000 only. The last block is part of the 00:50:00 aggregation interval, therefore that's the maximum timestamp for which the metric is computed. * `01:10:00`: Blocks are available up to incl. 1002, the latter one being ignored for now due to the confirmation interval. Block 1001 is in the 00:50:00 aggregation interval, therefore this data point is updated and values can change. * `01:20:00`: No new blocks available. Therefore, we don't yet append an extra data point to the metrics. * `01:30:00`: Blocks are available up to incl. 1003, we process blocks up to incl. 1002. Therefore the last data point in the metrics is 01:00:00, as this is the aggregation interval to which block 1002 contributes. * `01:40:00`: Blocks are available up to incl. 1005, we process blocks up to incl. 1004. We have a contribution to aggregation intervals 01:20:00 (block 1003) and 01:30:00 (block 1004). Since there is no block for interval 01:10:00 we forward fill the last known value (from 01:00:00) or set the value to zero (depending on what makes most sense for the particular metric). In total, this adds 3 new data points at once. ### [](https://docs.glassnode.com/data/general-information/data-availability#the-blocks-first-contribution-to-the-metric) The blocks’ first contribution to the metric Based on this, we can see when a block affects the released metrics for the first time: Block Block Timestamp First contribution 1000 00:55:00 01:00:00 1001 00:56:00 01:10:00 1002 01:01:00 01:30:00 1003 01:25:00 01:40:00 1004 01:35:00 01:40:00 1005 01:36:00 \- ### [](https://docs.glassnode.com/data/general-information/data-availability#first-release-of-a-new-timestamp) First release of a new timestamp Similar, we can derive when a metric timestamp is published for the first time. The delay ttt denotes the time since the end of the aggregation interval. Metric timestamp First published 00:50:00 01:00:00 00:00:00 01:00:00 01:30:00 00:20:00 01:10:00 01:40:00 00:20:00 01:20:00 01:40:00 00:10:00 01:30:00 01:40:00 00:00:00 To reduce the amount of data changes due to block reorderings and limit the probability of initial inclusion of orphan blocks, we wait for one additional confirming block before raw block data is included in the calculation of our metrics. In blockchains using a proof-of-work scheme, such as Bitcoin, the interval between two adjacent blocks is random, with only the average duration indirectly controlled via the . In turn, the presence of a block that contributes to a datapoint as well as the subsequent confirming block are probabilistic events. Lag Time difference Delay 📊 ttt τ\\tauτ ttt [Data Finalization](https://docs.glassnode.com/data/general-information/data-finalization) [Difficulty](https://studio.glassnode.com/metrics?a=BTC&m=mining.DifficultyLatest) --- # MVRV | Glassnode Docs [LTH-MVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv) [MVRV Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio) [MVRV-Z Score](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score) [STH-MVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv) [PreviousRealized Capitalization](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization) [NextLTH-MVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv) --- # Tutorial 1 - Navigating Market Tops and Bottoms | Glassnode Docs [PreviousUse-Case Tutorials](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials) [NextTutorial 2 - Introduction to On-chain Activity](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms#navigating-market-tops-and-bottoms) Navigating Market Tops and Bottoms --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Bitcoin markets are infamously volatile, and often experience large boom and bust cycles. Over time, models and tools have been developed by a variety of methods in an attempt to identify periods of over, and undervaluation. These models vary in complexity and inputs, ranging from simple moving averages, to momentum oscillators, to on-chain spending behaviours. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms#the-investor-tool) The Investor Tool ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- The Investor Tool was created by as a tool for long term investors, indicating periods where prices are likely approaching cyclical tops or bottoms. The tool uses two simple moving averages of price as the basis for under/overvalued conditions: the 2-year MA (green) and a 5x multiple of the 2-year MA (red). * **Price trading below the 2-year MA** has historically generated outsized returns, and signalled bear cycle lows. * **Price trading above the 2-year MA x5** has been historically signalled bull cycle tops and a zone where investors de-risk. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms#top-cap-model) Top Cap Model --------------------------------------------------------------------------------------------------------------------------------------------------------------------- The Bitcoin Top Cap model was developed by Willy Woo to identify market cycle tops. It is calculated by multiplying the Average Cap by a factor of 35. The Average Cap (blue) is calculated as the cumulative sum of daily Market Cap values divided by the age of the market in days. An additional Top Cap model considering a 15x multiplier is included to show sensitivity, and to gauge the effect of diminishing returns. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms#pi-cycle-top) Pi Cycle Top ------------------------------------------------------------------------------------------------------------------------------------------------------------------- * **When the 111 SMA (blue) meets the 2 \* 350 SMA (purple)**, it is an indication of an overheated market. The mid timeframe momentum reference crosses above the long timeframe momentum reference. * **When the 111 SMA (blue) falls beneath the 2 \* 350 SMA (purple)**, it is an indication of a deflating market that is cooling of after a period of overheating. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms#mayer-multiple) Mayer Multiple ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- The Mayer Multiple is an oscillator calculated as the ratio between price, and the 200-day moving average. The 200-day MA is a widely recognised indicator for establish macro bull or bear bias. The Mayer Multiple therefore represents a measure of distance away from this long-term average price as a tool to gauge overbought and oversold conditions. * **Values Below 0.8 (green)** represent prices trading at a 20% discount to the 200-day MA. Bitcoin has traded at Mayer Multiple values below 0.8 for approximately 20% of trading history. * **Values Above 2.4 (red)** represent prices trading at a premium of 240% times the 200-day MA. Bitcoin has traded at Mayer Multiple values above 2.4 for approximately 10% of trading history. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms#hash-ribbon-inversions) Hash Ribbon Inversions --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * **During Bull Markets**, Hash-rate will expand as miners invest in more mining hardware. This causes the 30DMA of hash-rate to rise faster than the 60D. * **During bear markets**, when miner incomes are stressed, some miners must turn off non-profitable rigs. This can lead to miner capitulation, creating a Hash Ribbon inversion, where the 30D falls below the 60D. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms#video-guide-overview) Video Guide Overview ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Bitcoin market cycles are infamously volatile, and often over-extend beyond ‘fair value’ both on the upside and downside. Analysts have thus developed models to help navigate market tops and bottoms ##Topics for Discussion: * Assessing over and under extended market pricing. * Simple models built from price moving averages. * Oscillators to monitor mean reversion potential. * On-chain models considering miner performance. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms#glassnode-advanced-cycle-top-and-bottom-indicators) Glassnode Advanced - Cycle Top and Bottom Indicators ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- The Pi Cycle Top was also created by , and works by comparing the momentum of two moving average indicators. It compares the 111 SMA (blue) and 2 \* 350 SMA (purple) of Bitcoin’s Price. These two moving averages were selected as 350 / 111 = 3.153; An approximation of the Pi number. Following the , overbought, and oversold conditions, have historically coincided with Mayer Multiple values of 2.4, and 0.8 respectively. These multiples are then applied to the 200DMA to establish cycle top and bottom pricing models. track phases of the mining market boom and bust cycles. During expansion, the 30DMA of hash-rate will rise faster than the 60D, whilst during miner capitulation it will fall below, signifying a loss of hash-rate online. The Bitcoin market cycle is the result of many factors, with dynamics of accumulation, distribution and everything in between. With a , we can expand our analysis to encompass investor sentiment and coin spending/HODLing cycles, estimated investor profitability, the balance of wealth held between new and more experienced holders, and much more. Some example Advanced metrics include: shows us distance that price is away from the estimated cost basis of the market. Thus we can identify extremes, such as when the market is in a large profit, or loss. captures the balance between market valuation, and whether it is supported by the volume of coins with long holding periods that are being spent over the last year. combines market price, with the degree of HODLing or liquidation taking place on-chain. It constructs a reflexive oscillator showing long periods of accumulation, and sharp peaks of exuberance near tops. is a cyclical oscillator that measures the relative balance between young coins (1wk) and old coins (1y-2y) as a measure of market strength and weakness. 📖 [Philip Swift](https://twitter.com/PositiveCrypto) [original analysis by Trace Mayer](https://www.theinvestorspodcast.com/bitcoin-mayer-multiple/) [Hash Ribbons](https://studio.glassnode.com/metrics?a=BTC&m=indicators.HashRibbon&resolution=24h) [**Glassnode Advanced plan**](https://studio.glassnode.com/pricing?utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**MVRV Z-Score**](https://studio.glassnode.com/metrics?a=BTC&m=market.MvrvZScore&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**Entity-Adjusted Dormancy Flow**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.DormancyFlow&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**Reserve Risk**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.ReserveRisk&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**Realized HODL Ratio**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.RhodlRatio&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**View Live Dashboard**](https://studio.glassnode.com/dashboards/navigating-market-tops-and-bottoms?utm_medium=website&utm_source=academy&utm_campaign=tutorials_1) [Philip Swift](https://twitter.com/PositiveCrypto) ![Bitcoin: Investor Tool](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-520441aa9eeaaae1b32d668f7305eef446c48006%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f83ca889&sv=2) ![Bitcoin: Top Cap Model](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-e1a032510eb3ef0cd73c663d41c8a03147bf1d60%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=95464c82&sv=2) ![Pi Cycle Top Indicator](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-0549136e693a6a0c54aa665b041d0a9c6d2fb24e%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=b8b2cc1f&sv=2) ![Bitcoin: Mayer Multiple](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-c51559f45d6413a7e8e2a74c58965e665a4142a8%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=e62806cd&sv=2) ![Hash Ribbon Inversion](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-276eee0ce602754d407fcf9081f5e985da689d70%252F5.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=7869dfc3&sv=2) ![Dashboard](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-e6d4e4b7e01ea3b38f455cff7cb0415018165e0d%252F6.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=dcaff9b5&sv=2) [Live Chart](https://studio.glassnode.com/workbench/e9e05fce-ce4b-4138-5736-5d2bfadfdf94?&utm_medium=website&utm_source=academy&utm_campaign=tutorials_1) [Live Chart](https://studio.glassnode.com/workbench/b95dae33-32f3-47bf-4f03-079ca29d496e?&utm_medium=website&utm_source=academy&utm_campaign=tutorials_1) [Live Chart](https://studio.glassnode.com/workbench/bbbf559f-a133-4d5d-7426-1d15e719cfc2?utm_medium=website&utm_source=academy&utm_campaign=tutorials_1) [Live Chart](https://studio.glassnode.com/workbench/37581dcc-55c4-4156-6ad4-b9eb6216089f?utm_medium=website&utm_source=academy&utm_campaign=tutorials_1) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&m=indicators.HashRibbon&resolution=24h&utm_medium=website&utm_source=academy&utm_campaign=tutorials_1) [Live Dashboard](https://studio.glassnode.com/dashboards/navigating-market-tops-and-bottoms?utm_medium=website&utm_source=academy&utm_campaign=tutorials_1) --- # Metric Guides | Glassnode Docs [Market Capitalization](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [Realized Capitalization](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization) [MVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv) [SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr) [Unrealized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss) [Realized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss) [Coin Issuance](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance) [Stablecoin](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin) [Coin Days Destroyed](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed) [Liveliness](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness) [Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy) [Lifespan](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan) [NVT](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt) [Stock to Flow](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow) [Price Distribution](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution) [Accumulation Trend Score](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score) [Long and Short-Term Holder Supply](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply) [Profit/Loss (Supply)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply) [Age Distribution](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution) [Profit/Loss (UTXO)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo) [PreviousGranular Cohorts for Key On-Chain Metrics](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics) [NextMarket Capitalization](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) --- # Tutorial 2 - Introduction to On-chain Activity | Glassnode Docs [PreviousTutorial 1 - Navigating Market Tops and Bottoms](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms) [NextTutorial 3 - Fundamentals of Proof-of-Work Mining](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity#introduction-to-on-chain-activity) Introduction to On-chain Activity ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ The first suite of metrics you will be introduced to fall into the category called **On-chain Activity**. These metrics describe the health and growth of the Bitcoin network user-base, and help describe Bitcoins Network Effects. Metrics in the **On-chain Activity** category can be used to assess whether the network effects and user-base are expanding, or contracting. The definition of Network Effects is as follows: > An increase in the number of network participants, results in an increase in the value, or utility of the network. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity#active-addresses) Active Addresses -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- When a user interacts with their wallet, they are usually sending coins from one address, to another. This could be a withdrawal or deposit to their exchange, or a payment to or from their personal wallet. The metric below shows how many addresses on the Bitcoin network were 'active' each day. More active addresses is often a sign of healthy network usage, whereas declining activity may signal a declining user-base. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity#number-of-new-addresses) Number of New Addresses ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Similar to Active Addresses, the New Addresses metric will track when an address that has never received coins before, enters the network. Most Bitcoin wallet software will generate a new address for every transaction, so you will note this metric has a similar behaviour to Active Addresses. We can identify peaks and troughs of in On-chain activity, which often correlate with Bitcoin bull and bear market cycles, respectively. Active and New Address metrics can generally be interpreted within the following framework: * **Higher values** means the network was more active that day, signalling more active users, exchanges, and entities are interacting with their wallets. This is often a **signal of increasing network effects**. * **Lower values** means the network was less active that day, with potentially fewer users, less exchange activity, and fewer entities interacting with their wallets. This is often a **signal of decreased network effects**. > 💡 **Hint:** Metrics associated with on-chain activity often have significant daily variability. This is due to the effects of week-days vs weekends, trading hours in different geographies, and other seasonality influences. It is therefore helpful to **apply a 7-day or 14-day moving average, or median** to smooth out this daily noise and observe the underlying trends. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity#transaction-counts) Transaction Counts ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity#transfer-volume-btc) Transfer Volume (BTC) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- **Transfer Volume** measures the total amount of BTC value sent across the Bitcoin network each day. When lots of value is being settled by the Bitcoin network, it typically indicates an elevated utilization and suggests greater demand for coins in the network. Conversely, when less volume is being transferred over the Bitcoin network, it may suggest declining utility and lower demand for coins in the network. Note, this metric can be also be viewed in USD denominated volume, which will tend to naturally increase as the market capitalisation (and coin price) grows. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity#application-tracking-bull-and-bear-phases) Application: Tracking Bull and Bear Phases ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Active Addresses provides us with a tool to visualise the growth, or decline of Bitcoin network effects, and utilization. The Bitcoin network has historically seen a surge in user growth during the excitement of bull markets, and conversely, a decline in attention and network usage during bearish markets. With this general observation, we can now look at identifying these periods of user growth, and decline on the chart. 1. **High, increasing, and accelerating trends** generally indicate an influx of activity, new users, and attention, as more people interact with their Bitcoin wallets. This often associated with more bullish momentum in the market. 2. **Low, declining or sideways trends** can generally be interpreted as a relatively **Low Demand** for the network utility. This often associated with more bearish momentum in the market. #### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity#video-guide-identifying-bull-and-bear-markets-with-on-chain-activity) Video Guide: Identifying Bull and Bear Markets with On-chain Activity This guide shows how we can identify changes in Bitcoin market structure by observing the utilisation, and activity across the network. Thus, we can help define bullish or bearish conditions based on the performance of various onchain activity metrics. **Topics for Discussion:** * Using onchain activity to identify bulls and bears. * Mapping the steady growth of adoption over time. * Identifying which cohorts are driving the market. * Looking for signals of market Tops and Bottoms. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity#glassnode-advanced-on-chain-activity-metrics) Glassnode Advanced - On-chain Activity Metrics ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ **Transaction Counts** measure the number of confirmed transactions each day. This includes all transaction types, with some key examples being payments, exchange deposits and withdrawals, custodial multi-signature storage, and lightning network channel opening/closing. Generally speaking, more demand for transactions shows growing utilisation of the network, however this can also be influenced by technological advances such as transaction batching by exchanges (). These on-chain activity metrics are just the tip of the icerberg. With a , we open up more opportunities to assess onchain activity, and understand which entities are active on the network, and where they may be sending their coins. Some example Advanced metrics include: shows us the overall growth in the user-base and whether we are seeing sustained growth, or a reduction in network effects. captures the coin volume flowing in and out of exchanges. We can inspect inflows and outflows separately, or net them out to assess overall impact. allows us to assess the overall profitability of the network. When a large cross-section of the market is in a profit or loss, it can signal market exuberance, or fear, respectively. provides insight into the age of coins that are being spent. Statistically speaking, older coins are more likely to stay dormant. So when many older coins do get spent, we can identify this behaviour. 📖 [more details in this report](https://insights.glassnode.com/the-week-onchain-week-15-2022/) [**Glassnode Advanced plan**](https://studio.glassnode.com/pricing?utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_2) [**Number of Non-Zero Addresses**](https://studio.glassnode.com/metrics?a=BTC&m=addresses.NonZeroCount&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_2) [**Exchange Inflow and Outflow Volume**](https://studio.glassnode.com/metrics?a=BTC&c=native&e=aggregated&ema=7&m=transactions.TransfersVolumeExchangesNet&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_2) [**Percent Supply in Profit**](https://studio.glassnode.com/metrics?a=BTC&m=supply.ProfitRelative&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_2) [**Spent Output Age Bands**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Soab&mAvg=30&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_2) [**View Live Dashboard**](https://studio.glassnode.com/dashboards/introduction-to-on-chain-activity?utm_medium=website&utm_source=academy&utm_campaign=tutorials_2) ![Bitcoin: Number of Active Addresses](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-eaf6640a472edb9c2aa6417a5edce60067917040%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=d4130ac&sv=2) ![Bitcoin: Number of New Addresses (14d Moving Average)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-41f692e2493fed45973f604363c921ee6a696f8a%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=cf7c1bb1&sv=2) ![Bitcoin: Number of Transactions (14d Moving Average)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-ae32dfd5d8b139ca830dba9bb4543c0dc8a08b03%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ea49a2f8&sv=2) ![Bitcoin: Total Transfer Volume [BTC] (14d Exponential Moving Average)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-bf46d5ebf56a673c7a30b7dbd5e220bd2fd77ce6%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ff20b540&sv=2) ![Dashboard](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-f621d883a8a7ef383eff866efaab7943dd8d1f22%252F5.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=20e55190&sv=2) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&m=addresses.ActiveCount&resolution=24h&utm_medium=website&utm_source=academy&utm_campaign=tutorials_2) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&m=addresses.NewNonZeroCount&mAvg=14&resolution=24h&utm_medium=website&utm_source=academy&utm_campaign=tutorials_2) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&m=transactions.Count&mAvg=14&resolution=24h&utm_medium=website&utm_source=academy&utm_campaign=tutorials_2) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&c=native&ema=14&m=transactions.TransfersVolumeSum&resolution=24h&utm_medium=website&utm_source=academy&utm_campaign=tutorials_2) [Live Dashboard](https://studio.glassnode.com/dashboards/introduction-to-on-chain-activity?utm_medium=website&utm_source=academy&utm_campaign=tutorials_2) --- # Market Capitalization | Glassnode Docs [PreviousMetric Guides](https://docs.glassnode.com/guides-and-tutorials/metric-guides) [NextRealized Capitalization](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------------- The market capitalization (market cap) of an asset represents the total network value of that asset, as defined by the combined value of all the units of that asset in existence. It is calculated by a simple multiplication of the total circulating supply by the last traded price. Market cap is often used describe the size of a crypto asset, especially in comparison to other assets and markets. Market cap is important as it is a proxy measurement for relative network size and a basic determinant of various characteristics that investors are interested in such as adoption, market size and risk. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization#how-is-it-measured) How is it measured? ----------------------------------------------------------------------------------------------------------------------------------- Market cap is measured by multiplying the price of an asset by its circulating supply. Market Cap\=price \[USD\]⋅Total Supply\=price \[USD\]⋅value (of all UTXOs)\\begin{align\*} \\textrm{Market Cap} &= \\textrm{price} ~{\\color{gray}{\\textrm{\[USD\]}}} \\cdot \\textrm{Total Supply} \\\\\[0.5em\] &= \\textrm{price} ~{\\color{gray}{\\textrm{\[USD\]}}} \\cdot \\textrm{value} ~{\\color{gray}{\\textrm{(of all UTXOs)}}} \\end{align\*}Market Cap​\=price \[USD\]⋅Total Supply\=price \[USD\]⋅value (of all UTXOs)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization#further-resources) Further Resources -------------------------------------------------------------------------------------------------------------------------------- Blockgeeks - 📖 [View Market Cap in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=market.MarketcapUsd) [View Market Cap in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/market#market-cap) [Learn: Cryptocurrency Market Cap? The Ultimate Investor’s Guide](https://blockgeeks.com/guides/cryptocurrency-market-cap/) ![Bitcoin: Market Cap](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-f5d58224b79f58a79858559ad5c136ec123d610a%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=7e641109&sv=2) --- # Use-Case Tutorials | Glassnode Docs [Tutorial 1 - Navigating Market Tops and Bottoms](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms) [Tutorial 2 - Introduction to On-chain Activity](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity) [Tutorial 3 - Fundamentals of Proof-of-Work Mining](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining) [Tutorial 4 - Introduction to Supply Dynamics](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics) [PreviousGetting Started](https://docs.glassnode.com/guides-and-tutorials/getting-started) [NextTutorial 1 - Navigating Market Tops and Bottoms](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-1-navigating-market-tops-and-bottoms) --- # STH-MVRV | Glassnode Docs [PreviousMVRV-Z Score](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score) [NextSOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------- Short Term Holder MVRV (STH-MVRV) is MVRV that takes into account only UTXOs younger than 155 days and serves as an indicator to assess the behaviour of short-term investors. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------- STH-MVRV is calculated by taking the MVRV value only for UTXOs younger than 155 days. STH-MVRV\=Market Cap (of all UTXOs where age < 155 days)Realized Cap (of all UTXOs where age < 155 days)\\textrm{STH-MVRV}=\\frac{\\textrm{Market Cap}~{\\color{gray}{\\textrm{(of all UTXOs where age < 155 days)}}}}{\\textrm{Realized Cap}~{\\color{gray}{\\textrm{(of all UTXOs where age < 155 days)}}}}STH-MVRV\=Realized Cap (of all UTXOs where age < 155 days)Market Cap (of all UTXOs where age < 155 days)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv#about) About ------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv#date-introduced) Date Introduced March 2020 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------ Rafael Schultze-Kraft - 📖 [View STH-MVRV in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=market.MvrvLess155) [View STH-MVRV in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/market#sth-mvrv) [Glassnode](https://twitter.com/glassnode/) [Breaking up On–Chain Metrics for Short and Long Term Investors](https://insights.glassnode.com/sth-lth-sopr-mvrv/) ![Bitcoin: STH-MVRV](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-faa82a5b748ea196d24d907217c80b51b276bd71%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=9fe3af43&sv=2) --- # Tutorial 4 - Introduction to Supply Dynamics | Glassnode Docs [PreviousTutorial 3 - Fundamentals of Proof-of-Work Mining](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining) [NextGet started with Glassnode Metrics](https://docs.glassnode.com/guides-and-tutorials/getting-started/get-started-with-glassnode-metrics) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#introduction-to-supply-dynamics) Introduction to Supply Dynamics ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ From its inception, the coin supply of the Bitcoin protocol is transparent, and can been verified by anybody running node software. The pre-programmed supply curve is capped at 21 million coins, and has been plotted out below in the **Total Circulating Supply** metric, which is from data sourced from our internal (glass)node. The composition of the Bitcoin supply can be further investigated by clustering it into different lifespan sub-groups. Since we can audit the supply, we can also see how long it has been since a coin was last moved on-chain. The chart below presents an example of three supply curves which we can use to **investigate investor sentiment and market cycles**. * **Circulating Supply in orange** * **Supply Last Moved 1yr+ Ago in red** * **Supply Younger than 1yr in blue** [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#circulating-supply) Circulating Supply ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- This metric shows the total number of coins issued since the Bitcoin network inception. These coins are initially issued to miners as a reward for writing a block of transactions into Bitcoin’s ledger. The total supply curve is hard-capped at 21 Million coins. As of Dec-2021, over 90% of the max supply is already in circulation. The last remaining ~2 million coins will take approximately 118 years away to mine, with the last coins expected to be minted in year 2140. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#supply-last-active-1-year) Supply Last Active +1 Year ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- This metric presents the proportion of the circulating supply (%) that has not transacted for over one year. This provides insight into Bitcoin accumulation and distribution cycles. As investors accumulate and store coins for long periods of time, this metric will rise as more coins cross the 1yr age threshold. Conversely, as these long-term investors spend and distribute their coins, this metric will decline, and these older coins become young again. This metric will naturally drift higher due to the growing share of coins held for a very long time or lost (loss of access to private keys). * **Supply Older than 1yr will Increase** after a period of investor accumulation, where coins have been transferred to wallets for long-term storage. This metric will increase only after coins are dormant for 1yr, so has a delayed reaction. * **Supply Older than 1yr will Decrease** as longer-term investors spend coin and transfer them to exchanges or other entities. Spent coins will immediately change from 1yr+ to 0-days and thus this metric react straight away. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#issuance) Issuance -------------------------------------------------------------------------------------------------------------------------------------------------------- Reflects the number of newly minted BTC coins that are mined each day (orange). The trace is somewhat volatile due to natural variability in both changing hash-rate on the network, and the number of blocks that are mined per day (and thus coins. Halving events can also be seen, which occur every 210,000 blocks (approx 4yrs), and reduce the number of BTC coins mined per block from 50, to 25, to 12.5, and so-on. A 14-day Simple moving average is shown in blue. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#inflation-rate-and-stock-to-flow-ratio) Inflation Rate (%) and Stock-to-Flow Ratio ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Resolves the issuance of newly minted BTC coins into an annual rate of supply expansion (orange). Naturally, during the early years where circulating supply is small, the annual inflation rate is very large. However over time, and as halving events occur, the inflation rate perpetually declines, and stabilizes. Stock-to-Flow Ratio (blue) is the inverse of inflation rate, and shows how many years it would take at the current issuance rate to reproduce the circulating supply. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#application-analysing-bitcoin-market-cycles) Application: Analysing Bitcoin Market Cycles ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Generally speaking, the age of coins tend to follow Bitcoin market cycles: * **During Bullish markets the supply of old coins tends to deplete**. This occurs as longer-term investors spend their coins, and distribute them to incoming new holders. * **During Bearish markets the supply of old coins tends to increase**. This occurs as shorter-term investors exit the market, and gradual accumulation by higher conviction holders begins. We can observe these cyclical patterns in the **Supply Lasy Active 1yr+** metric (red below) which cycles and down approximately in line with Bitcoin market cycles. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#video-guide-overview) Video Guide Overview -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- On-chain analysis allows us to observe the holdings, spending and flow of funds through the network. In this session we will get started with the foundations of supply dynamics for Bitcoin. ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#topics-for-discussion) Topics for Discussion: * Start simple with circulating supply, issuance, inflation. * Economic metrics like inflation rates and Stock-to-Flow. * Analyse the supply older and younger than 1yr. * Introduce the supply Net Position Change concept. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#video-workbench-tutorial) Video Workbench Tutorial ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- This workbench tutorial provides an introduction to the tool, and shows you how to build your first metrics and assess Bitcoin market cycles using Supply Last Active 1yr+. Tutorial Workflow: * Add base metrics and set correct scales and axes. * Convert a Supply from % into BTC Volume. * Calculate a new metric ‘Coins Younger than 1yr. * Calculate a Supply Net Position Change metric using the diff function. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics#glassnode-advanced-supply-dynamics-metrics) Glassnode Advanced - Supply Dynamics Metrics ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ The next step is to construct an oscillator showing how much the Supply Last Active 1yr+ metric is increasing (positive) or decreasing (negative). In the , we will explore how we can use Workbench to calculate the **Net Position Change Oscillator** shown below in blue. This helps is identify macro changes in Bitcoin market cycles. These supply dynamics metrics are just scratching the surface. With a , we can start investigating the age of the coin supply as a measure of investor sentiment and conviction, with a particular focus on the longer-term cohorts. Some example Advanced metrics include: Shows us the volume of coins deployed onto Ethereum for DeFi applications. captures the cyclical behaviour of older coins spending as long-term investors take profits, typically in bull cycles. allows us to see the magnitude of gains and losses realized by coins spent each day. It often spikes during high volatility events such as bull market peaks, and bear market capitulations is calculated by from observing whether the on-chain balance of a wide cross-section of the market has increased (cool colors), or not (warm colors). breaks up the coin supply into age brackets. We can use this metric to observe accumulation and distribution cycles. 📖 [tutorial video below](https://youtu.be/neKODeE01Jk) [**View Live Workbench Chart**](https://studio.glassnode.com/workbench/8fb9cb2f-c66f-4d01-5c79-bf6e358251b7?utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) [**Glassnode Advanced plan**](https://studio.glassnode.com/pricing?utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**Wrapped Bitcoin Balance (WBTC)**](https://studio.glassnode.com/metrics?a=BTC&c=native&chartStyle=column&m=distribution.BalanceWbtc&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**90-day Coindays Destroyed**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Cdd90AgeAdjusted&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**Net Realized Profit/Loss**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.NetRealizedProfitLoss&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**The Accumulation Trend Score**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.AccumulationTrendScore&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**HODL Waves**](https://studio.glassnode.com/metrics?a=BTC&m=supply.HodlWaves&resolution=24h&utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_4) [**View Live Dashboard**](https://studio.glassnode.com/dashboards/introduction-to-supply-dynamics?utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) ![Bitcoin: Supply Dynamic Introduction](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-bb7f57aa5f66620555ff0ce67bf68d95ecf649b8%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5e31806b&sv=2) ![Bitcoin: Circulating Supply [BTC]](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-1b8ad10e17c9806fdf670b432569ebc5f0a63856%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=a4a59823&sv=2) ![Bitcoin: Percent of Supply Last Active 1+ Years Ago](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-c9090f39f1f1263a37070bd3efe51956a72fb201%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=338bca1a&sv=2) ![Bitcoin: Issuance and 14DMA](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-b52cf34ede4bc66264456faa501f84ce621a21ae%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5da9dd17&sv=2) ![Bitcoin: Inflation Rate (%) and Stock-to-Flow Ratio](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-49687e5d3847963212e9e750a44d0633d911f68a%252F5.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=e44603f1&sv=2) ![Bitcoin: Supply Last Active 1 yr+ Net Position Change](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-98020da9dc46f06a115e27be07c65fbbb25f89d5%252F6.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=9fd5128c&sv=2) ![Dashboard](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-9786975d373a5cf0e78106247ad5919f88658c3f%252F7.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5f02d13&sv=2) [Live Chart](https://studio.glassnode.com/workbench/0f89434c-7c73-4c55-4b5a-621a9299de68?utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&c=native&m=supply.Current&resolution=24h&utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&m=supply.ActiveMore1YPercent&resolution=24h&utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) [Live Chart](https://studio.glassnode.com/workbench/1598da59-5689-4e5f-6004-f8d4d5628a1e?utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) [Live Chart](https://studio.glassnode.com/workbench/0515d9ff-2ab3-4139-70c9-8d4f095aee78?utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) [Live Chart](https://studio.glassnode.com/workbench/8fb9cb2f-c66f-4d01-5c79-bf6e358251b7?utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) [Live Dashboard](https://studio.glassnode.com/dashboards/introduction-to-supply-dynamics?utm_medium=website&utm_source=academy&utm_campaign=tutorials_4) --- # MVRV-Z Score | Glassnode Docs [PreviousMVRV Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio) [NextSTH-MVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------ The MVRV-Z Score is used to assess when an asset is overvalued or undervalued relative to its "fair value", as underlined by the deviation between its and . When market value is significantly higher than realized value, it has historically indicated a market top (red zone), while the opposite has indicated market bottoms (green zone). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------- MVRV-Z Score is defined as the ratio between the difference of market cap and realized cap, and the standard deviation of market cap. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score#about) About ---------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score#created-by) Created By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score#date-created) Date Created October 2018 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score#further-resources) Further Resources ---------------------------------------------------------------------------------------------------------------------------- MVRV-Z Score\=Market Cap - Realized CapStandard Deviation (Market Cap)\\begin{align\*} \\textrm{MVRV-Z Score} &= \\frac{\\textrm{Market Cap - Realized Cap}}{\\textrm{Standard Deviation}~{\\color{gray}{\\textrm{(Market Cap)}}}} \\end{align\*}MVRV-Z Score​\=Standard Deviation (Market Cap)Market Cap - Realized Cap​​ Awe & Wonder - 📖 [View MVRV-Z Score in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=market.MvrvZScore) [View MVRV-Z Score in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/market#mvrv-z-score) [Awe\_andWonder](https://medium.com/@Awe_andWonder) [Introducing … The Bitcoin “MVRV Z” Metric That Predicts Market Tops with 90%+ Accuracy](https://medium.com/@Awe_andWonder/introducing-the-bitcoin-mvrv-z-score-metric-that-predicts-market-tops-with-90-accuracy-89d90df043d7) [market cap](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [realized cap](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization) ![Bitcoin: MVRV-Z Score](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-1ad72b9eb85fe5497be66f552719539e0b901cb2%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=98dde597&sv=2) --- # Granular Cohorts for Key On-Chain Metrics | Glassnode Docs [PreviousGet started with Glassnode Metrics](https://docs.glassnode.com/guides-and-tutorials/getting-started/get-started-with-glassnode-metrics) [NextMetric Guides](https://docs.glassnode.com/guides-and-tutorials/metric-guides) Last updated 5 months ago ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics#introduction) Introduction We are thrilled to introduce you to 28 new, cutting-edge on-chain metrics, now available only on Glassnode for both Bitcoin and Ethereum. The new suite adds unprecedented depth and insight into critical metrics. By incorporating detailed breakdowns based on the age of holdings and wallet size distributions, you can now enrich your understanding of capital flows, asset fundamentals, and market sentiment. Users can access these metrics by navigating to “Breakdowns” or . * * * ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics#what-is-being-released) What is being released? We are releasing 28 new metrics and multiple dashboards designed to provide a more granular view of key BTC and ETH on-chain metrics within our . The new metrics are: * MVRV * Market Cap * Realized Cap * Realized Price * Realized Profit & Loss * SOPR * Spent Volume * Supply The new Dashboards are: ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics#which-questions-do-these-metrics-help-answer) Which questions do these metrics help answer? As you dive into these new metrics, we want to share some fascinating questions you can start to answer with them: * **MVRV** — Are older coins being held at a higher relative valuation than coins that recently changed hands? * **Market Cap** — Is the majority of the market value held in older or newer coins? * **Realized Price** — Is the average acquisition cost higher for older or newer coins? * **Realized Loss** — Is the total realized loss greater for hot or cold supply? * **SOPR** — Are older coins being sold at a profit more frequently compared to newer coins? * **Spent Volume** — Is the volume of assets sold at a loss greater for older or newer coins? * **Supply** — Is the majority of the total supply held in older coins, indicating a mature market, or in newer coins, indicating a growing market? ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics#where-can-i-find-these-metrics) Where can I find these metrics? ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics#where-are-the-ethereum-metrics) Where are the Ethereum metrics? To view the ETH variants in Studio, simply navigate to one of the metrics listed above and, underneath the Glassnode logo, select Ethereum as the asset. * * * ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics#conclusion) Conclusion BTC — BTC — ETH — ETH — You can access these metrics by navigating to 'Charts' and then selecting 'Breakdowns'. The metrics are also available . These new metrics and dashboards represent an important development in on-chain analysis, because they provide a level of granularity for critical metrics that we have not seen before. To access the suite, please get in touch with . 📖 [in Studio](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.MvrvByAge) [via API](https://docs.glassnode.com/basic-api/endpoints/breakdowns) [Enterprise Plan](https://glassnode.com/contact-sales?utm_source=bm-academy-article&utm_medium=academy&utm_campaign=breakdown-metrics-cta) [MVRV by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.MvrvByAge) [MVRV by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.MvrvByWalletSize) [Market Cap by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.MarketcapUsdByAge) [Market Cap by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.MarketcapUsdByWalletSize) [Realized Cap by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.MarketcapRealizedUsdByAge) [Realized Cap by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.MarketcapRealizedUsdByWalletSize) [Realized Price by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.PriceRealizedUsdByAge) [Realized Price by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.PriceRealizedUsdByWalletSize) [Realized Loss by LTH/STH](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.RealizedLossByAge) [Realized Loss by LTH/STH](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.RealizedLossByLthSth) [Realized Loss by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.RealizedLossByWalletSize) [Realized Profit by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.RealizedProfitByAge) [Realized Profit by LTH/STH](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.RealizedProfitByLthSth) [Realized Profit by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.RealizedProfitByWalletSize) [SOPR by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SoprByAge) [SOPR by LTH/STH](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SoprByLthSth) [SOPR by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SoprByWalletSize) [Spent Volume in Loss by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeLossSumByAge) [Spent Volume in Loss by LTH/STH](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeLossSumByLthSth) [Spent Volume in Loss by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeLossSumByWalletSize) [Spent Volume in Profit by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeProfitSumByAge) [Spent Volume in Profit by LTH/STH](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeProfitSumByLthSth) [Spent Volume by Profit by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeProfitSumByWalletSize) [Spent Volume by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeSumByAge) [Spent Volume by LTH/STH](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeSumByLthSth) [Spent Volume by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SpentVolumeSumByWalletSize) [Supply by Age](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SupplyByAge) [Supply by Wallet Size](https://studio.glassnode.com/metrics?a=BTC&category=Breakdowns&m=breakdowns.SupplyByWalletSize) [Short-Term Holder Profitability Breakdown](https://studio.glassnode.com/dashboards/2af30e77-f004-4575-5c7e-525c533ce435) [Single-Cycle LTH Profitability Breakdown](https://studio.glassnode.com/dashboards/5a7def26-1a6b-417a-65f4-26b91c17fc52) [Short-Term Holder Profitability Breakdown](https://studio.glassnode.com/dashboards/99426f74-8716-437a-7fc7-d08ec4f22ea1) [Single-Cycle LTH Profitability Breakdown](https://studio.glassnode.com/dashboards/67721c80-ed45-4b12-7884-364f4845c497) [in Studio](https://studio.glassnode.com/metrics?a=BTC&m=addresses.ActiveCount) [via API](https://docs.glassnode.com/basic-api/endpoints/breakdowns) [our institutional team](https://glassnode.com/contact-sales?utm_source=bm-academy-article&utm_medium=academy&utm_campaign=breakdown-metrics-cta) --- # Get started with Glassnode Metrics | Glassnode Docs [PreviousTutorial 4 - Introduction to Supply Dynamics](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics) [NextGranular Cohorts for Key On-Chain Metrics](https://docs.glassnode.com/guides-and-tutorials/getting-started/granular-cohorts-for-key-on-chain-metrics) Last updated 5 months ago ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/get-started-with-glassnode-metrics#introduction) Introduction Welcome to Glassnode Studio's Onchain Analysis guide. If you're taking your first steps or looking for a refresher, here are three key metrics to master first. Familiarizing yourself with these foundational metrics not only primes you for a deeper dive into Glassnode Studio but also unlocks the potential to explore numerous other facets of the product. * * * ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/get-started-with-glassnode-metrics#id-1.-sopr-spent-output-profit-ratio) 1\. SOPR (Spent Output Profit Ratio) Imagine every time you sell or trade a Bitcoin, it comes with a virtual "tag" indicating whether you made a profit or loss at that exact moment, based on the original price you bought it at. The SOPR metric is like a market-wide aggregate of all these "tags". It gives us a snapshot of the overall profit or loss of all Bitcoin transactions in a given time period (1 Day / 1 Hour). **Core Concept:** * **Spent Output**: When you spend (or sell) Bitcoin, the amount you're disposing of is what we term as a "spent output". * **Profit Ratio**: This measures if, on average, people are selling their Bitcoin at a profit (above the price they bought it at) or at a loss. **Breaking Down SOPR:** 1. **SOPR Value = 1**: This is the break-even point. If SOPR is 1, it means that on average, people are selling their Bitcoin for the exact price they bought it. 2. **SOPR > 1**: People are, on average, selling their Bitcoin at a profit. The higher the value above 1, the larger the average profit of the entire market. 3. **SOPR < 1**: People are selling their Bitcoin at a loss. **Why SOPR Matters for Traders:** 1. **Market Sentiment Gauge**: SOPR can be used as an indicator of overall market sentiment. If SOPR is consistently above 1 during a bullish phase, it could suggest that the sentiment remains positive as most traders are still taking profits. Conversely, if it drops below 1 in a bearish market, it might imply panic selling or capitulation. 2. **Potential Buy/Sell Signals**: While SOPR shouldn't be used in isolation, extreme values can indicate potential overbought or oversold conditions. For instance: * A significantly high SOPR during a rapid price increase might suggest euphoria and potential overextension of the rally. * A dropping SOPR in a downtrend could signify potential market bottoms as traders sell at a loss. 3. **Resetting SOPR**: * If SOPR values drop towards 1 during a bull market, it might indicate a potential reset or consolidation phase where weak hands are being shaken out, and could be interpreted as a buying opportunity. * If SOPR values gravitate towards 1 during a bear market, it might indicate a stabilization or potential bottoming phase where panic selling is subsiding. This could be interpreted as a sign that the market is reaching an equilibrium, where sellers are no longer selling at a loss, possibly signaling a reversal or at least a pause in the downward trend. * * * ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/get-started-with-glassnode-metrics#id-2.-mvrv-market-value-to-realized-value) 2\. MVRV (Market Value to Realized Value) Imagine you could measure the current value of all Bitcoin against the price at which each Bitcoin last moved (i.e., when it was last bought or sold). MVRV captures this dynamic, offering insight into the perceived value of Bitcoin compared to its "realized" value. **Core Concept:** * **Market Value**: The total value of all Bitcoin in circulation at current prices. * **Realized Value**: The cumulative value of all Bitcoin based on the prices they were last transacted. **Breaking Down MVRV from a Profit/Loss Perspective:** 1. **MVRV Value = 1**: The market is at a break-even point. On average, holders are neither in profit nor in loss, as the current market value aligns with the price they paid. 2. **MVRV > 1**: * **Profit Zone**: The market value of Bitcoin is higher than the prices at which they were last acquired, indicating that most holders are in profit. * **Incentive to Sell**: The higher the MVRV moves above 1, the greater the unrealized profit in the market, suggesting a potential increase in selling or spending behavior by holders. 3. **MVRV < 1**: * **Loss Zone**: The market value of Bitcoin is lower than the prices at which coins were last acquired, indicating that a significant portion of holders are at a loss. * **Capitulation & Accumulation**: Extended periods with MVRV below 1 are uncommon and signify notable distress in the market. These phases can lead to capitulation, but they also represent potential accumulation opportunities for discerning investors. **Why MVRV Matters for Traders:** 1. **Spotting Market Extremes**: MVRV can serve as a tool to identify overbought or oversold conditions, especially in correlation with historical MVRV levels. 2. **Bear Market Dynamics**: An MVRV below 1 is an indicator of market distress and can also be a potential accumulation point for forward-looking investors. 3. **Profit-Taking Indicators**: A rising MVRV, especially during bull runs, can indicate zones where profit-taking is more likely. \\ * * * ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/get-started-with-glassnode-metrics#id-3.-hodl-waves) 3\. HODL Waves When thinking about Bitcoin's value and long-term potential, it's not just about current market value and realized profits. How long investors and traders have been holding onto their Bitcoin can provide insightful information about market sentiment. This is where HODL Waves come into play. **Core Concept:** * **HODL Waves**: A visual representation of the age distribution of Bitcoin UTXOs (unspent transaction outputs) in the market. Essentially, it shows for how long Bitcoin has been held in individual wallets before being spent. **Breaking Down HODL Waves:** 1. **Short-Term Waves**: Represents Bitcoin that has been held for a short period, e.g., less than a month. This can reflect recent buying activity or traders looking for short-term profits. 2. **Mid-Term Waves**: These represent Bitcoin held for several months to a year. A rise in this category might signify increasing investor confidence, with holders showing commitment despite short-term price fluctuations. 3. **Long-Term Waves**: Shows Bitcoin that hasn't moved for years. An increase here indicates strong belief in Bitcoin's long-term value, with holders unlikely to sell in the near future. **Why HODL Waves Matter for Traders:** 1. **Market Sentiment Gauge**: A shift from short-term to long-term holding can indicate growing confidence in the market's future. Conversely, a shift from long-term to short-term can suggest potential selling pressure. 2. **Spotting Potential Supply Changes**: If a significant portion of long-held Bitcoin starts moving, it can indicate a potential increase in supply in the market, which might exert downward price pressure. 3. **Historical Comparisons**: By comparing current HODL Waves to past cycles, traders can identify patterns that might indicate upcoming market movements. \\ * * * ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/get-started-with-glassnode-metrics#conclusion) Conclusion Understanding and harnessing the power of onchain metrics can provide traders with invaluable insights into the underlying health and sentiment of the Bitcoin market. Glassnode Studio is committed to offering the most pertinent and actionable onchain data for institutional trading firms to aid in informed decision-making. By combining these onchain insights with your traditional technical and fundamental analyses, you can achieve a more comprehensive view of the market landscape. Happy trading! 🔎 🔎 🔎 📖 [View Metric in Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Sopr) [View Metric in Studio](https://studio.glassnode.com/metrics?a=BTC&m=market.Mvrv) [View Metric in Studio](https://studio.glassnode.com/metrics?a=BTC&m=supply.HodlWaves) --- # SOPR | Glassnode Docs [SOPR (Spent Output Profit Ratio)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [aSOPR (Adjusted SOPR)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr) [LTH-SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr) [STH-SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr) [PreviousSTH-MVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/sth-mvrv) [NextSOPR (Spent Output Profit Ratio)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) --- # LTH-MVRV | Glassnode Docs [PreviousMVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv) [NextMVRV Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------- Long Term Holder MVRV (LTH-MVRV) is MVRV that takes into account only UTXOs as old as or older than 155 days and serves as an indicator to assess the behaviour of long-term investors. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------- LTH-MVRV is calculated by taking the MVRV value only for UTXOs as old as or older than 155 days. LTH-MVRV\=Market Cap (of all UTXOs where age ≥ 155 days)Realized Cap (of all UTXOs where age ≥ 155 days)\\textrm{LTH-MVRV}=\\frac{\\textrm{Market Cap}~{\\color{gray}{\\textrm{(of all UTXOs where age ≥ 155 days)}}}}{\\textrm{Realized Cap}~{\\color{gray}{\\textrm{(of all UTXOs where age ≥ 155 days)}}}}LTH-MVRV\=Realized Cap (of all UTXOs where age ≥ 155 days)Market Cap (of all UTXOs where age ≥ 155 days)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv#about) _About_ -------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv#date-introduced) Date Introduced March 2020 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------ Rafael Schultze-Kraft - 📖 [View LTH-MVRV in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=market.MvrvMore155) [View LTH-MVRV in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/market#lth-mvrv) [Glassnode](https://twitter.com/glassnode/) [Breaking up On–Chain Metrics for Short and Long Term Investors](https://insights.glassnode.com/sth-lth-sopr-mvrv/) ![Bitcoin: LTH-MVRV](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-1d79c5778b2dc3d282640a76a4eb3d83dff81acd%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=a5769ee6&sv=2) --- # Unrealized Profit/Loss | Glassnode Docs [NUPL (Net Unrealized Profit/Loss)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss) [Unrealized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit) [Unrealized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss) [LTH-NUPL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl) [STH-NUPL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl) [PreviousSTH-SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr) [NextNUPL (Net Unrealized Profit/Loss)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss) --- # Tutorial 3 - Fundamentals of Proof-of-Work Mining | Glassnode Docs [PreviousTutorial 2 - Introduction to On-chain Activity](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-2-introduction-to-on-chain-activity) [NextTutorial 4 - Introduction to Supply Dynamics](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-4-introduction-to-supply-dynamics) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#the-fundamentals-of-proof-of-work-mining) The Fundamentals of Proof-of-Work Mining ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Bitcoin’s security is assured by miners, whom are paid in BTC to provide computational power, compile transactions into blocks, and build the blockchain. The total computational power provided by all miners on the network is estimated by a metric called **Hashrate**, and the complexity of the puzzle they must solve is called the **Mining Difficulty**. The amount of hashrate on the network is highly dependent on the market price of BTC (**Miner Revenue**). As a result, the mining industry also experiences market bull and bear cycles. Mining hardware also becomes increasingly efficient over time, transitioning from CPUs --> GPUs --> FPGAs --> ASICs. We must therefore observe many mining metrics in both linear (left, blue) and logarithmic (right, orange) scales. In this section, we will explore the fundamentals of Proof-of-work mining including: * The relation between Block-time, Difficulty, and Hash-rate * Assessing mining rewards and revenue * Models mapping out Miner market cycles [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#difficulty) Difficulty ----------------------------------------------------------------------------------------------------------------------------------------------------------------- The **Mining Difficulty** can be though of as the complexity of the puzzle miners must solve to find the next valid block. It is a self-regulating algorithm that adjusts the puzzle complexity (called the **Difficulty Adjustment**) depending on how fast or slow blocks are being mined. The Mining Difficulty will change once every 2016 blocks (approx. 14-days), to achievce the following goals and objectives: * **When more miners are coming online** blocks are found faster than 10mins, and the Difficulty will increase (harder puzzle). * **When miners are leaving the network** blocks are found slower than 10mins, and the Difficulty will decrease (easier puzzle). * **This constant re-targeting of a 10min Block Interval** makes sure that no matter how much mining power is online, the **Block Interval will be consistent**, and the pre-defined **coin supply issuance will remain the same**. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#mean-block-interval) Mean Block Interval ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Every time a miner finds a new block, they encode the Timestamp into the block header. The Bitcoin protocol measures the average time between blocks in a 2016 block difficulty window, and then performs the **Difficulty Adjustment**: * Difficulty needs to increase if the average block interval is faster than 10mins. * Difficulty needs to decrease if the average block interval is slower than 10mins. The chart below shows the Mean Block Interval (orange), its 14-day Average (black), and the 10min target (600 second, dark blue). We can see that Mean Block Interval is lower than the target for most of Bitcoins history. This is a result of the expansion, and efficiency growth of the mining industry leading to faster blocks, and thus increasing Difficulty. However, There are some instances where the Mean Block Interval is higher than the target for an extended period, usually in bearish markets or during shock events (e.g. May 2021). This signals that miners are leaving the network, and blocks are slowing down. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#hashrate) Hashrate ------------------------------------------------------------------------------------------------------------------------------------------------------------- Hashrate is the most widely known mining metric. It measures the estimated number of SHA256 computations performed by all miners every second. Hashrate has units of hashes per second (H/s), however it is often quoted in Terrahash/s (TH/s, one thousand-billion hashes), or more recently in Exahashes/s (EH/s, one billion-billion hashes). For a sense of scale, the hashrate of 220 EH/s (as of May 2022) is equivalent to all 7.9 Billion people on earth, guessing a SHA256 hash 27.85 Billion times every second! **Note:** Hashrate is actually an estimated metric. We know the puzzle Difficulty, and we can see the actual block timestamps, from which we compute the Block Interval. We then use these two metrics to estimate an implied hashrate to produce this result. > 💡 **Hint:** Hashrate has quite a lot of natural variability as a result of the probabilistic nature of block solving, difficulty adjustments, and changes in actual mining hardware. It is recommended to **apply a 14-day moving average, or median** to smooth out this variability to observe the underlying trends, and quote more accurate hashrate values. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#miner-revenue-and-income) Miner Revenue and Income --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Miners are paid the **Total Block Reward** by the protocol, with revenue coming from two sources: the **Block Subsidy**, and the **Transaction Fees**. Both components are denominated in BTC, however we can easily calculate their USD value by multiplying the BTC block reward by the price when they are received. ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#total-transaction-fees-usd) Total Transaction Fees \[USD\] The total USD denominated transaction fees paid to miners by Bitcoin network users every day. Note how historically fees tend to spike with increasing market attention (bull markets) as a result of more users, more network congestion, and greater urgency in getting transactions confirmed. Conversely, transaction fees have historically declined during quieter periods when there is less network congestion, typically seen in more bearish markets. ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#total-block-reward-btc) Total Block Reward \[BTC\] The total amount of BTC paid in aggregate to miners each day, calculated as sum of the Block Subsidy (issuance, newly minted coins) and Transaction fees. We can see that this metric declines over time as a result of the **Halving Events** which reduces the **Block Subsidy** issuance by 50% every 210,000 blocks (approx. 4yrs) ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#total-miner-revenue-usd) Total Miner Revenue \[USD\] If we multiply **Total Block Reward \[BTC\]** in the chart above by the BTC/USD price on the day the reward is paid, we can calculate the USD denominated revenue paid to miners each day. We can use this metric to assess the **Security Budget** paid by the protocol to miners for network security. We can also see that over time, whilst the BTC Block Reward is falling (due to halving events), the USD denominated revenue has increased over time as a result of higher BTC/USD exchange rate. This dynamic also includes Transaction Fees paid, which tends to change as market cycle conditions change. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#application-assessing-mining-market-cycles) Application: Assessing Mining Market Cycles ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- As noted above, miner revenue, and thus profitability, is directly linked to the BTC price. Mining is also an extremely competitive industry, requiring careful management of costs (power, hardware, labour etc), financing (debt, equity), and the timing of mining rig expansion/upgrades in line with favourable market cycles. * **During bullish markets** miners have more fiat denominated income, and thus greater opportunity to invest in more or newer generation mining rigs. This leads to an increase in the applied hashrate, and thus an **increasing Difficulty**. * **During bearish markets** miners have less fiat denominated income, but still have fixed costs to pay. During extended bears, this can lead to some miners shutting off some, or all of their rigs, either temporarily, or permanently. This leads to a decrease in the applied hashrate, and thus a **decreasing Difficulty**. ### [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#the-difficulty-ribbon) The Difficulty Ribbon: The Difficulty Ribbon is a powerful tool for monitoring these mining market cycles. The Difficulty Ribbon compares Mining Difficulty across multiple moving averages: 200d, 128d, 90d, 60d, 40d, 25d, 14d. * **Healthy Hashrate Expansion** is signalled by the faster moving averages (e.g. 14d, 25d, 40d) rising faster than slower averages (90d, 129, 200d). This creates a Difficulty Ribbon expansion and **signals a healthy and growing mining industry.** * **Mining Market Contractions** are signalled by the faster moving averages falling faster than the slower averages, and even dropping below them during periods of extreme financial stress. This creates a ribbon contraction and **signals a weaker and stressed mining industry.** The charts below are shown in Linear (top) and logarithmic (bottom) scale to observe recent performance, and historical performance, respectively. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#video-guide-learning-the-fundamentals-of-proof-of-work-mining) Video Guide: Learning the Fundamentals of Proof-of-Work Mining ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Bitcoin mining is one of the most interesting, but least understood parts of the network. This session will explore the fundamentals of mining dynamics, and how we track them with on-chain metrics. Topics for Discussion: * Understanding difficulty, block intervals and hashrate * Assessing miner revenue and profitability * Tracking miner capitulation cycles and behaviours * Confluence between miner cyclical indicators. [](https://docs.glassnode.com/guides-and-tutorials/getting-started/use-case-tutorials/tutorial-3-fundamentals-of-proof-of-work-mining#glassnode-advanced-mining-metrics) Glassnode Advanced - Mining Metrics ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- These mining metrics are laying the foundation for understanding Proof-of-Work mining. With a , we can observe the dynamics of the mining market to assess its health, and whether miners are in profit, or under income stress. Some example Advanced metrics include: creates a cyclical oscillator out of the distance between the fast moving and slow moving Difficulty moving averages. This helps to spot where a difficulty ribbon inversion may be in effect. models the approximate USD income for each Exahash applied to the network. This can be a useful tool for evaluating a miners expected revenue in comparison to the market competition. models the current daily aggregate miner income against their yearly average. During mining industry booms and busts, the Puell multiple will reach extreme highs, and lows, respectively. is an oscillator tracking where miners are producing blocks faster (-ve) or slower (+ve) than the 600-second target block time. This can identify when stress or operation expansion is occurring within the mining industry. track phases of mining market boom and bust. During expansion, the 60DMA of hash-rate will rise faster than the 90D, whilst during capitulation it will fall below, signifying a loss of hash-rate online. 📖 [**Glassnode Advanced plan**](https://studio.glassnode.com/pricing?utm_medium=website&utm_source=tutorial_adv&utm_campaign=tutorials_3) [**Difficulty Ribbon Compression**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.DifficultyRibbonCompression&resolution=24h) [**Miner Revenue per Exahash**](https://studio.glassnode.com/workbench/cb9114b7-d8c2-4474-7cd1-3c38f7b133f2) [**Puell Multiple**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.PuellMultiple&resolution=24h) [**Mining Pulse**](https://studio.glassnode.com/workbench/fb31514f-b998-40d1-6dd0-ea535bed19d0) [**Hash Ribbons**](https://studio.glassnode.com/metrics?a=BTC&m=indicators.HashRibbon&resolution=24h) [**View Live Dashboard**](https://studio.glassnode.com/dashboards/fundamentals-of-bitcoin-mining?utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-dbae3068dd5103d1790e41db6beda533d561bdf6%252F9.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ab09f2b4&sv=2) Live Dashboard ![Bitcoin: Mean Hash Rate](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-ac3ac76c199f8bddf4ec75e863c72df2eaaa27b5%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=aa85125a&sv=2) ![Bitcoin: Mining Difficulty](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-39eb076c8a332d6b4f874018f70752bf16c2ddf1%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=38c0abd9&sv=2) ![Bitcoin: Mean Block Interval vs Target of 600s](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-a67c7df1dcdf8341547cecf228d670cf27c96b36%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=c1fe965&sv=2) ![Bitcoin: Mean Hash Rate (14d Moving Average)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-76fea12bcbf140fdefc1711ce7b8b0715346ce01%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=78b2af6f&sv=2) ![Bitcoin: Total Fees [BTC]](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-71b2e39a2227e43ce4cc3f1fe1addbfc6face224%252F5.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3764318a&sv=2) ![Bitcoin: Total Block Reward [BTC]](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-bbbe6674faa0ec0d5128ac3d24eca6d8e0ac1387%252F6.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=2a129607&sv=2) ![Bitcoin: Miner Revenue [USD]](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-b887a96d3b25331478c0936c32762779ffe602ad%252F7.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=8946fc8c&sv=2) ![Bitcoin: Difficulty Ribbon](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-072f26682d9149157d54ebfeee393cef231a5ebd%252F8.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=94ee3c69&sv=2) [Live Dashboard](https://studio.glassnode.com/dashboards/fundamentals-of-bitcoin-mining?utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&chartStyle=column&m=mining.DifficultyLatest&resolution=24h&zoom=all&utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) [Live Chart](https://studio.glassnode.com/workbench/200bd363-9ce1-49bc-7285-1165833c87b4?&utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&chartStyle=column&ema=0&m=mining.HashRateMean&mAvg=14&mMedian=0&resolution=24h&zoom=all&utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) [Live Chart](https://studio.glassnode.com/workbench/507af7a9-3f6b-43cb-543d-8b531d7200cc?&utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) [Live Chart](https://studio.glassnode.com/workbench/9fef6af5-63ec-40d4-612a-03af666a6a7d?&utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) [Live Chart](https://studio.glassnode.com/workbench/84eebca3-76e9-4ebe-50da-dc341c0f453e?&utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) [Live Chart](https://studio.glassnode.com/metrics?a=BTC&m=indicators.DifficultyRibbon&resolution=24h&s=1497101503&u=1654781503&zoom=1825&utm_medium=website&utm_source=academy&utm_campaign=tutorials_3) --- # Realized Capitalization | Glassnode Docs [PreviousMarket Capitalization](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [NextMVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------ Realized capitalization (realized cap) is a variation of that values each based on the price when it was last moved, as opposed to its current value. As such, it represents the _realized_ value of all the coins in the network, as opposed to their _market_ value. Realized cap reduces the impact of lost and long dormant coins, and weights coins according to their actual presence in the economy of a given chain. When a coin that was last moved at significantly cheaper prices is spent, it will re-value the coins to the current price, and thus increase realized cap by a corresponding amount. Similarly, if a coin is spent at a price lower than when it was last moved, it will re-value to a cheaper price and have a corresponding decrease on realized cap. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------------- Realized cap is computed by valuing each UTXO based on the price when it was last moved. Realized Cap\=value⋅pricecreated \[USD\] (of all UTXOs)\\textrm{Realized Cap} = \\textrm{value} \\cdot \\textrm{price}\_\\textrm{created} ~{\\color{gray}{\\textrm{\[USD\]}}} ~{\\color{gray}{\\textrm{(of all UTXOs)}}}Realized Cap\=value⋅pricecreated​ \[USD\] (of all UTXOs) [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#user-guide) User Guide -------------------------------------------------------------------------------------------------------------------- The realized cap considers the price at which each coin is last moved, making it a powerful metric for estimating the true economic weight, or the global wealth stored in the asset. It will discount long dormant or lost coins as they are considered to be of low economic value. Should these coins be spent after many years of dormancy, there will be a corresponding large impact on realized cap as they are repriced into an active state. Changes in realized cap will occur under the following framework: * **Increases in realized cap** will occur when coins that were last moved at cheaper prices are spent. This action re-prices them higher and realized cap will increase by the volume of coins multiplied by the difference between last price and current price. * **Decreases in realized cap** will occur when coins that were last moved at more expensive prices are spent. This action re-prices them lower and realized cap will decrease by the volume of coins multiplied by the difference between last price and current price. * **Magnitude of change in realised cap** is directly related to the difference in price between when a coin was last moved and the current price when it is spend. Coins re-priced by more significant amounts will have larger influence on the realised cap A coin moved at the top of a bull market and spent at the bottom of the bear will have a large downwards impact on realised cap. Similarly, a coin bought at the bottom of a bear market and sold at the top of the next bull will have a large upwards impact on realised cap. A coin moved at the same price but at a later date will have no impact on realized price. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#example-application) Example Application The realized cap is well paired against the market cap using the Glassnode Workbench feature to observe various market phases. Under this framework, we are able to evaluate the percentage of unrealized profit or loss held by the aggregate investor: * Where the market cap trades above realized cap, the average investor is holding an unrealized profit. * Where the market cap trades below realized cap, the average investor is holding an unrealized loss. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#cyclical-market-bottoms) Cyclical Market Bottoms Historically, the market cap has traded at or below the realized cap in only a few instances, however each has presented opportunities that in hindsight represented cyclical bottoms for bear markets. Being the aggregate cost basis for the market, it makes sense from a psychological perspective that strong support and resistance would be formed at this level. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#identifying-market-phases) Identifying Market Phases The prevailing trend and gradient of the realized cap can also provide insight into the phase of the market using the following framework: * **Bull markets** tend to be characterised by a **steep uptrend of the realized cap**.This occurs as coins purchased at cheaper prices are spent to realize profits. Steeper uptrends suggest larger magnitude profits are being realized. * **Bear markets** tend to be characterised by **shallow downtrends in the realized cap**. This occurs as market interest in the protocol begins to pick, more coins are transacted in off-chain exchanges and new market entrants take losses in the bear market. * **Accumulation phases** following bear market capitulation and into early bull markets tend to be characterised by a **sideways plateau to shallow uptrend of the realized cap**. This occurs as smart money investors accumulate cheap coins providing ultimate buy support and begin to withdraw coins to cold storage wallets. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#recommended-settings) Recommended Settings * **Scale**: log. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#about) About ---------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#coined-by) Coined by ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization#further-resources) Further Resources Given realized cap values each coin at the time last moved, it can be considered a proxy for the value 'stored' or 'saved' in the asset. This metric can therefore be considered an estimate of the aggregate cost basis for the network and makes it a powerful baseline for the creation of additional metrics (e.g. and ). For example, bitcoin that were last spent in 2009 before BTC had a price and are now lost will have an economic value in the realized cap framework equal to zero. will consider these coins in the calculation and thus may be considered to over-value the total market size. This was demonstrated in both the 2011 and 2013 market cycles, both of which occurred prior to the . Early bear market floor support was established coincident with the realized cap. Periods of time where market cap traded below realized cap represented ultimate bear market bottoms and accumulation ranges where the realized cap acted as both resistance, and then support once the level was breached. **Combine:** With for direct comparison of valuation models. (September 2018) CoinMetrics - 📖 [MVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv) [NUPL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss) [View Realized Cap in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=market.MarketcapRealizedUsd) [View Realized Cap in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/market#realized-cap) [Market capitalisation](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [original formulation of the realized cap metric in 2018](https://coinmetrics.io/realized-capitalization/) [market cap on the same axis](https://studio.glassnode.com/compare?a=BTC&a=BTC&axis=0&axis=0&c=&c=&e=&e=&m=market.MarketcapUsd&m=market.MarketcapRealizedUsd&mAvg=0&mAvg=0&mMedian=0&mMedian=0&mScl=log&mScl=lin&miner=&miner=&resolution=24h&resolution=24h&s=1290308056&u=1617148800&zoom=) [Antoine Le Calvez](https://twitter.com/khannib) [Introducing Realized Capitalization](https://coinmetrics.io/realized-capitalization/) [market capitalization](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [UTXO](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains) ![Bitcoin: Realized Cap](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-209463caa7363ccd21fc88af7afef494e3cf8bb1%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=531e9ddb&sv=2) ![Bitcoin: Market Cap vs. Realized Cap](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-1d884b901def5fa024f9bc53c0ca9d446fb27faf%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=63b67025&sv=2) ![Bitcoin: Market Cap vs. Realized Cap Downtrend and Uptrend](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-d7b6c881f072c0fda34bd62104743d9b45ed0b21%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6194064&sv=2) --- # Unrealized Profit | Glassnode Docs [PreviousNUPL (Net Unrealized Profit/Loss)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss) [NextUnrealized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit#indicator-overview) Indicator Overview ----------------------------------------------------------------------------------------------------------------------------------------------------- By looking at the delta between the price when a was created vs. the current price of an asset, we can determine whether the specific coins in that UTXO are in a state of unrealized profit (price has increased) or loss (price has decreased), and to what extent. Unrealized Profit represents the total profit accrued by UTXOs which were created (i.e. realized) when the price of the asset was lower than the current price. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------------------------------ Unrealized Profit is defined as the total profit (in USD) of all coins in existence whose price at realization time was lower than the current price, normalized by the market cap. Unrealized Profit\=value⋅(price \[USD\]−pricecreated \[USD\]) (of all UTXOs where price \> pricecreated)Relative Unrealized Profit\=Unrealized ProfitMarket Cap\\begin{align\*} \\textrm{Unrealized Profit} &= \\textrm{value} \\cdot (\\textrm{price}~{\\color{gray}{\\textrm{\[USD\]}}} - \\textrm{price}\_\\textrm{created}~{\\color{gray}{\\textrm{\[USD\]}}}) \\\\ &\\quad\\, {\\color{gray}{\\textrm{(of all UTXOs where price $>$ price$\_\\textrm{created}$)}}} \\\\\[2em\] \\textrm{Relative Unrealized Profit} &= \\frac{\\textrm{Unrealized Profit}}{\\textrm{Market Cap}} \\end{align\*}Unrealized ProfitRelative Unrealized Profit​\=value⋅(price \[USD\]−pricecreated​ \[USD\])(of all UTXOs where price \> pricecreated​)\=Market CapUnrealized Profit​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit#further-resources) Further Resources --------------------------------------------------------------------------------------------------------------------------------------------------- Rafael Schultze-Kraft - 📖 [View Unrealized Profit in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.UnrealizedProfit) [View Unrealized Profit in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#unrealized-profit) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [UTXO](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#utxo-unspent-transaction-output-chains) ![Bitcoin: Unrealized Profit](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-794245dcedfe44be086b9feec189d30de95e7cd2%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=d80c3bd8&sv=2) --- # MVRV Ratio | Glassnode Docs [PreviousLTH-MVRV](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/lth-mvrv) [NextMVRV-Z Score](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-z-score) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------- MVRV (market-value-to-realized-value) is a ratio of an asset's Market Capitalization versus its Realized Capitalization. By comparing these two metrics, MVRV can be used to get a sense of when price is above or below "fair value", and to assess market profitability. Extreme deviations between market value and realized value can be used to identify market tops and bottoms as they reflect periods of extremes investor unrealized profit and loss, respectively. At its foundation MVRV is a comparison of the following: * Market Cap: Current value of supply (market value of the asset) * Realized Cap: Cost basis of supply (value stored in the asset) The MVRV Ratio can generally be considered withing the following framework: * **High values and up-trends:** The market value of the coin supply is increasing relative to the realized value (cost basis). Higher values indicate a larger degree of unrealized profit is in the system, and increases the probability that investors will distribute coins to lock in gains. * **MVRV Values > 3.5** has generally served as a strong signal for late stage bull cycles, and heightened probability of heavy distribution. * **Low values and down-trends:** The market value of the coin supply is decreasing relative to the realized value (cost basis). Lower values indicate a smaller degree of unrealized profit is in the system which may signal both undervaluation, or poor demand dynamics. * **MVRV Vales < 1.0:** indicates that a large cross-section of the supply is near break even, or held at a loss. These low values have typically provided strong signal of market capitulation and late stage bear accumulations. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio#how-is-it-measured) How is it measured‌ ----------------------------------------------------------------------------------------------------------------------------- MVRV is calculated by dividing an asset's market cap by its realized cap. MVRV\=Market CapRealized Cap\\textrm{MVRV}=\\frac{\\textrm{Market Cap}}{\\textrm{Realized Cap}}MVRV\=Realized CapMarket Cap​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio#user-guide) User Guide ------------------------------------------------------------------------------------------------------------ MVRV Ratio and its use as an analytical tool is fundamentally a study of aggregate investor behavior as price moves to / from their cost basis. It can be considered as a mean reversion style model, where the Realized Cap (aggregate market cost basis) functions as the mean, and MVRV measures deviations from this mean. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio#indicator-signals) Indicator Signals MVRV Ratio signals leave very little room for ambiguity. These signal are as follows: **High MVRV Values** * Price has diverged from cost basis by a very large margin, suggesting large unrealized profitability across the market. * Increases likelihood that investors will begin distributing coins, adding to the liquid supply that must be absorbed by demand. * Extreme values (historically > 3.5) are bearish signals, indicative of potential cycle tops. **Low MVRV Values** * Price has fallen below the aggregate cost basis by a large margin, suggesting investors are holding low unrealized profits, and/or large unrealized losses. * Increases likelihood that investors will, or have capitulated, and suggests that the asset is historically undervalued. * MVRV trading < 1 has historically signalled bear market bottoms, and smart money accumulation are in play. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio#about) About -------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio#created-by) Created By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/mvrv/mvrv-ratio#further-resources) Further Resources and (October 2018) Murad Mahmudov and David Puell - Willy Woo - 📖 [View MVRV in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=market.Mvrv) [View MVRV in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/market#mvrv-ratio) [Murad Mahmudov](https://twitter.com/MustStopMurad) [David Puell](https://twitter.com/kenoshaking) [Bitcoin Market-Value-to-Realized-Value (MVRV) Ratio](https://medium.com/adaptivecapital/bitcoin-market-value-to-realized-value-mvrv-ratio-3ebc914dbaee) [Bitcoin MVRV Ratio](https://charts.woobull.com/bitcoin-mvrv-ratio/) ![Bitcoin: Market Value to Realized Value Ratio (MVRV)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-e7cecf8d1ce2256bb71c5940a3e207d94b46782c%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=432a824d&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-2725415ac7106836992f43eeb5cd115c5a6899db%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=bebe4825&sv=2) --- # LTH-SOPR | Glassnode Docs [PreviousaSOPR (Adjusted SOPR)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr) [NextSTH-SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------- Long-Term Holder SOPR (LTH-SOPR) is a variant of that takes into account only spent outputs older than 155 days. As such, LTH-SOPR serves as an indicator for assessing the behaviour and profitability of smart-money investors who have greater fundamental understanding of the asset and more experience in market volatility. are less likely to be spent, and as such are generally considered to be part of the illiquid circulating supply. LTH-SOPR filters for only these 'old coins' to estimate the amount of profit or loss that is realised by this cohort. This provides insight into the behaviour and sentiment of experienced and smart-money investors who are less likely to react to market volatility, and have higher fundamental conviction to hold the asset. Over the course of 155-days (LTH threshold), it is common for market volatility and price to resolve in a direction, either above, or below the price when the UTXO was created (assumed cost basis). As a result, when a coin held by a LTH is spent, it tends to realise a sizeable profit or loss. Unlike the standard metric and variants ( and ), which typically oscillate around a value of 1.0, the LTH-SOPR often reaches relatively large (> 2.0) and small values (<0.8). As such, LTH-SOPR tends to act a longer term macro cycle oscillator, with indicator values representing the aggregate profit/loss multiple realised by Long-Term Holders. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------- LTH-SOPR is calculated by taking the SOPR value only for spent outputs as old as or older than 155 days. LTH-SOPR\=value⋅pricespent \[USD\] (of all spent outputs where age ≥ 155 days)value⋅pricecreated \[USD\] (of all spent outputs where age ≥ 155 days)\\textrm{LTH-SOPR} = \\frac{ \\textrm{value} \\cdot \\textrm{price}\_\\textrm{spent}~{\\color{gray}\[\\textrm{USD}\]}~\\textrm{\\color{gray}(of all spent outputs where age ≥ 155 days)} }{ \\textrm{value} \\cdot \\textrm{price}\_\\textrm{created}~{\\color{gray}\[\\textrm{USD}\]}~\\textrm{\\color{gray}(of all spent outputs where age ≥ 155 days)} }LTH-SOPR\=value⋅pricecreated​ \[USD\] (of all spent outputs where age ≥ 155 days)value⋅pricespent​ \[USD\] (of all spent outputs where age ≥ 155 days)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr#video-tutorial) Video Tutorial ------------------------------------------------------------------------------------------------------------------ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr#user-guide) User Guide ---------------------------------------------------------------------------------------------------------- A common assumption when performing analysis on spending patterns is to categorise coin holders using the following framework: * **Short-Term Holders** (coin lifespan < 155-days) are more likely to be new and/or inexperienced market entrants, particularly in bull markets. This cohort are more likely to react to short-term market volatility and re-spend their coins as the marginal buyer/seller. * **Long-Term Holders** (coin lifespan > 155-days) are more likely to be smart money investors who accumulate cheap coins in the bear and/or early bull cycle, and distribute expensive coins late in the bull cycle. This cohort is less sensitive to market volatility, particularly when coins held are at an unrealised gain. Given Bitcoin's historically exponential price performance in bull markets, and significant draw-downs in bear markets, Long-Term Holders tend to realise relatively large profits or losses when spending their coins. The spending of 'old coins' may indicate both a change in sentiment and conviction within the smart-money cohort, and also a potential release of illiquid coins back into liquid circulation. As price rises or falls significantly from an investors cost basis, the incentive to spend increases\*\*.\*\* For Long-Term Holders, market extremes can be considered within the following framework: * **High LTH-SOPR Values** indicate that on aggregate, LTHs are realising high profit multiples on spent coins. A LTH-SOPR value of 4.0 can generally be interpreted as LTHs realising an aggregate average profit of 300% (4.0 - 1.0 = 3.0) that day. * **Low LTH-SOPR Values** indicate that on aggregate, LTHs are realising losses on spent coins, which is typical only in bear markets. A LTH-SOPR value of 0.6 can be interpreted as LTHs realising an aggregate loss of 40% (0.6 - 1.0 = -0.4) that day. LTH-SOPR can provide macro cyclical top and bottom signals as demonstrated in the chart below. Macro tops have historically been reached when LTH-SOPR values >10 are achieved, indicating profits of 900%+ are being realised by LTHs. Macro bottoms have historically been established where LTHs are realising significant losses with LTH-SOPR reaching 0.6 and below (losses of 40% or more). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr#about) About ------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr#further-resources) Further Resources (March 2020) Rafael Schultze-Kraft - 📖 [View LTH-SOPR in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.SoprMore155) [View LTH-SOPR in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#lth-sopr) [Glassnode](https://twitter.com/glassnode/) [Breaking up On–Chain Metrics for Short and Long Term Investors](https://insights.glassnode.com/sth-lth-sopr-mvrv/) [SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [Statistically, UTXOs older than 155 days](https://insights.glassnode.com/sth-lth-sopr-mvrv/) [SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [aSOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr) [STH-SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr) ![Bitcoin: Long Term Holder SOPR](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-99706e2511cfb7eb04317a1385ea7ce10eff66d9%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=48b5d3a5&sv=2) ![Bitcoin: Long Term Holder SOPR with marked Gains and Losses](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-ac4b5ac580a6a31fcf07f7c6d309bf321ab76491%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=96673a93&sv=2) --- # STH-SOPR | Glassnode Docs [PreviousLTH-SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr) [NextUnrealized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------- Short Term Holder SOPR (STH-SOPR) is a variant of that takes into account only spent outputs younger than 155 days. As such, STH-SOPR serves as an indicator for assessing the behaviour and profitability of investors who are more likely to have recently entered the market. are more likely to be spent, and as such are generally considered to be part of the liquid circulating supply. STH-SOPR filters for only these 'young coins' to estimate the amount of profit or loss that is realised by this cohort. This provides insight into the behaviour and sentiment of new investors who are more likely to react to market volatility by spending their coins. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------- STH-SOPR is calculated by taking the SOPR value only for spent outputs younger than 155 days. STH-SOPR\=value⋅pricespent \[USD\] (of all spent outputs where age < 155 days)value⋅pricecreated \[USD\] (of all spent outputs where age < 155 days)\\textrm{STH-SOPR} = \\frac{ \\textrm{value} \\cdot \\textrm{price}\_\\textrm{spent}~{\\color{gray}\[\\textrm{USD}\]}~\\textrm{\\color{gray}(of all spent outputs where age < 155 days)} }{ \\textrm{value} \\cdot \\textrm{price}\_\\textrm{created}~{\\color{gray}\[\\textrm{USD}\]}~\\textrm{\\color{gray}(of all spent outputs where age < 155 days)} }STH-SOPR\=value⋅pricecreated​ \[USD\] (of all spent outputs where age < 155 days)value⋅pricespent​ \[USD\] (of all spent outputs where age < 155 days)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr#video-tutorial) Video Tutorial ------------------------------------------------------------------------------------------------------------------ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr#user-guide) User Guide ---------------------------------------------------------------------------------------------------------- A common assumption when performing analysis on spending patterns is to categorise coin holders using the following framework: * **Short-Term Holders** (coin lifespan < 155-days) are more likely to be new and/or inexperienced market entrants, particularly in bull markets. This cohort are more likely to react to short-term market volatility and re-spend their coins as the marginal buyer/seller. * **Long-Term Holders** (coin lifespan > 155-days) are more likely to be smart money investors who accumulate cheap coins in the bear and/or early bull cycle, and distribute expensive coins late in the bull cycle. This cohort is less sensitive to market volatility, particularly when coins held are at an unrealised gain. In the immediate period after a coin is accumulated, the owner is likely to experience market volatility around their cost basis, creating a natural incentive to react. This effect generally lessens over both time and as price appreciates away from the cost basis. The degree of profit or loss realised by this cohort can an provide indication around aggregate sentiment for these new entrants. It can also provide insight on supply dynamics such as whether marginal buyers/sellers are holding, taking profits or panic selling. The STH-SOPR metric generally provides a more reflexive indicator than the standard SOPR metric. The chart below shows the standard SOPR metric (blue) compared to the STH-SOPR (orange) demonstrating this greater reflexivity and responsiveness of STH-SOPR. The magnitude of both peaks and troughs are generally larger than SOPR as a result of: * Relay transactions (<1hr lifespan) being filtered out (as in aSOPR). * Herd mentality amongst marginal buyers and sellers acting/spending in unison. * Influence of market volatility and recency bias to realise significant gains/losses soon after a coin was purchased (i.e. a coin bought shortly before a surprise sell-off is more likely to re-spend and realise a loss). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr#about) About ------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr#further-resources) Further Resources (March 2020) Rafael Schultze-Kraft - 📖 [View STH-SOPR in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.SoprLess155) [View STH-SOPR in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#sth-sopr) [Compare STH-SOPR to SOPR in Glassnode Studio](https://studio.glassnode.com/compare?a=BTC&a=BTC&a=BTC&axis=0&axis=1&axis=1&c=&c=&c=&e=&e=&e=&ema=0&ema=0&ema=0&m=market.PriceUsdClose&m=indicators.Sopr&m=indicators.SoprLess155&mAvg=0&mAvg=0&mAvg=0&mMedian=0&mMedian=0&mMedian=0&mScl=lin&mScl=lin&mScl=lin&miner=&miner=&miner=&resolution=24h&resolution=24h&resolution=24h&s=1559613659&u=1622685659&zoom=730) [Glassnode](https://twitter.com/glassnode/) [Breaking up On–Chain Metrics for Short and Long Term Investors](https://insights.glassnode.com/sth-lth-sopr-mvrv/) [SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [Statistically, UTXOs younger than 155 days](https://insights.glassnode.com/sth-lth-sopr-mvrv/) ![Bitcoin: Short Term Holder SOPR](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-4d7c9ce408d591a30724986af608582efcbc5ddb%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=55637e84&sv=2) ![Bitcoin: SOPR vs. Short Term Holder SOPR](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-1575d835eee84ab036e91403a2861a867fbfbac8%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ac64d072&sv=2) --- # Unrealized Loss | Glassnode Docs [PreviousUnrealized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit) [NextLTH-NUPL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss#indicator-overview) Indicator Overview --------------------------------------------------------------------------------------------------------------------------------------------------- By looking at the delta between the price when a was created vs. the current price of an asset, we can determine whether the specific coins in that UTXO are in a state of unrealized profit (price has increased) or loss (price has decreased), and to what extent. Unrealized Loss represents the total loss accrued by UTXOs which were created (i.e. realized) when the price of the asset was higher than the current price. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss#how-is-it-measured) How is it measured? ---------------------------------------------------------------------------------------------------------------------------------------------------- Unrealized Loss is defined as the total loss (in USD) of all coins in existence whose price at realization time was higher than the current price, normalized by the market cap. Unrealized Loss\=value⋅(pricecreated \[USD\]−price \[USD\]) (of all UTXOs where pricecreated \> price)Relative Unrealized Loss\=Unrealized LossMarket Cap\\begin{align\*} \\textrm{Unrealized Loss} &= \\textrm{value} \\cdot (\\textrm{price}\_\\textrm{created}~{\\color{gray}{\\textrm{\[USD\]}}} - \\textrm{price}~{\\color{gray}{\\textrm{\[USD\]}}}) \\\\ &\\quad\\, {\\color{gray}{\\textrm{(of all UTXOs where price$\_\\textrm{created}$ $>$ price)}}} \\\\\[2em\] \\textrm{Relative Unrealized Loss} &= \\frac{\\textrm{Unrealized Loss}}{\\textrm{Market Cap}} \\end{align\*}Unrealized LossRelative Unrealized Loss​\=value⋅(pricecreated​ \[USD\]−price \[USD\])(of all UTXOs where pricecreated​ \> price)\=Market CapUnrealized Loss​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------------- Rafael Schultze-Kraft - 📖 [View Unrealized Loss in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.UnrealizedLoss) [View Unrealized Loss in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#unrealized-loss) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [UTXO](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#utxo-unspent-transaction-output-chains) ![Bitcoin: Unrealized Loss](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-36d078bc76dd5fd2367d686b53704583283543fd%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f78124d7&sv=2) --- # aSOPR (Adjusted SOPR) | Glassnode Docs [PreviousSOPR (Spent Output Profit Ratio)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [NextLTH-SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------- The adjusted SOPR has a similar construction and interpretation to the metric, however excludes all transaction volume for coins with a lifespan younger than 1hr. UTXOs with very short lifespans generally do not represent a sale or purchase of a given coin, and more often include relay transactions and change (for more details learn more about ). The original metric treats these as a sale/purchase transaction, adding noise to the metric. Adjusted SOPR (aSOPR) filters out all UTXOs with a lifespan of less than an hour, thereby eliminating obvious relay transactions. This in turn, this provides a more accurate signal of actual sale/purchase transactions, and better captures economically meaningful activity. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr#video-tutorial) Video Tutorial ----------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr#user-guide) User Guide --------------------------------------------------------------------------------------------------------------------- This influences the signal of the standard SOPR metric whereby a significant portion of the volume realises a negligible profit/loss, and therefore the magnitude and responsiveness of SOPR is dampened. By removing relay transactions, the realised profit and loss calculated by the aSOPR metric is more responsive, and generally of greater magnitude than the equivalent SOPR. The chart below compares aSOPR (orange) to SOPR (blue) to demonstrate this effect. aSOPR is generally considered a more accurate representation of the aggregate profit and loss that is realised by coins that are changing hands. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr#further-resources) Further Resources ----------------------------------------------------------------------------------------------------------------------------------- Adjusted SOPR uses the same formulation as , but simply filters out any UTXOs which are less than an hour old. The SOPR metric is sensitive to the _**aggregate profit and loss**_ realised by UTXOs spent on-chain. In the chart below, we filter to show only spent coins with a lifespan less than 1hr. This demonstrates that coins with <1hr lifespans consistently represent between 20% and 40% of daily network traffic. Given their short lifespan, these coins generally do not realise significant profit, nor loss, however do dilute the _**aggregate profit and loss**_. Renato Shirakashi - 📖 [View aSOPR in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.SoprAdjusted) [View aSOPR in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#asopr) [Compare aSOPR to SOPR in Glassnode Studio](https://studio.glassnode.com/compare?a=BTC&a=BTC&a=BTC&axis=0&axis=1&axis=1&c=&c=&c=&e=&e=&e=&ema=0&ema=0&ema=0&m=market.PriceUsdClose&m=indicators.Sopr&m=indicators.SoprAdjusted&mAvg=0&mAvg=0&mAvg=0&mMedian=0&mMedian=0&mMedian=0&mScl=log&mScl=lin&mScl=lin&miner=&miner=&miner=&resolution=24h&resolution=24h&resolution=24h&s=1559542043&u=1622614043&zoom=730) [SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#how-is-it-measured) [Spent Output Age Bands](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab) [Introducing SOPR](https://medium.com/unconfiscatable/introducing-sopr-spent-outputs-to-predict-bitcoin-lows-and-tops-ceb4536b3b9) [standard SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [how UTXOs work](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#utxo-unspent-transaction-output-chains) [SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) ![Bitcoin: Adjusted SOPR (aSOPR)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-b87af3ecc51d5a4109dc6b2682f0d253c3f9bfdc%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6420b971&sv=2) ![Bitcoin: Spent Output Age Bands (Lifespan <1hr)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-c9d8eeb5c258b140fe9ba00d3e2a480dca57fd33%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=9c8abeb&sv=2) ![Bitcoin: SOPR vs aSOPR](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-30925d96fae2c80b8b0eb7cdb8522209a5a74754%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=1f6da2c4&sv=2) --- # STH-NUPL | Glassnode Docs [PreviousLTH-NUPL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl) [NextRealized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------------------------- Short Term Holder NUPL (STH-NUPL) is that takes into account only UTXOs with a lifespan of less than 155 days and serves as an indicator to assess the behaviour of short term investors. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------------------------- STH-NUPL is calculated by taking the NUPL value only for spent outputs younger than 155 days. STH-NUPL\=STH-Relative Unrealized Profit−STH-Relative Unrealized Loss\=STH-Market Cap−STH-Realized CapSTH-Market Cap\=value⋅(price \[USD\]−pricecreated \[USD\]) (of all UTXOs where age<155 days)value⋅price \[USD\] (of all UTXOs where age<155 days)\\begin{align\*} \\textrm{STH-NUPL} &= \\textrm{STH-Relative Unrealized Profit} - \\textrm{STH-Relative Unrealized Loss} \\\\\[0.5em\] &= \\frac{\\textrm{STH-Market Cap} - \\textrm{STH-Realized Cap}}{\\textrm{STH-Market Cap}} \\\\\[0.5em\] &= \\frac{ \\textrm{value} \\cdot (\\textrm{price}~{\\color{gray}{\[\\textrm{USD}\]}} - \\textrm{price}\_\\textrm{created}~{\\color{gray}{\[\\textrm{USD}\]}})~{\\color{gray}{\\textrm{(of all UTXOs where age} < 155~\\textrm{days)}}} } { \\textrm{value} \\cdot \\textrm{price}~{\\color{gray}{\[\\textrm{USD}\]}}~{\\color{gray}{\\textrm{(of all UTXOs where age} < 155~\\textrm{days)}}} } \\end{align\*}STH-NUPL​\=STH-Relative Unrealized Profit−STH-Relative Unrealized Loss\=STH-Market CapSTH-Market Cap−STH-Realized Cap​\=value⋅price \[USD\] (of all UTXOs where age<155 days)value⋅(price \[USD\]−pricecreated​ \[USD\]) (of all UTXOs where age<155 days)​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl#about) About ------------------------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl#date-introduced) Date Introduced March 2020 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------ (via by , , and ) Rafael Schultze-Kraft - Tuur Demeester, Tamás Blummer, and Michiel Lescrauwaet - Rafael Schultze-Kraft - 📖 [View STH-NUPL in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.NuplLess155) [View STH-NUPL in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#sth-nupl) [Glassnode](https://twitter.com/glassnode) [NUPL](https://gitlab.com/glassnode/web/docs/-/blob/master/guides-and-tutorials/metric-guides/unrealized-profit-loss/net-unrealized-profit-loss.md) [Tuur Demeester](https://twitter.com/TuurDemeester) [Tamás Blummer](https://twitter.com/tamasblummer) [Michiel Lescrauwaet](https://twitter.com/MLescrauwaet) [Breaking up On–Chain Metrics for Short and Long Term Investors](https://insights.glassnode.com/sth-lth-sopr-mvrv/) [A Primer on Bitcoin Investor Sentiment and Changes in Saving Behavior](https://medium.com/@adamant_capital/a-primer-on-bitcoin-investor-sentiment-and-changes-in-saving-behavior-a5fb70109d32) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [Net Unrealized Profit/Loss](https://gitlab.com/glassnode/web/docs/-/blob/master/guides-and-tutorials/metric-guides/unrealized-profit-loss/net-unrealized-profit-loss.md) ![Bitcoin: STH-NUPL](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-0978fd680bd0f2090b0468cbbc600231587fbbea%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6ba355af&sv=2) --- # LTH-NUPL | Glassnode Docs [PreviousUnrealized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss) [NextSTH-NUPL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------------------------- Long Term Holder NUPL (LTH-NUPL) is that takes into account only UTXOs with a lifespan of at least 155 days and serves as an indicator to assess the behaviour of long term investors. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------------------------- LTH-NUPL is calculated by taking the NUPL value only for spent outputs as old as or older than 155 days. LTH-NUPL\=LTH-Relative Unrealized Profit−LTH-Relative Unrealized Loss\=LTH-Market Cap−LTH-Realized CapLTH-Market Cap\=value⋅(price \[USD\]−pricecreated \[USD\]) (of all UTXOs where age≥155 days)value⋅price \[USD\] (of all UTXOs where age≥155 days)\\begin{align\*} \\textrm{LTH-NUPL} &= \\textrm{LTH-Relative Unrealized Profit} - \\textrm{LTH-Relative Unrealized Loss} \\\\\[0.5em\] &= \\frac{\\textrm{LTH-Market Cap} - \\textrm{LTH-Realized Cap}}{\\textrm{LTH-Market Cap}} \\\\\[0.5em\] &= \\frac{ \\textrm{value} \\cdot (\\textrm{price}~{\\color{gray}{\[\\textrm{USD}\]}} - \\textrm{price}\_\\textrm{created}~{\\color{gray}{\[\\textrm{USD}\]}})~{\\color{gray}{\\textrm{(of all UTXOs where age} \\ge 155~\\textrm{days)}}} } { \\textrm{value} \\cdot \\textrm{price}~{\\color{gray}{\[\\textrm{USD}\]}}~{\\color{gray}{\\textrm{(of all UTXOs where age} \\ge 155~\\textrm{days)}}} } \\end{align\*}LTH-NUPL​\=LTH-Relative Unrealized Profit−LTH-Relative Unrealized Loss\=LTH-Market CapLTH-Market Cap−LTH-Realized Cap​\=value⋅price \[USD\] (of all UTXOs where age≥155 days)value⋅(price \[USD\]−pricecreated​ \[USD\]) (of all UTXOs where age≥155 days)​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl#about) About ------------------------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl#date-introduced) Date Introduced March 2020 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/lth-nupl#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------ (via by , , and ) Rafael Schultze-Kraft - Tuur Demeester, Tamás Blummer, and Michiel Lescrauwaet - Rafael Schultze-Kraft - 📖 [View LTH-NUPL in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.NuplMore155) [View LTH-NUPL in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#lth-nupl) [Glassnode](https://twitter.com/glassnode) [NUPL](https://gitlab.com/glassnode/web/docs/-/blob/master/guides-and-tutorials/metric-guides/unrealized-profit-loss/net-unrealized-profit-loss.md) [Tuur Demeester](https://twitter.com/TuurDemeester) [Tamás Blummer](https://twitter.com/tamasblummer) [Michiel Lescrauwaet](https://twitter.com/MLescrauwaet) [Breaking up On–Chain Metrics for Short and Long Term Investors](https://insights.glassnode.com/sth-lth-sopr-mvrv/) [A Primer on Bitcoin Investor Sentiment and Changes in Saving Behavior](https://medium.com/@adamant_capital/a-primer-on-bitcoin-investor-sentiment-and-changes-in-saving-behavior-a5fb70109d32) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [Net Unrealized Profit/Loss](https://gitlab.com/glassnode/web/docs/-/blob/master/guides-and-tutorials/metric-guides/unrealized-profit-loss/net-unrealized-profit-loss.md) ![Bitcoin: LTH-NUPL](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-d46360c43ed011b43106b858ace81544f4cada9e%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6ae261e1&sv=2) --- # Realized Loss | Glassnode Docs [PreviousRealized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit) [NextCoin Issuance](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss#indicator-overview) Indicator Overview ----------------------------------------------------------------------------------------------------------------------------------------------- Realized Loss denotes the total loss (USD value) of all moved coins whose price at their last movement was higher than the price at the current movement. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------------------------ Realized Loss is calculated by subtracting the price at the time of the current spent output creation from the price when coins were previously moved (for all spent outputs where the price when moved is lower than the price when the coins were previously moved), and summing these totals for all coins moved within the given time period. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss#about) About --------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss#date-introduced) Date Introduced June 2020 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss#further-resources) Further Resources --------------------------------------------------------------------------------------------------------------------------------------------- Realized Loss\= value⋅(pricecreated \[USD\]−pricespent \[USD\])(of all spent outputs where pricecreated\> pricespent)\\begin{align\*} \\textrm{Realized Loss} =\\,& \\textrm{value} \\cdot (\\textrm{price}\_\\textrm{created}~{\\color{gray}{\[\\textrm{USD}\]}} - \\textrm{price}\_\\textrm{spent}~{\\color{gray}{\[\\textrm{USD}\]}}) \\\\ &{\\color{gray}{\\textrm{(of all spent outputs where price}\_{\\textrm{created}} >~\\textrm{price}\_{\\textrm{spent})}}} \\end{align\*}Realized Loss\=​value⋅(pricecreated​ \[USD\]−pricespent​ \[USD\])(of all spent outputs where pricecreated​\> pricespent)​​ Glassnode - 📖 [View Realized Loss in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.RealizedLoss) [View Realized Loss in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#realized-loss) [Glassnode](https://twitter.com/glassnode) [Twitter Thread](https://twitter.com/glassnode/status/1271467401239035906) ![Bitcoin: Realized Loss](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-6dc9557b3101212242995f3b921ec549c7e9945c%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=98ca3a4&sv=2) --- # Realized Profit/Loss | Glassnode Docs [Net Realized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss) [Realized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit) [Realized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss) [PreviousSTH-NUPL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/sth-nupl) [NextNet Realized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss) --- # Stablecoin | Glassnode Docs [SSR (Stablecoin Supply Ratio)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio) [PreviousPuell Multiple](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple) [NextSSR (Stablecoin Supply Ratio)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio) --- # Coin Issuance | Glassnode Docs [Puell Multiple](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple) [PreviousRealized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss) [NextPuell Multiple](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple) --- # NUPL (Net Unrealized Profit/Loss) | Glassnode Docs [PreviousUnrealized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss) [NextUnrealized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Profit and Loss metrics answer the question: _if all units of a given currency were sold today, how much would investors stand to gain or lose?_ Any value above zero indicates that the network is in a state of net profit, while values below zero indicate a state of net loss. In general, the further NUPL deviates from zero, the closer the market trends towards tops and bottoms. As such, NUPL can help investors identify when to take profit (blue) and when to re-enter (red). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss#nupl-interactive-guide) NUPL interactive guide --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss#about) About ----------------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss#created-by) Created By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss#date-created) Date Created February 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss#further-resources) Further Resources ----------------------------------------------------------------------------------------------------------------------------------------------------------------- By looking at the delta between the price when a was created vs. the current price of an asset, we can determine whether the specific coins in that UTXO are in a state of unrealized profit (price has increased) or loss (price has decreased). When looking at this across the entire network, we can see how much of the network is in profit, and how much is in loss. NUPL (Net Unrealized Profit/Loss) specifically looks at the difference between and to determine whether the network as a whole is currently in a state of profit or loss. Net Unrealized Profit/Loss is the difference between Relative Unrealized Profit and Relative Unrealized Loss. It can also be calculated by subtracting from , and dividing the result by the market cap. NUPL\=Relative Unrealized Profit−Relative Unrealized Loss\=Market Cap−Realized CapMarket Cap\\begin{align\*} \\textrm{NUPL} &= \\textrm{Relative Unrealized Profit} - \\textrm{Relative Unrealized Loss} \\\\\[0.5em\] &= \\frac{\\textrm{Market Cap} - \\textrm{Realized Cap}}{\\textrm{Market Cap}} \\end{align\*}NUPL​\=Relative Unrealized Profit−Relative Unrealized Loss\=Market CapMarket Cap−Realized Cap​​ , , and Tuur Demeester, Tamás Blummer, and Michiel Lescrauwaet - Rafael Schultze-Kraft - 📖 [UTXO](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#utxo-unspent-transaction-output-chains) [Unrealized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit) [Unrealized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss) [View NUPL in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.NetUnrealizedProfitLoss) [View NUPL in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#net-unrealized-profit-loss) [realized cap](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-capitalization) [market cap](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [Tuur Demeester](https://twitter.com/TuurDemeester) [Tamás Blummer](https://twitter.com/tamasblummer) [Michiel Lescrauwaet](https://twitter.com/MLescrauwaet) [A Primer on Bitcoin Investor Sentiment and Changes in Saving Behavior](https://medium.com/@adamant_capital/a-primer-on-bitcoin-investor-sentiment-and-changes-in-saving-behavior-a5fb70109d32) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) Dive deeper with our quick start guide ![Bitcoin: Net Unrealized Profit/Loss](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-8823f0ac6fe6bb5391d8fae9d0d313dffce9ffcd%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=4dfc6178&sv=2) --- # Realized Profit | Glassnode Docs [PreviousNet Realized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss) [NextRealized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------------- Realized Profit denotes the total value of profits realized (USD value) for all coins spent that day. A coin is considered to have realized a profit when the price at which the UTXO was created (last coin movement) was lower than the current price at which it is spent. The realized profit metric is one component of the metric and provides insight into capital inflows, demand strength and profitability of the network. Higher values indicate larger USD denominated profits are being realized by coins spent. Realized profits can generally be applied in the following framework: * **Bull Markets:** Where investors take profits, usually at an increasing rate as the bull proceeds. Where profits are realised and price continues trending higher, it signals capital inflows. * **Local/Macro Tops:** Where profits realised creates supply that overwhelms demand. Extreme , or progressively higher values of realized profits can increase the probability of a local or global market top. * **Bear Market Resistance:** Where the availability of profits during macro downtrends creates an incentive for investors to exit swing trades, or recover capital near their cost basis. This creates resistance in bearish trends until the trend is convincingly broken and reversed. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------------------- Realized Profit is calculated by subtracting the price when coins were previously moved from the price at the time of the current spent output creation (for all spent outputs where the price when moved is greater than the price when the coins were previously moved), and summing these totals for all coins moved within the given time period. Realized Profit\= value⋅(pricespent \[USD\]−pricecreated \[USD\])(of all spent outputs where pricespent\> pricecreated)\\begin{align\*} \\textrm{Realized Profit} =\\,& \\textrm{value} \\cdot (\\textrm{price}\_\\textrm{spent}~{\\color{gray}{\[\\textrm{USD}\]}} - \\textrm{price}\_\\textrm{created}~{\\color{gray}{\[\\textrm{USD}\]}}) \\\\ &{\\color{gray}{\\textrm{(of all spent outputs where price}\_{\\textrm{spent}} >~\\textrm{price}\_{\\textrm{created})}}} \\end{align\*}Realized Profit\=​value⋅(pricespent​ \[USD\]−pricecreated​ \[USD\])(of all spent outputs where pricespent​\> pricecreated)​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit#user-guide) User Guide --------------------------------------------------------------------------------------------------------------------------------- The realized profit metric can be used to gauge when significant profits are being realised over a period of time. Generally speaking, this indicates two mechanisms are in play: 1. **Investors with Profitable Coins are Selling:** potentially signalling a change in market sentiment,and a view that current prices are overbought or expensive. 2. **Increase of liquid supply** as profitable coins that have been held in an illiquid state in investor wallets is released back into liquid circulation. To filter out daily noise, it is useful to apply a moving average, moving median or sum values over a particular period of time ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit#example-application-identifying-local-tops) Example Application: Identifying Local Tops As more illiquid coins are spent at a profit and brought into liquid circulation, it increases the probability of local/global market tops. A 30-day moving median (and log scale) has been applied to the following charts to identify lengthy periods of time where elevated profit realization has taken place. In a bull market, we can see that peaks in realized profits often correlate with the estalishment of a local or global market top. The magnitude of the metric indicates the typical daily capital inflows that are required to sustain the current market trend and thus provides an indicator for relative demand. Similarly, in a bearish market, peaks in realized profits usually suggests that swing traders and investors waiting for an exit are taking the opportunity in rallies to de-risk and take profits. This creates an oversupply and thus price resistance. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit#about) About ----------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit#further-resources) Further Resources , June 2020 Glassnode - 📖 [View Realized Profit in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.RealizedProfit) [View Realized Profit in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#realized-profit) [Glassnode](https://twitter.com/glassnode) [Twitter Thread](https://twitter.com/glassnode/status/1271467401239035906) [**Net Realized Profit/Loss**](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss) ![Bitcoin: Realized Profit](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-05a991cfecf71d0810ec5f2d2b45ab6df37c7d8f%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=d1fdffd8&sv=2) ![Bitcoin: Realized Profit (30d Moving Median) - Bull Markets](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-5be309405fa924b760f0b645645a682b98e5012b%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f2911f2&sv=2) ![Bitcoin: Realized Profit (30d Moving Median) - Bear Markets](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-0e483ec022c8cde69f1eaa1c8d8155d84e616450%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=c0b5cb60&sv=2) --- # Coin Days Destroyed | Glassnode Docs [CDD (Coin Days Destroyed)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [Binary CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd) [CYD (Coin Years Destroyed)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed) [Supply-Adjusted CYD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cyd) [Reserve Risk](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk) [PreviousSSR (Stablecoin Supply Ratio)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio) [NextCDD (Coin Days Destroyed)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) --- # Net Realized Profit/Loss | Glassnode Docs [PreviousRealized Profit/Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss) [NextRealized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------------------------------------- When coins are spent on-chain, their value is reassessed relative to the value when they were last moved. This technique can be used to establish the magnitude of profit, or loss that was realized between the assumed coin acquisition and disposal events. Net Realized Profit/Loss is a metric that calculates the net profit or loss (USD value) for all coins spent over the time-frame considered. This provides a reflection of aggregate market sentiment, capital inflows or outflows, and trends in network profitability. A typical interpretation framework is as follows: * **Positive values** indicate profits are being realized on-chain. Where price continues to trend higher, this indicates capital inflows occurring to absorb that sell-side. Progressively rising peaks can also suggest increasing probabilities of a local high being established if demand wanes as larger magnitude profits are taken. * **Negative values** indicate losses are being realized on-chain. Where price continues to trend lower, this indicates capital outflows are occurring. Deep lows values can signal investor capitulation events which increases the probabilities of an upside reversion. * **Neutral values near zero** indicate spent coins transacted near their cost basis. This can signal that highly profitable or loss holding coins remain dormant. In bull market corrections, this can signal renewed positive sentiment and probability for a price bounce. In bear markets it can indicate investors exiting at their cost basis, creating overhead resistance. Net Realized Profit/Loss can be considered as the nominal sum of the and components contributing to . These two tools respectively provide signal for absolute profits/losses (**$**) and relative profits/losses (**%**), respectively. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#how-is-it-measured) How is it measured? ----------------------------------------------------------------------------------------------------------------------------------------------------------- Net Realized Profit/Loss\=Realized Profit−Realized Loss\=(1−1SOPR)⋅Transaction Volume \[USD\]\\begin{align\*} \\textrm{Net Realized Profit/Loss} &= \\textrm{Realized Profit} - \\textrm{Realized Loss} \\\\\[0.5em\] &= \\Big(1 - \\frac{1}{\\textrm{SOPR}}\\Big) \\cdot \\textrm{Transaction Volume}~{\\color{gray}{\[\\textrm{USD}\]}} \\end{align\*}Net Realized Profit/Loss​\=Realized Profit−Realized Loss\=(1−SOPR1​)⋅Transaction Volume \[USD\]​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#user-guide) User Guide ------------------------------------------------------------------------------------------------------------------------------------------ Net Realized Profit/Loss provides insight into: * **Absolute value of profits (+ve) and losses (-ve) incurred** by coins spent that day. This by proxy acts as a **measure of capital inflow and outflow** when coupled with an assessment of price action. * **Momentum in market sentiment and spending behaviour** by considering the magnitude of, and length of time that successive peaks and troughs in the oscillator are sustained in bull and bear trends. Understanding of the above allows onlookers to cut through noise and access a unique glance at the aggregate spending behaviour and psychology of a large cross-section of market participants. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#indicator-signals) Indicator Signals There are three general frameworks to consider for interpretation of Net Realized Profit/Loss: * **Extreme Values** where the oscillator signals a large magnitude of profit or loss are realized. This usually suggests an overwhelming supply (profits) or market capitulation (losses) establishing a local, or global market reversal. * **Trend Support (neutral values)** where the oscillator returns to a relatively neutral value indicating highly profitable or loss holding coins remain dormant, and thus conviction to hold, or exit at cost basis has returned. Similar to SOPR, this usually signals a 'buy the dip' or a 'sell the rally' moment in an established trend. * **Trend Reversal (large values opposing the macro trend)** where the oscillator signals heavy losses in a bull, or large profits in a bear. This can suggest a short or longer term reversal of trend such as the end of a correction, end of a macro trend, or a local swing high/low. **Net Realized Profit/Loss** is best used in tandem with **SOPR** and shares many similar characteristics and interpretation properties. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#example-applications) Example Applications The chart below demonstrates a high level example for many possible applicable angles (September 2020 - September 2021): * **Red Circles:** Extreme profits realized indicating local market tops. * **Blue Circles:** Trend support (in bull) where market conviction returns (correction lows). * **Green Circles:** Extreme losses realized indicating capitulation events and local lows. * **Orange Circles**: Trend support (in bear) where market exits near cost basis creating resistance. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#bull-markets-dip-buying-and-bearish-reversals) **Bull Markets, Dip Buying, and Bearish Reversals** September 2020 to May 2021 (shown above) was a period defined by upwards/bullish price action and consistently positive Net Realized Profit/Loss prints. The realisation of profits is a typical spending behaviour in bull markets as more coins become profitable with appreciation, and the incentive to liquidate increases accordingly. * **Dip Buying:** Identifying correction lows in a bull market is often characterised by reduced profit taking, and more losses realized. this demonstrates smart money investors are not willing to sell at these prices (fewer profits taken) and new local top buyers are capitulating at the correction lows. **Blue circles** in the chart above present these events There's a market saying that "bottoms are put in when sellers stop selling", and these break even prints for Net Realized Profit/Loss show just that. * **Bearish Reversal:** May 2021 signalled a trend change in BTC spending behaviour with on-chain transactions being dominated by holders realizing significant losses, counter to the bull market trend and sentiment. This reversal is evident in (1) the break even line being convincingly pierced by bears, and (2) the consistent Net Realized Loss prints that occurred in the ~2 month period that followed. In this trend change the burden of proof shifts from bears back to bulls. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#bear-markets-resistance-and-bullish-reversals) **Bear Markets, Resistance, and Bullish Reversals** * **Bear Markets:** This phase is defined by underwater holders changing their game plan and offloading risk at a loss. The market attempts to absorb these coins and particularly so in moments of maximum pain (Capitulation). This can be seen in deeply negative Net Realized Loss prints (see **green circles**). Note that in the May to July 2021 example, significant losses were realized, however price continued to find support at $29k to $30k, suggesting supply absorption. * **Selling Resistance:** Breaking even is a psychological goal for many investors during bearish conditions. Thus, every time spending reaches any sort of profitability the chart shows prudent players offloading into these mini rallies (**orange circles**), further enforcing the bearish trend. * **Bullish Reversals:** August 2021 signalled a trend change in BTC spends with flows being dominated by in-profit holders. Similar to the bearish reversal scenario, this is evident when (1) the break even line is convincingly pierced by bulls and (2) the consistent Net Realized Profit prints that occurred in the period after. In this trend change the burden of proof shifts from bulls back to bears. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#case-study-2017-to-2018-macro-market-reversals) Case Study: 2017 to 2018 Macro Market Reversals Extreme oscillator values indicate large sums of in-profit/loss coins being moved on-chain, which can be used to gauge over-extension to the upside or downside. This can provide signal for short-term / local reversals such as local/global market tops, or capitulation bottoms. As an example, let's review the transition from the 2017 bull into the 2018 bear market. * The 2017 bull was characterised by an accelerating trend of profits being realized, indicating supply coming back into the market, and ultimately peaking at an extreme positive value at the global top in December 2017. * This was followed by a deep reversal into net losses which indicated that a very large volume of coins were purchased in the final bullish impulse, and were being spent at a loss (likely panic sellers). * Deep negative oscillator prints signalled mini-capitulations as coin holders were shaken out around the $6k price floor that often coincided with local bear market bottoms, and long swing trade opportunities. * Finally, in December 2018, the market experienced a deep capitulation event where sustained losses were realized for around four months. This signified that the majority of coin volume that was being spent was at a loss, however was contrasted by sideways to positive price action. This ultimately indicated a heightened probability that buy side support was absorbing coins spent at a loss. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#variations) Variations ------------------------------------------------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#realized-profit) Realized Profit ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#realized-loss) Realized Loss [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#about) About -------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/net-realized-profit-loss#further-resources) Further Resources Net Realized Profit/Loss is calculated by subtracting from . **Bull Market Rallies:** While coins are consistently moved in profit, there are moments of over-exuberance in price action that are met with a strong inflow of large profit-taking prints (see **red circles**). The magnitude of these prints can be difficult to gauge at times, and thus would be best paired with the metric to assess relative scale. New or equal all time highs in Net Realized Profits is always worth an extra bit of attention and caution. \*\*\*\* denotes the total profit (USD value) of all moved coins whose price at their last movement was lower than the price at the current movement. \*\*\*\* denotes the total loss (USD value) of all moved coins whose price at their last movement was higher than the price at the current movement. , June 2020 Glassnode - 📖 [View Net Realized Profit/Loss in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.NetRealizedProfitLoss) [View Net Realized Profit/Loss in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#net-realized-profit-loss) [Realized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss) [Realized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit) [**SOPR**](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [**Realized Profit**](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit) [**Realized Loss**](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss) [Glassnode](https://twitter.com/glassnode) [Twitter Thread](https://twitter.com/glassnode/status/1271467401239035906) [**Realized Profit**](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-profit) [**Realized Loss**](https://docs.glassnode.com/guides-and-tutorials/metric-guides/realized-profit-loss/realized-loss) [**SOPR**](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) ![Bitcoin: Net Realized Profit/Loss](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-3aaa7b1f2c7b800b653b887760c706ec7996cb69%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=70a36681&sv=2) ![Bitcoin: Net Realized Profit/Loss with Bull and Bear markets marked](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-09dbb1b6e4e4d53ddbcddd531efe0af5c1c492fc%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=eebc7980&sv=2) ![Bitcoin: Net Realized Profit/Loss (2017 to 2018 Market)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-afa874869f32b3e9a037562a3798b9b4038981ce%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f221f4a8&sv=2) --- # SOPR (Spent Output Profit Ratio) | Glassnode Docs [PreviousSOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr) [NextaSOPR (Adjusted SOPR)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------------ The SOPR (Spent Output Profit Ratio) indicator provides insight into macro market sentiment, profitability and losses taken over a particular timeframe. It reflects the degree of realised profit for all coins moved on-chain. SOPR is measured by considering only coins moved the timescale considered (daily, hourly etc), and taking the ratio between the fiat value at the time of UTXO creation, and the fiat value when the UTXO is spent. The SOPR indicator can be considered within the following framework: * **SOPR value greater than 1** implies that the coins moved that day are, on average, selling at a profit (price sold is greater than the price paid). * **SOPR value less than 1** implies that the coins moved that day are, on average, selling at a loss (price sold is less than the price paid). * **SOPR value of exactly 1** implies that the coins moved that day are, on average, selling coins at break even. * **SOPR trending higher** implies profits are being realised with potential for previously illiquid supply being returned to liquid circulation * **SOPR trending lower** implies losses are being realised and/or profitable coins are not being spent. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#video-tutorial) Video Tutorial ---------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#user-guide) User Guide -------------------------------------------------------------------------------------------------------------------------------- SOPR is a useful tool in all market conditions as it captures the aggregate profit and loss realised on a particular day This can often be considered a reflection of market sentiment. Both the absolute value of the indicator and the prevailing trend provide insight market spending behaviour. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#indicator-signals) Indicator Signals In general, **higher SOPR values** indicate that more profit was realised that day. Successive peaks of high SOPR (creating an indicator uptrend) suggest continual distribution, usually during bullish price rallies. As more coins are spent back into liquid circulation, the probability of a local or macro market top increases. Conversely, **lower SOPR values** indicate one, or both of the following scenarios: * Investors holding profitable coins have reduced their spending indicating a return of conviction and a belief that current prices are not expensive. In bull markets this can signal that a correction has exhausted sellers and that accumulation may be underway. * Investors holding coins at a loss are spending their coins. When the proportion of realised losses exceed realised profit, SOPR will fall below 1.0. This is generally indicative of panic selling, capitulation or bearish market conditions. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#example-applications) Example Applications #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#bull-market-rallies) Bull Market Rallies As prices rally in bull markets, a larger proportion of the coin supply will be in profit. Additionally, as the bull market carries on, the magnitude of profit held by longterm holders will grow. As this volume of unrealised profit grows, so too does the incentive for investors to sell and realise gains, releasing previously illiquid supply back into liquid circulation. A typical sequence and SOPR interpretation during bull market rallies is as follows: * **SOPR Reset (A):** Following a price correction where sentiment is low, smart money accumulators step in to buy the dip and demand begins to exceed supply. SOPR is low (near or below 1) indicating profitable coins are dormant and most spending was by panic sellers. * **Distribution into Strength (B):** As price rallies higher the incentive for profitable coins to realise gains increases, leading to distribution. SOPR increases, often in successive peaks as more and more supply is spent back into circulation at higher profit margins. * **Local/Macro Top Established (C):** Eventually, newly distributed supply overwhelms incoming demand and a local or macro market top is established. SOPR is usually high indicating large volumes of profit were realised. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#bull-market-corrections) **Bull Market Corrections** In general, newer and inexperienced market participants are more likely to have 'bought the top' and subsequently panic sell their coins at a loss during corrections. Conversely, long term holders and experienced investors are more likely to own coins purchased at cheaper levels and be willing to deploy capital to buy the dip. Following from the sequence above, typical SOPR interpretation during corrections is as follows: * **Local/Macro Top Established (C):** Distributed supply establishes a local or macro market top. * **Price Correction (D):** Profitable coins are distributed into the correction, however often at a slowing rate. Long term investors are less likely to panic sell profitable coins at the bottom, whilst newer investors are more likely to realise net losses throughout the correction. This drives the SOPR into a downtrend and to lower values. * **SOPR Reset (A):** Finally, capitulation by new investors results in low SOPR values (near or below 1), whilst profitable coins remain dormant, indicating conviction to hold and/or accumulate by smart money investors. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#bull-market-reversals) Bull Market Reversals Bull markets eventually establish a macro top which is followed by an extended period of bearish considerations. The overall trend and peak levels of the SOPR indicator can provide insight into the relative magnitude of profit that has been realised, and then supply may be beginning to overwhelm demand. A typical sequence for identifying macro bull market tops using the SOPR indicator is as follows: * **Progressively Higher SOPR peaks** around local tops and corrections indicates the magnitude of profit being realised is increasing with each rally. This also means that larger volumes of demand inflow capital is required to absorb coins sold at increasingly higher prices. * **Sustained periods of High SOPR** indicates that spending of profitable coins is not slowing down during price dips and thus may suggest a growing sentiment that coins are becoming expensive. * **Significantly Low SOPR values** during a price correction may indicate a wider market panic as investors realise large losses. Deep SOPR dips below 1 indicate a large portion of the market are underwater and may become overhead supply leading to bearish market conditions. **Bear Markets** In bearish markets, SOPR generally adheres to the same logic as bull markets, however in reverse. During bearish markets, general interest and demand for the asset wanes over time, and high volatility shake-out investors in both sell-offs and bear market rallies. Bear markets eventually establish a final price floor, where smart money buyers of last resort accumulate coins from holders capitulating at deep losses. A typical sequence and SOPR interpretation during bear markets is as follows: * **Macro Top (A)**: Macro market top is established as distributed supply eventually overwhelms demand. Both long and short term investors have distributed expensive coins at high realised profits leading to high SOPR values. * **Local Capitulation (B):** With the prevailing price trending lower, investors who are underwater capitulate and sell their coins at a loss during local lows. This leads to very low SOPR values, generally less than 1. These local capitulations also present opportunities for counter-trend traders to go long for bear market rallies. * **Return to Profitability (C):** When price rallies in a bear market, counter-trend traders or long term holders from the previous bull cycle return to profitability. As these coins are spent and sold, SOPR trends above 1 as profits are realised. As liquid supply from these spent coins again overwhelms the reduced bear market demand, market price may roll over, repeating phase B. * **D, Sustained Capitulation:** As the bear market reaches final capitulation, the maximum cross section of coin holders are at a net loss, and SOPR may persist below 1 for an extended period of time. This reflects a time where remaining profitable coins from the previous cycle are dormant, smart money begin accumulation and coins begin to move from a liquid to a relatively illiquid state, eventually creating a bullish supply squeeze. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#recommended-settings) Recommended Settings * **Scale**: linear [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#variations) Variations -------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#adjusted-sopr-asopr) Adjusted SOPR (aSOPR) ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#short-term-holder-sopr-sth-sopr) Short Term Holder SOPR (STH-SOPR) ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#long-term-holder-sopr-lth-sopr) Long Term Holder SOPR (LTH-SOPR) [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#about) About ---------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio#further-resources) Further Resources SOPR is calculated by dividing the realized value of a spent output (in USD) by the value at creation of the original (in USD). SOPR\=value⋅pricespent \[USD\] (of all spent outputs)value⋅pricecreated \[USD\] (of all spent outputs)\\textrm{SOPR} = \\frac{ \\textrm{value} \\cdot \\textrm{price}\_\\textrm{spent}~{\\color{gray}\[\\textrm{USD}\]}~\\textrm{\\color{gray}(of all spent outputs)} }{ \\textrm{value} \\cdot \\textrm{price}\_\\textrm{created}~{\\color{gray}\[\\textrm{USD}\]}~\\textrm{\\color{gray}(of all spent outputs)} }SOPR\=value⋅pricecreated​ \[USD\] (of all spent outputs)value⋅pricespent​ \[USD\] (of all spent outputs)​ filters out all UTXOs with a lifespan of less than an hour, providing a more accurate signal of actual sale/purchase transactions. is SOPR that takes into account only spent outputs younger than 155 days and serves as an indicator to assess the behaviour of short-term investors. is SOPR that takes into account only spent outputs older than 155 days and serves as an indicator to assess the behaviour of long-term investors. (April 2019) Renato Shirakashi - 📖 [View SOPR in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Sopr) [View SOPR in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#sopr) [UTXO](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains) [Adjusted SOPR (aSOPR)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/asopr-adjusted-sopr) [Short Term Holder SOPR (STH-SOPR)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sth-sopr) [Long Term Holder SOPR (LTH-SOPR)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/lth-sopr) [Renato Shirakashi](https://twitter.com/renato_shira) [Introducing SOPR](https://medium.com/unconfiscatable/introducing-sopr-spent-outputs-to-predict-bitcoin-lows-and-tops-ceb4536b3b9) ![Bitcoin: Spent Output Profit Ratio (SOPR)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-2b7cb5a41532731aa5200eb1f77898d3b9a69186%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=49b771df&sv=2) ![Bitcoin: SOPR During 2017 Bull Market](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-f05651546e5de4bcbbfb8c6cefc6dbde2ea4957f%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5a11c81d&sv=2) ![Bitcoin: SOPR During 2017 Bull Market with Local/Macro Tops](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-289e1ba9c5f0424c584013233483a876d87225c2%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=4a7508a9&sv=2) ![Bitcoin: Progressively Higher SOPR Peaks](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-4368c779d179487d0eb189c5745cd036be414fcd%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=32be2e6c&sv=2) ![Bitcoin: SOPR During 2018-19 Bear Market](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-aedcf2487a8d3bbfdebb8e76a6f46c28f5841c2d%252F5.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ba5daa6e&sv=2) --- # Supply-Adjusted CDD | Glassnode Docs [PreviousCDD (Coin Days Destroyed)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) [NextBinary CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------------------------------- Supply-Adjusted CDD accounts for the impact that coin day accumulation by the total supply has on the metric. As more coins are issued and more coin days are accumulated by the aggregate network, the lower bound of coin days destroyed will increase over time. This results in a steadily rising 'floor value' and potential for higher 'peak values' of CDD which therefore requires additional consideration in analysis to accurately compare measurements from different points in time. Adjusting for supply aims to provide a more proportional and equivalent view of indicator values over the history of the market. The rationale behind supply adjustment is as follows: * Early in a protocol's life, coin supply is small and so is the aggregate accumulated lifespan and thus the required adjustment is larger to scale up in line with more recent values. * Later in a protocol's life, coin supply is larger and so is the aggregate accumulated lifespan so the required adjustment is smaller relative to recent values. In general, horizontal levels and values in supply adjusted metrics are likely to more consistent over time than those for the base metric. The trends, fractals and interpretation remain consistent between both the original metric and supply adjusted variants. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd#how-is-it-measured) How is it measured? ----------------------------------------------------------------------------------------------------------------------------------------------------- Supply-Adjusted CDD simply divides CDD by the circulating supply (total amount of coins issued). Supply-Adjusted CDD\=CDDTotal Supply\=value⋅lifespan \[days\] (of all spent outputs)value (of all UTXOs)\\begin{align\*} \\textrm{Supply-Adjusted CDD} &= \\frac{\\textrm{CDD}}{\\textrm{Total Supply}} \\\\\[0.5em\] &=\\frac{ \\textrm{value} \\cdot \\textrm{lifespan}~{\\color{gray}{\[\\textrm{days}\]}}~{\\color{gray}{\\textrm{(of all spent outputs)}}} }{ \\textrm{value}~{\\color{gray}{\\textrm{(of all UTXOs)}}} } \\end{align\*}Supply-Adjusted CDD​\=Total SupplyCDD​\=value (of all UTXOs)value⋅lifespan \[days\] (of all spent outputs)​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd#about) About -------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd#further-resources) Further Resources (May 2019) Hans Hauge - 📖 [View Supply-Adjusted CDD in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.CddSupplyAdjusted) [View Supply-Adjusted CDD in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#supply-adjusted-cdd) [Hans Hauge](https://twitter.com/hansthered) [Introducing Binary Adjusted BDD](https://www.kanaandkatana.com/valuation-depot-contents/2019/5/30/exploration-of-bitcoin-days-destroyed) [Coin Days Destroyed](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) ![Bitcoin: Supply-Adjusted CDD](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-cc0be05ed8f0f10a4e48e81d8cb531f4c1ac748c%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f7d631ba&sv=2) --- # Binary CDD | Glassnode Docs [PreviousSupply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [NextCYD (Coin Years Destroyed)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------- Binary Coin Days Destroyed (Binary CDD) is a derivative of the metric. It considers whether the volume of coin days destroyed over the period of interest was more, or less, than the long-term historical average. This provides a view as to whether the spending behaviour of large volumes and/or old coins is significant relative to historical data. Binary CDD will return either a 1 or a 0: * **Returns 1:** when measured Supply-Adjusted CDD is greater than the long term average. * **Returns 0:** when measured Supply-Adjusted CDD is less than the long term average. Binary CDD is particularly useful when a value of 1 or 0 trends consistently for extended periods of time as it suggests a trend of longer term holding (trend of 0) or increased spending (consistent 1). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd#video-tutorial) Video Tutorial ----------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd#user-guide) User Guide --------------------------------------------------------------------------------------------------------------------------- Binary CDD is a powerful tool for identifying trends in long-term holder spending behaviours. In general, long-term holders (LTH) will spend old coins during bullish trends, taking advantage of market strength and thus destroying a larger than average volume of coin days. Conversely, during bearish market trends, on-chain activity tends to reduce and off-chain exchange volumes dominate activity. During these periods, LTHs and smart money investors often accumulate cheap coins and withdraw them to cold storage. This leads to periods with less than average coin days being destroyed. Binary CDD is best considered in context of the prevailing market trend and can generally be considered in line with the following framework: * **Bullish market trends** are typically characterised by sustained periods of Binary CDD = 1, as higher on-chain volumes and older coins are spent into the economy. * **Bearish market trends** are typically characterised by a 'bar-code' style pattern in the Binary CDD metric with alternating values of 0 and 1, as on-chain volumes and coin lifespans become more variable but with a higher proportion of below average coin day destruction. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd#example-application) Example Application Binary CDD can provide additional insight via application of moving averages with the 7-day and 30-day periods recommended. These tools help identify sustained trends and trend direction for relevant spending behaviour. For example, when the 7-day moving average of Binary CDD is equal to 1, it means that coin days destroyed over the past 7-days have been more than the historical average. The chart below shows the same highlighted zones as the chart above however demonstrates that the 7-day moving average of Binary CDD values are typically > 0.5. Similarly, the Bar-Code pattern is characterised as periods where the 7-day moving average is consistently below 0.5. Application of a moving average can assist in smoothing out noisy signals for this indicator however will also have a slower response time to trend changes. Where values of 1 are reached with moving averages applied, it indicates that a Binary CDD value of 1 has been sustained over a period of time equal to the moving average period. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd#recommended-settings) Recommended Settings ----------------------------------------------------------------------------------------------------------------------------------------------- * **Scale**: linear. * **Moving Averages:** None (default). 7-day and/or 30-day for observing sustained trends. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd#about) About ----------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd#further-resources) Further Resources Binary CDD is calculated by measuring the long term average, and checking whether the current value higher or lower than this average. Above-average will return a value of 1, while below-average will return a value of 0. **Coined By:** (May 2019) Hans Hauge - 📖 [View Binary CDD in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.CddSupplyAdjustedBinary) [View Binary CDD in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#binary-cdd) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [Hans Hauge](https://twitter.com/hansthered) [Introducing Binary Adjusted BDD](https://www.kanaandkatana.com/valuation-depot-contents/2019/5/30/exploration-of-bitcoin-days-destroyed) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) ![Bitcoin: Binary CDD](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-42ad18b4b6796a204683ec0e1b138e5bfbbeb4cb%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ca568ecc&sv=2) ![Bitcoin: Binary CDD](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-3c14141ff2b746c6695e961e42575d73310cb9d2%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5ec2da6b&sv=2) ![Bitcoin: Binary CDD (7d Moving Average)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-ea1ebf19a8141a19ada1cf892681e9c169caac47%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f7d0ce12&sv=2) --- # SSR (Stablecoin Supply Ratio) | Glassnode Docs [PreviousStablecoin](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin) [NextCoin Days Destroyed](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio#indicator-overview) Indicator Overview --------------------------------------------------------------------------------------------------------------------------------------------------- The Stablecoin Supply Ratio (SSR) is the ratio between Bitcoin supply and the supply of stablecoins, denominated in BTC. When the SSR is low, the current stablecoin supply has more "buying power" to purchase BTC. It serves as a proxy for the supply/demand mechanics between BTC and USD. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio#how-is-it-measured) How is it measured? ---------------------------------------------------------------------------------------------------------------------------------------------------- SSR\=Market Cap (of BTC)Market Cap (of all Stablecoins)\\textrm{SSR} = \\frac{\\textrm{Market Cap}~{\\color{gray}{\\textrm{(of BTC)}}}}{\\textrm{Market Cap}~{\\color{gray}{\\textrm{(of all Stablecoins)}}}}SSR\=Market Cap (of all Stablecoins)Market Cap (of BTC)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio#about) About ------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio#date-created) Date Created November 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin/ssr-stablecoin-supply-ratio#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------------- SSR is calculated by dividing the total of BTC by the total market cap of all (known and tracked) stablecoins in circulation. Rafael Schultze-Kraft and Renato Shirakashi - 📖 [View SSR in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Ssr) [View SSR in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#stablecoin-supply-ratio-ssr) [market capitalization](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [Renato Shirakashi](https://twitter.com/renato_shira) [Stablecoins' Buying Power over Bitcoin](https://insights.glassnode.com/stablecoins-buying-power-over-bitcoin/) ![Bitcoin: Stablecoin Supply Ratio (SSR)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-cf777063a08abf365d26719f5a75481dd374f545%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=83fce90b&sv=2) --- # Supply-Adjusted CYD | Glassnode Docs [PreviousCYD (Coin Years Destroyed)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed) [NextReserve Risk](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cyd#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------------------------------- Supply-Adjusted CYD accounts for the impact that coin day accumulation by the total supply has on the metric. As more coins are issued and more coin days are accumulated by the aggregate network, the lower bound of coin days destroyed will increase over time. This results in a steadily rising 'floor value' and potential for higher 'peak values' of CYD over time. Therefore additional consideration is required in analysis to accurately compare measurements from different points in time. Adjusting for supply aims to provide a more proportional and equivalent view of indicator values over the history of the market. The rationale behind supply adjustment is as follows: * Early in a protocol's life, coin supply is small and so is the aggregate accumulated lifespan and thus the required adjustment is larger to scale up in line with more recent values. * Later in a protocol's life, coin supply is larger and so is the aggregate accumulated lifespan so the required adjustment is smaller relative to recent values. In general, horizontal levels and values in supply adjusted metrics are likely to more consistent over time than those for the base metric. The trends, fractals and interpretation remain consistent between both the original metric and supply adjusted variants. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cyd#how-is-it-measured) How is it measured? ----------------------------------------------------------------------------------------------------------------------------------------------------- Supply-Adjusted CYD simply divides CYD by the circulating supply (total amount of coins issued). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cyd#about) About -------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cyd#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cyd#further-resources) Further Resources Supply-Adjusted CYD\=CYDTotal Supply\=∑(value⋅lifespan \[days\]) (over last 365-days)value (of all UTXOs)\\begin{align\*} \\textrm{Supply-Adjusted CYD} &= \\frac{\\textrm{CYD}}{\\textrm{Total Supply}} \\\\\[0.5em\] &=\\frac{ \\sum(\\textrm{value} \\cdot \\textrm{lifespan}~{\\color{gray}{\[\\textrm{days}\]}})~{\\color{gray}{\\textrm{(over last 365-days)}}} }{ \\textrm{value}~{\\color{gray}{\\textrm{(of all UTXOs)}}} } \\end{align\*}Supply-Adjusted CYD​\=Total SupplyCYD​\=value (of all UTXOs)∑(value⋅lifespan \[days\]) (over last 365-days)​​ , and Glassnode (April 2021) by Ark Invest and David Puell 📖 [View Supply-Adjusted CYD in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&category=Lifespan&chartStyle=column&m=indicators.CydSupplyAdjusted) [View Supply-Adjusted CYD in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#supply-adjusted-cyd) [Ark Invest](https://ark-invest.com/) [David Puell](https://twitter.com/kenoshaking) [Buyer and Seller Behavior: Analyzing Bitcoin’s Fundamentals](https://ark-invest.com/articles/analyst-research/bitcoin-buyer-and-seller/) [Coin Years Destroyed](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed) ![Bitcoin: Supply-Adjusted Coin Years Destroyed](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-941be7216137ca575ce39531a620dd8bcfc4f9cb%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=9621ce9&sv=2) --- # Puell Multiple | Glassnode Docs [PreviousCoin Issuance](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance) [NextStablecoin](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stablecoin) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple#indicator-overview) Indicator Overview ----------------------------------------------------------------------------------------------------------------------------------------- The Puell Multiple examines the fundamentals of mining profitability and the way they shape market cycles. It is calculated by taking a ratio of daily coin issuance (in USD) and the 365 moving average of daily coin issuance (in USD). Interpretation of the Puell Multiple can generally be considered in the following framework: * **High values** indicate that current miner profitability if high compared to the yearly average. As such, the incentive for miners to liquidate their treasuries is high and greater sell pressure may be expected. * **Low values** indicate that current miner profitability is low compared to the yearly average. As such, income stress may become a factor, and some miners may need to start reducing hash-power by switching off rigs. This increases the hash-share of remaining miners who can then sell fewer coins to cover their operations, reducing their impact on liquid supply. * **Halving events** will drop the current coin issuance by 50% relative to the preceding year creating an immediate halving of the Puell Multiple also. The effect on miner profitability will thus be as per the point on **low values** above. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------------------ The Puell Multiple is calculated by dividing the daily USD value of coin issuance by its 365 day moving average. Puell Multiple\=Daily Coin Issuance (USD)MA365 (Daily Coin Issuance (USD))\\textrm{Puell Multiple} = \\frac{\\textrm{Daily Coin Issuance}~{\\color{gray}{\\textrm{(USD)}}}}{\\textrm{MA}\_{365}~{\\color{gray}{\\textrm{(Daily Coin Issuance (USD))}}}}Puell Multiple\=MA365​ (Daily Coin Issuance (USD))Daily Coin Issuance (USD)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple#user-guide) User Guide ------------------------------------------------------------------------------------------------------------------------- Miners are compulsory sellers in Proof-of-Work networks as a result of their necessary capital expenditure on mining hardware, logistics, facilities, and power consumption. Furthermore, profitable operation of mining facilities is a challenging business, requiring well considered capital allocation and investment decisions. This is a direct result of the protocol difficulty adjustment which maintains a deterministic coin issuance, such that approximately the same number of coins are mined irrespective of hash-power applied to the network. As a result, the mining industry is extremely competitive and operates on very slim profit margins. Miner profitability can therefore be considered a useful input when attempting to estimate supply-side sell pressure. The Puell Ratio achieves this by comparing today's aggregate fiat denominated miner income, to the yearly average. A 365-day average is selected to reflect an expected baseline income congruent with a miner's long-term investment horizon and planning decisions. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple#identifying-macro-tops) Identifying Macro Tops Miners are often net bullish and long the asset that is being mined. Many miners will therefore have treasury reserves of excess coins that are mined, but not necessary to sell to cover ongoing costs. During bullish markets, the incentive for new miners to start operations, and for existing miners to expand increases alongside the fiat value of their treasuries. This creates an opposing force and incentive for miners to liquidate some portion of their treasury reserves to maintain their share of network hash-power. As the incentive to sell mined coins increases, larger capital inflows are also necessary to absorb this sell pressure. The Puell Multiple will be trending higher in these instances, particularly during periods of rapid upwards re-pricing that significantly outstrips the lagging yearly average. Puell Multiple values greater than 4.0 have historically signalled macro market tops, although it has reached values between 6 and 10 in early Bitcoin cycles. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple#identifying-macro-bottoms) Identifying Macro Bottoms During extended bear markets, mining profitably becomes increasingly difficult. As prices fall, the aggregate income similarly falls, despite ongoing mining costs remaining at elevated levels. The cost of mining is generally considered fixed within each difficulty adjustment window (14-days for Bitcoin) which itself is defined by the overall hash-power competition on the network. Miners with stronger balance sheets and low operational costs will be capable of withstanding longer and deeper bear market conditions than those with higher operational overheads. As prices fall, miners will necessarily liquidate more of their income, and begin liquidating treasury reserves to cover their costs, exacerbating the bearish conditions. At some stage, mining profitability will squeeze out miners who reach their break-even mining price, and result in that hardware being switched off to cut back power consumption. Miners in stronger financial positions, who remain active on the network, will subsequently gain in relative share of hash-power. These remaining miners will have a larger share of the income, mined for the same fixed costs, and therefore can liquidate fewer coins and begin building reserves. At this time, the Puell Multiple will have reached low levels below 1.0 indicating that miners are likely experiencing income stress. Historically, significant macro bottoms have been established at Puell Multiples less than 0.5, indicating miner profitability is 50% below the yearly average. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple#about) About --------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple#coined-by) Coined By [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-issuance/puell-multiple#further-resources) Further Resources --------------------------------------------------------------------------------------------------------------------------------------- (March 2019) cryptopoiesis - 📖 [View Puell Multiple in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.PuellMultiple) [View Puell Multiple in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#puell-multiple) [David Puell](https://twitter.com/kenoshaking) [The Puell Multiple: A New Barometer of Bitcoin’s Market Cycles](https://medium.com/unconfiscatable/the-puell-multiple-bed755cfe358) ![Bitcoin: Puell Multiple](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-9edcabfed27280ba95d1b7edb68be0be7f8d7bb5%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=a36d0d9d&sv=2) ![Bitcoin: Puell Multiple with Peal Miner Profitability](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-e983b44ef0c6d9b3123f4dfc85a6c049921f0c66%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=220bc712&sv=2) ![Bitcoin: Puell Multiple with Minimum Miner Profitability](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-3643a74bc5b4bde72b4dafd4cf652d648e4374ec%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=fc4ac62c&sv=2) --- # Dormancy | Glassnode Docs [Average Coin Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy) [Supply-Adjusted Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy) [PreviousLiveliness](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness) [NextAverage Coin Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy) --- # CYD (Coin Years Destroyed) | Glassnode Docs [PreviousBinary CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd) [NextSupply-Adjusted CYD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cyd) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#indicator-overview) Indicator Overview --------------------------------------------------------------------------------------------------------------------------------------------------------- Coin Years Destroyed (CYD) takes the rolling sum of coin days destroyed (CDD) over the previous 365-day period as a macro indicator for annual economic activity. CYD is derived from the metric and will increase proportional to the volume and lifespan of coins spent on-chain over the past year. Changes in CYD values and trend can signal changing sentiment of coin holders as relatively more or less coin days are destroyed over the last year. The CYD metric can generally be considered within the following framework: * **High values and up-trends (Bullish markets)** suggest that an increasing volume of coin days were destroyed over the past year. This may indicate that long term holders (LTHs), who's coins have accumulated long lifespans, are spending coins and may lead to an increase in liquid coin supply. * **Low values and down-trends (Bearish markets)** suggest that an decreasing volume of coin days were destroyed over the past year. This may indicate that long term holders are spending fewer coins and interest in the asset is in decline, leading to reduced on-chain transaction activity. * **Sideways trends (Accumulation)** suggest an equilibrium in the volume of coin days destroyed has been reached over the past year. This may indicate that spending and distribution behaviour has slowed and accumulation is taking place by smart money investors which may lead to a decrease in liquid coin supply. The magnitude of CYD values can be compared to historical data points as a gauge on relative spending behaviour and as an indicator for macro market structure. It is important to note that over time, the protocol will naturally accrue more coin days and thus relative magnitude of CYD can be expected to increase over time. The Supply-Adjusted CYD metric accounts for this phenomena by adjusting the CYD indicator proportional to the increase in circulating supply over time. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#how-is-it-measured) How is it measured? ---------------------------------------------------------------------------------------------------------------------------------------------------------- CYD is calculated as the rolling sum of CDD over a 365-day window. CYD\=∑(CDD\[days\]) (over last 365 days)\\textrm{CYD} = \\sum(\\textrm{CDD}{\\color{gray}\[\\textrm{days}\]})~\\textrm{\\color{gray}(over last 365 days)}CYD\=∑(CDD\[days\]) (over last 365 days) [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#user-guide) User Guide ----------------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#indicator-signals) Indicator Signals A common assumption is smart money entities and long term holders are more likely to have strong fundamental knowledge about the asset, tend to purchase coins at prices considered cheap, and spend coins considered expensive. Furthermore, during bearish markets, interest in the asset tends to drop off and on-chain activity slows down leading to fewer coin days being destroyed. **During bullish markets**, long term holders tend to spend coins and realise profits into market strength. This leads to increases and up-trends in the CYD metric. The gradient of the CYD metric provides an indication of relative volumes of coin days are destroyed, with steeper up-trends suggesting increased spending behaviour. **During bearish markets**, long term holders tend to hold onto their coins and potentially transition into strategic accumulation. Simultaneously, wider market interest in the asset and protocol begins to wane leading to decreased on-chain activity, fewer coin days destroyed and thus down-trends in the CYD metric. **During periods of accumulation**, smart money investors begin accumulating relatively cheap coins, often after market capitulation events and at points where interest in the asset is at a relative minimum. CYD reaches an equilibrium point and trades sideways as fewer old coins are spent, and network traffic is dominated by young coins moving into long term storage. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#example-application) Example Application Aside from identification of macro market trends, CYD can provide valuable insight into market extremes such as generational market tops and capitulation/accumulation zones. Historically, periods of **maximum opportunity for accumulation** have occurred after sustained down-trends in the CYD metric during bear markets. As spending behaviour and market sentiment begins to transition from bearish to a stable supply-demand equilibrium, CYD often reaches a lower bound and trades sideways, forming a cyclical bottom pattern. Periods of **market exuberance and irrationality** often occur during parabolic markets, ending in blow-off tops. Long term holders often increase their spending through this period, realising profits by distributing expensive coins with the associated impact on liquid coin supply. CYD rallies higher during these periods and tends to reach a cyclical peak at, or shortly after the global market top. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#recommended-settings) Recommended Settings * **Scale**: linear. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#variations) Variations ----------------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#supply-adjusted-cyd) Supply-Adjusted CYD [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#about) About ------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cyd-coin-years-destroyed#further-resources) Further Resources CYD is a valuable tool for observing macro trends in spending behaviour, particularly for changes such as transition into distribution, accumulation or holding. Given direct derivation from the metric, CYD inherits many of the underlying properties, however is modified to target cyclical behaviour only within the last year. accounts for the impact of time on the CYD metric. Since more coin days are accrued over time, the total potential CYD increases over time. As such, adjusting for supply (an increase in the number of coins in circulation over time) in the denominator provides a more proportional view of dormancy over the history of a market. , and Glassnode (April 2021) by Ark Invest and David Puell 📖 [coin days destroyed (CDD)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) [View CYD in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&category=&chartStyle=column&m=indicators.Cyd) [View CYD in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#coin-years-destroyed-cyd) [CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) [Supply-Adjusted CYD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [Ark Invest](https://ark-invest.com/) [David Puell](https://twitter.com/kenoshaking) [Buyer and Seller Behavior: Analyzing Bitcoin’s Fundamentals](https://ark-invest.com/articles/analyst-research/bitcoin-buyer-and-seller/) ![image](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-9506e4e8d19a31ef4e694f55c1c5cf185fb1094b%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=83e0ee14&sv=2) ![image](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-bf0f0c12bbe9bfad43ef8ec7a5c9685882cac383%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6e6ecb30&sv=2) ![image](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-3e7b82f933c27b1923f31ea3e0e58084c97407ae%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=72ef0fae&sv=2) ![image](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-0c5ac305290695287d085ae4678a9ac59c5bfc17%252F5.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=17c3a92d&sv=2) ![image](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-68b3157f46297d29b48ccd0e9e871cf95c9e214e%252F6.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=b4cbfbb9&sv=2) --- # Median Spent Output Lifespan (MSOL) | Glassnode Docs [PreviousAverage Spent Output Lifespan (ASOL)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol) [NextNVT](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------------------- **MSOL (Median Spent Output Lifespan)** is the median lifespan (in days) of all spent transaction outputs. MSOL highlights on a macro level the median lifespan of coins on a per transaction output basis that were spent that day. This provides insight into the balance between short-term (young coins) and long-term (old coins) spending behaviour over a period of time. Generally speaking, MSOL can be considered in the following framework: * **MSOL** provides a less sensitive view than and provides insight on the largest cross section of spenders. It deviates less from its baseline (which is dominated by day-to-day traffic, primarily young coins) except during periods of very high volatility where old coins are more likely to be spent. * **High values** typically indicate an increased proportion of network traffic are old coins being spent, often associated with long term holders taking advantage of high market volatility. * **Low values** typically indicate day-to-day traffic comprised mainly of young coins being spent, often associated with traders and short term holders. Note that MSOL account only for the lifespan of the spent outputs and does not consider coin volume moved (i.e. ignores how many BTC units are moved). Two outputs which are 100-days old but worth 0.1BTC and 100BTC respectively, have identical weights in the MSOL calculation. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------------------------- MSOL (Median Spent Output Lifespan) is defined as the median age (in days) of all spent transaction outputs in a given time period. MSOL\=Median{lifespan \[days\] (of all spent outputs)}\\textrm{MSOL} = \\textrm{Median}\\big\\{ \\textrm{lifespan}~{\\color{gray}{\\textrm{\[days\]}}} ~{\\color{gray}{\\textrm{(of all spent outputs)}}} \\big\\}MSOL\=Median{lifespan \[days\] (of all spent outputs)} [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol#video-tutorial) Video Tutorial ----------------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol#user-guide) User Guide --------------------------------------------------------------------------------------------------------------------------------------- MSOL is an indicator that is best applied as a gauge for changes in older coin spending behaviour from day-to-day baseline traffic. MSOL has few major deviations from its baseline and only experiences notable increases when a larger proportion of the spent outputs had long lifespans. A single old spent output may have limited effect on MSOL, however when a large number of them are spent, the median lifespan is likely to be elevated. * **High indicator** **values** occur when a large proportion of old coins are on the move, potentially realising profits, taking advantage of market strength, or have reduced conviction to hold the asset. * **Low indicator values** occur when day-to-day, young coins dominate network traffic, older transaction outputs remain dormant, and conviction to continue holding the asset is high. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol#example-application) Example Application Peaks in MSOL above 2.0 days tend to occur in periods of high market volatility as a greater proportion of network traffic is comprised of old coins being spent. High MSOL values provide valuable insight on the relative balance of young to old coins, particularly if elevated values persist for long periods of time. Note also how the lower bound values of the MSOL indicator gradually increases over time. This phenomena is simply a result of there being more aggregate lifespan accumulated by the UTXO set as Bitcoin protocol continues operation. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol#about) About ----------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol#further-resources) Further Resources In order to account for and eliminate obvious relay transactions, outputs with a lifespan of less than 1 hour are discarded. MSOL values are small relative to and does not attain values greater than 1.5 days often, however when it does is usually a relatively large deviations from this baseline. As such MSOL is best viewed on a log scale to put peaks and troughs into context and benefits from application of moving averages with 7-day and 30-day periods recommended. (October 2019) Glassnode - 📖 [View MSOL in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Msol) [View MSOL in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#msol) [change](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains) [ASOL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol) [Renato Shirakashi](https://twitter.com/renato_shira) [ASOL/MSOL Announcement](https://twitter.com/glassnode/status/1177600932420423681) [ASOL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol) ![Note: MSOL is presented here on log scale](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-bcf5ef102f80f78a0c89b0a5db8a50c64b7533d5%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=24ab132e&sv=2) ![Bitcoin: Median Spent Output Lifespan (MSOL)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-e57182054418656c81d891f315ce80788b17f3a2%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=d1e699d6&sv=2) --- # Average Coin Dormancy | Glassnode Docs [PreviousDormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy) [NextSupply-Adjusted Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------- Average Coin Dormancy (Dormancy) describes the average number of days that each spent coin had remained dormant before it was moved. Dormancy considers the total volume of coin-days destroyed and divides by the total coin volume transacted to give an average spent lifespan on a per unit coin basis (i.e. spent lifespan per 1 BTC). Dormancy is a derivative of however is functionally similar to and has a similar interpretation. Where measures the average lifespan on a per transaction basis (spent output) , Dormancy measures the average lifespan normalised on a per unit coin basis. * **High dormancy values** mean that, on average, coins spent that day had been held for longer periods of time in an illiquid state and may be being spent back into liquid circulation. * **Low dormancy values** mean the coins being spent that day have are relatively young, signalling that older coins are generally remaining unspent, and on-chain volume is characteristic of more day-to-day traffic. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------------- Dormancy\=CDDTransaction Volume\=value⋅lifespan \[days\] (of all spent outputs)value (of all spent outputs)\\begin{align\*} \\textrm{Dormancy} &= \\frac{\\textrm{CDD}}{\\textrm{Transaction Volume}} \\\\\[0.5em\] &= \\frac{ \\textrm{value} \\cdot \\textrm{lifespan}~{\\color{gray}{\[\\textrm{days}\]}}~{\\color{gray}{\\textrm{(of all spent outputs)}}} }{ \\textrm{value}~{\\color{gray}{\\textrm{(of all spent outputs)}}} } \\end{align\*}Dormancy​\=Transaction VolumeCDD​\=value (of all spent outputs)value⋅lifespan \[days\] (of all spent outputs)​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#video-tutorial) Video Tutorial ----------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#user-guide) User Guide --------------------------------------------------------------------------------------------------------------------------- Dormancy has similar properties to the ASOL metric in that it measures an average spent lifespan for coins moved that day. Dormancy differs from ASOL however in that it considers lifespan on a per unit coin basis (rather than per transaction basis for ASOL). As a result, Dormancy carries a more distinct signature for different market cycles (e.g. subsequent halving cycles) and also for different market structures (bull, bear markets). The metric creators describe Dormancy as a gauge in what the smart money is doing in the market and whether they are generally in a state of accumulation or distribution. We typically make the assumption that older coins (with higher lifespans) are held by long term holders with strong fundamental knowledge and high conviction in the asset. These entities will change their spending behaviour depending on the current market cycle. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#example-application) Example Application Dormancy values tend to describe each phase of market character differently and are often distinct for each market cycle. As a result, we can generally characterise Dormancy interpretation as follows: * **High dormancy values** may indicate a state of distribution or realising profits by smart money, long term holders (HODLers selling to new entrants). This may indicate previously dormant coins are being spent back into circulation with a proportional effect on liquid supply. * **Low dormancy values** may indicate a state of increased long term holder conviction as HODLers acquire younger coins off the market, or at the very least stop spending their old coins. * **Dormancy trend direction** may be used to identify and distinguish between different market structures (related to the chart below). * **Bullish markets (green):** Profits are realised by long term holders leading to an uptrend in dormancy over the market cycle. * **Bearish markets (red):** Reduced long term holder spending and a general reduction in on-chain volume as interest in the asset wanes. This leads to a downtrend trend in Dormancy. * **Late bear / Early bull / Re-accumulation (blue):** Coins are accumulated by smart money investors and transferred to cold storage where they begin to mature. This leads to sideways and relatively low Dormancy as few old coins are spent. Given market cycles can continue for multi-year periods, and Dormancy is best deployed for observing changes in long term holder spending behaviour, long period moving averages like the 90-day are useful to improve indicator signals. The chart below presents these market cycles alongside the 7-day (orange) and 90-day (blue) moving averages of Dormancy to demonstrate. The chart below is shown in log-scale to demonstrate clearly this rising lower bound with each cycle. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#recommended-settings) Recommended Settings * **Scale**: linear or log * **Moving Averages:** 7-day, 30-day and 90-day [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#variations) Variations --------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#supply-adjusted-dormancy) Supply-Adjusted Dormancy [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#about) About ----------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy#further-resources) Further Resources Average Coin Dormancy is calculated by dividing the number of in a given day by the on-chain volume of that day. "Accumulation describes the act of smart money (last-resort buyers) taking cheap coins from dumb money (panic sellers), while distribution describes the act of smart money (old hands) releasing expensive coins into the hands of dumb money (bag holders). Accumulation occurs at market bottoms and distribution occurs at market tops." - Smith and Puell, Note also how the lower bound values of Dormancy increase gradually over time, a phenomena that shifts approximately in line with each halving cycle. This is a result of greater aggregate lifespan accumulated by the total supply over time. The metric accounts for this phenomena by adjusting Dormancy proportional to the increase in circulating supply over time. accounts for the impact of time on the Dormancy metric. Since coin days are accumulated over time, the potential lower-bound lifespan increases for all coins over time. As such, adjusting for supply (an increase in the number of coins in circulation over time) in the denominator provides a more proportional view of dormancy over the history of a market. (February 2018) Reginald D. Smith - 📖 [View Average Coin Dormancy in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.AverageDormancy) [View Average Coin Dormancy in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#average-coin-dormancy) [coin days destroyed](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) [Bitcoin Average Dormancy](https://medium.com/adaptivecapital/bitcoin-average-dormancy-28f88ea4c2ce) [Supply-Adjusted Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy) [Supply-Adjusted Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy) [Reginald D. Smith](https://twitter.com/supremevinegar) [Bitcoin Average Dormancy: A Measure of Turnover and Trading Activity](https://arxiv.org/pdf/1712.10287.pdf) [Coin Days Destroyed (CDD)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) [Average Spent Outputs Lifespan (ASOL)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol) [ASOL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol) ![Bitcoin: Average Coin Dormancy](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-75c5598c02720d2fd4c02545bbe0677a7cc0cd07%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=744dfc4e&sv=2) ![Bitcoin: Average Coin Dormancy (7-day and 90-day MAs)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-40bd8c049be0886914193940aad15f837bcccee8%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=bedd9ad9&sv=2) ![Bitcoin: Average Coin Dormancy (7d Moving Average)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-9a5f84cf7082350cd57cc3edf0dc829a1761bcce%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=4167c9db&sv=2) --- # Velocity | Glassnode Docs [PreviousNVT Signal](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal) [NextStock to Flow](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/velocity#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------- Velocity is a measure of how quickly units are circulating in the network, and is calculated by dividing the on-chain transaction volume (in USD) by the (i.e. the inverse of the ). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/velocity#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/velocity#further-resources) Further Resources ----------------------------------------------------------------------------------------------------------------------- Velocity is calculated by dividing the on-chain transaction volume (in USD) by the (i.e. the inverse of the ) Velocity\=1NVT Ratio\=Transaction Volume \[USD\]Market Cap \[USD\]\\textrm{Velocity} = \\frac{1}{\\textrm{NVT Ratio}} = \\frac{ \\textrm{Transaction Volume}~{\\color{gray}{\[\\textrm{USD}\]}} }{ \\textrm{Market Cap}~{\\color{gray}{\[\\textrm{USD}\]}} }Velocity\=NVT Ratio1​\=Market Cap \[USD\]Transaction Volume \[USD\]​ Willy Woo - 📖 [View Velocity in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Velocity) [View Velocity in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#velocity) [market cap](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [NVT Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio) [Bitcoin Velocity vs. US Money Stock](https://charts.woobull.com/bitcoin-velocity/) [market cap](https://docs.glassnode.com/guides-and-tutorials/metric-guides/market-capitalization) [NVT Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio) ![Bitcoin: Velocity](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-283ad6910cd65a2cfd1c5427b90977f20f550cde%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=13b36a34&sv=2) --- # Stock to Flow Deflection | Glassnode Docs [PreviousStock to Flow Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio) [NextPrice Distribution](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection#indicator-overview) Indicator Overview --------------------------------------------------------------------------------------------------------------------------------------------------- The Stock to Flow (S/F) Deflection is the ratio between the current price of an asset and its . It is used to determine whether an asset is overvalued or undervalued in relation to its scarcity. If deflection is ≥ 1 it means that the asset is overvalued according to the S/F model. If deflection is <1, the asset is undervalued according to this model. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection#how-is-it-measured) How is it measured? ---------------------------------------------------------------------------------------------------------------------------------------------------- The Stock to Flow Deflection of an asset represents the ratio between the price of the asset and its Stock to Flow Ratio (itself defined as the ratio of the current stock of the asset and the flow of new production). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection#about) About ------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection#date-introduced) Date Introduced January 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------------- PlanB - 📖 [View Stock to Flow Deflection in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.StockToFlowDeflection) [View Stock to Flow Deflection in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#stock-to-flow-deflection) [PlanB](https://twitter.com/100trillionUSD) [Modeling Bitcoin's Value with Scarcity](https://medium.com/@100trillionUSD/modeling-bitcoins-value-with-scarcity-91fa0fc03e25) [Stock to Flow Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio) ![Bitcoin: Stock to Flow Deflection](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-5e40d7d28755082bf69fe800d82be6dd1e704f9c%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6a329d6&sv=2) --- # NVT Ratio | Glassnode Docs [PreviousNVT](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt) [NextNVT Signal](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------- Network Value to Transactions (NVT) Ratio describes the relationship between market cap and transfer volume. Per Willy Woo, its creator, NVT can be considered analogous to the PE (price to earnings) Ratio used in equity markets. Another viewpoint for NVT is that it is the inverse of monetary velocity, comparing two of Bitcoin's primary value propositions: * **Store of Value:** Market Cap * **Settlement/Payments Network:** Transfer Volume Via the NVT Ratio, users can witness the relative balance between these two components , with trends and extreme values providing insights via the following general framework: * **A high NVT Ratio (or uptrend)** indicates that investors are pricing Bitcoin at a premium, as Market Cap growth outpaces utilisation of on-chain transaction volume and value settlement. High NVT Ratio values have historically coincided with market tops and periods of overvaluation. * **A low NVT Ratio (or downtrend)** indicates that investors are pricing Bitcoin at a discount, as on-chain Transfer Volume and network utilisation outpaces Market Cap growth. Low NVT Ratio values have historically been periods where it is advantageous to accumulate, and often coincide with market bottoms and trending bull markets. * **A constant NVT Ratio (or sideways trend)** indicates that the current growth trend of both Market Cap and Transfer Volume are in equilibrium, suggesting the current market trend is sustainable. Such states are often reached during the early to mid phases of a bullish or bearish trend where the market direction is well established. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------- NVT is calculated by dividing market cap (in USD) by daily transfer volume (in USD). NVT Ratio\=Market Cap \[USD\]Transaction Volume \[USD\]\=value⋅price \[USD\] (of all UTXOs)value⋅price \[USD\] (of all spent outputs)\\begin{align\*} \\textrm{NVT Ratio} &= \\frac{\\textrm{Market Cap}~{\\color{gray}{\[\\textrm{USD}\]}}}{\\textrm{Transaction Volume}~{\\color{gray}{\[\\textrm{USD}\]}}} \\\\\[0.5em\] &= \\frac{ \\textrm{value} \\cdot \\textrm{price}~{\\color{gray}{\[\\textrm{USD}\]}}~{\\color{gray}{\\textrm{(of all UTXOs)}}} }{ \\textrm{value} \\cdot \\textrm{price}~{\\color{gray}{\[\\textrm{USD}\]}}~{\\color{gray}{\\textrm{(of all spent outputs)}}} } \\end{align\*}NVT Ratio​\=Transaction Volume \[USD\]Market Cap \[USD\]​\=value⋅price \[USD\] (of all spent outputs)value⋅price \[USD\] (of all UTXOs)​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#user-guide) User Guide ---------------------------------------------------------------------------------------------------------- NVT was one of the first developed metrics in on-chain tooling, and ties together two basic pieces: **value** and **utility**. Bitcoin is not only a store of value, but also a payments and value settlement network. The NVT Ratio attempts to model the balance and divergences between network value assigned my the market, and the utility it brings to users in transactional throughput. An important note in interpretation of the NVT is related to how the Bitcoin network usage and market pricing has and will continue to change over time. As technology advances (e.g. lightning network), narratives shift, and coin price rises over time, direct comparison of NVT values in 2013 to those in 2021 are unlikely to be one-to-one. As Bitcoin experiences monetisation and adoption, the prevalence of coin holders using it as a payment network versus a long term store of value has changed. It is therefore advised that absolute values of NVT be compared to market cycles of similar maturity, and that the trend direction be assigned greater weight in analysis than the absolute value. As a result, it is often advantageous to apply a moving average to NVT to observe broader trends. The chart below demonstrates how despite a rising floor value of NVT over time (which is theoretically bearish) requires additional context of the changing Bitcoin market dynamic to fully appreciate. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#indicator-signals) Indicator Signals The signal NVT provides is generally easy to appreciate, and this simplicity has made it a staple within the on-chain space. NVT values naturally vary on a daily basis, but the focus within will be solely on high and low NVT values: #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#high-values-and-uptrends) **High Values and Uptrends:** * Signal: **Bearish, declining fundamentals** * Description: Network valuation is outpacing value transferred on-chain. When value outpaces utility, it suggests declining user demand for value settlement, and a potential overvaluation. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#low-values-and-downtrends) **Low Values and Downtrends:** * Signal: **Bullish, improving fundamentals** * Description: Value transferred on-chain is outpacing network valuation. When utility leads value appreciation, it suggests more users are entering, larger value is being settled, and may signal undervaluation. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#constant-values-and-sideways-trends) **Constant Values and Sideways Trends:** * Signal: **Market continuation, sustainable equilibrium** * Description: Growth in network valuation and value transferred on-chain is in equilibrium and growing at an equivalent pace. This generally signals the prevailing market trend is sustainable and likely to persist. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#variations) Variations ---------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#nvt-signal) NVT Signal NVT Signal (NVTS) is a modified version of the original NVT Ratio. It uses a 90 day moving average of the daily transaction volume in the denominator instead of the raw daily transaction volume. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#velocity) Velocity Velocity is a measure of how quickly units are circulating in the network, and is calculated by dividing the on-chain transaction volume (in USD) by the market cap (i.e. the inverse of the NVT Ratio). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#about) About ------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#further-resources) Further Resources (February 2017) Willy Woo - 📖 [View NVT Ratio in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Nvt) [View NVT Ratio in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#nvt-ratio) [Willy Woo](https://twitter.com/woonomic) [Introducing NVT Ratio (Bitcoin's PE Ratio), use it to detect bubbles](https://woobull.com/introducing-nvt-ratio-bitcoins-pe-ratio-use-it-to-detect-bubbles/) [Bitcoin NVT Ratio](https://charts.woobull.com/bitcoin-nvt-ratio/) ![Bitcoin: Network Value to Transactions Ratio (NVT)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-791c7b2802e6902d1fa9d47b86cb7e83325bb9bc%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=10af4c1d&sv=2) ![Bitcoin: Network Value to Transactions Ratio (NVT) (30d Moving Average)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-c69e61745ce26c8cfe975ca441563dca95082a8e%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=7383db90&sv=2) ![Bitcoin: Network Value to Transactions Ratio (NVT) (30d Moving Average) with Periods of rising NVT](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-5cceee987eb8d70eeaa5c16a0a1969bb833882a3%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=622a8efa&sv=2) ![Bitcoin: Network Value to Transactions Ratio (NVT) (30d Moving Average) with Periods of declining NVT](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-9a29ff56c301fae3fabc34173b535e704423957e%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=8e42add5&sv=2) ![Bitcoin: Network Value to Transactions Ratio (NVT) (30d Moving Average) with Periods of sideways NVT](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-8919b606dab7a13f9aea014b8adcbd6ec0ef612f%252F5.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=671ac9eb&sv=2) --- # Lifespan | Glassnode Docs [Spent Output Age Bands (SOAB)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab) [Average Spent Output Lifespan (ASOL)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol) [Median Spent Output Lifespan (MSOL)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol) [PreviousSupply-Adjusted Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy) [NextSpent Output Age Bands (SOAB)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab) --- # CDD (Coin Days Destroyed) | Glassnode Docs [PreviousCoin Days Destroyed](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed) [NextSupply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------------------------------------- Coin Days Destroyed is a measure of economic activity which gives more weight to coins which haven't been spent for a long time. It is considered an important alternative to looking at total transaction volumes, which may not accurately represent economic activity if value was not stored for a meaningful time. Conversely, coins held in cold storage as a long term store of value are considered economically important when they are spent as it signals a notable change in long-term holder behaviour. Every day one coin unit remains unspent, it accumulates one "coin day". When that coin is eventually spent, the accumulated coin days are reset to zero, or "destroyed" and registered by the CDD metric. The aggregate number of coin days destroyed (CDD indicator value) in a given period of time is a function of the number of coins spent multiplied by the lifespan of those coins. For example: * A UTXO for 2 BTC that is dormant for 100-days has accumulated 200 coin days. * A UTXO for 0.5 BTC that is dormant for 100-days has accumulated 50 coin days. * A UTXO for 10 BTC that is dormant for 6-hours (0.25-days) has accumulated 2.5 coin days. Since the CDD metric captures both coin lifespan and coin volume, it is a valuable tool for observing the spending behaviour of entities classified as smart money, whales and long term investors. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------------------------------------- CDD for a given UTXO is computed by multiplying its value and lifespan in days. The CDD metric constitutes the sum of these values for all spent outputs in the selected time range. CDD\=value⋅lifespan \[days\] (of all spent outputs)\\textrm{CDD} = \\textrm{value} \\cdot \\textrm{lifespan}~{\\color{gray}\[\\textrm{days}\]}~\\textrm{\\color{gray}(of all spent outputs)}CDD\=value⋅lifespan \[days\] (of all spent outputs) [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#video-tutorial) Video Tutorial ------------------------------------------------------------------------------------------------------------------------------------------------ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#user-guide) User Guide ---------------------------------------------------------------------------------------------------------------------------------------- CDD is a valuable tool for observing the spending behaviour of long term holders and wealthy investors as it considers both lifespan and coin volume. It is particularly well suited for observing macro trends where entities who accumulated in previous cycles begin start spending their coins. CDD is sensitive to the spending of: * **Coins with long lifespans**: where each old coin has accumulated large number of coin days. * **Large coin volumes:** where wealthy investors with large coin holdings are spent destroying a large number of coin days. Note that if the same set of coins are sent back and forth, at most, one coin day per unit coin transacted can be destroyed per day. * **Large coin volumes which also have long lifespans:** This combined effect will have an outsized impact on the CDD metric. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#indicator-signals) Indicator Signals A common assumption is smart money entities and long term holders are likely to have a strong fundamental knowledge of the asset, tend to purchase coins at prices considered cheap, and spend coins considered expensive. As such, the CDD metric is often considered in line with the following framework: * **High indicator** **values** may indicate long term investors are spending coins to realise profits, taking advantage of market strength, or have reduced conviction to hold the asset. This may re-activate dormant supply into liquid circulating supply if the coins are sold. * **Sustained high or trending higher indicator values** add weight to conclusions around long term holder spending behaviour. CDD often trends higher in bullish markets as long term holders sell into market strength and often peak around local price tops. * **Low indicator values** occur when day-to-day network traffic dominates network traffic, older coins remain dormant, and conviction to hold the asset is high. Periods of reduced interest in the asset (such as bearish markets) tend to lead to less on-chain activity and thus lower indicator values. * **Sustained low or trending lower indicator values** may suggest confidence is returning for long term holders who are beginning to hold rather than spend their coins. These signals are common in bullish markets during price corrections and consolidations. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#example-application) Example Application With this in mind, some example observations with respect to the CDD indicator and horizontal levels are: * **CDD values < 5 Million days** have historically described day-to-day baseline traffic and in recent years has provided a lower-bound floor as the Bitcoin protocol accumulates coin days. * **CDD values > than 10 million days** are often correlated with bullish markets and local market tops or bottoms as a moderate increase in older coins moving due to spending by long term holders. * **CDD values > than 20 million days** are historically uncommon and tend to only occur during periods of high volatility as larger volumes of old coins are spent, potentially realising profits or losses. CDD often trends higher during bullish markets and returns to lower values during corrections and consolidations. Where CDD returns to lower levels after a period of being elevated, it may suggest improved confidence of long term holders who are opting to keep their coins dormant. Bearish markets are also known for lower general interest in the asset, alongside greater dominance in off-chain exchange based volume, rather than demand for on-chain transactions. This tends to result in periods of lower CDD values. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#recommended-settings) Recommended Settings ------------------------------------------------------------------------------------------------------------------------------------------------------------ * **Scale**: linear or log. * **Moving Averages:** 7-day and/or 30-day. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#variations) Variations ---------------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#supply-adjusted-cdd) Supply-Adjusted CDD ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#binary-cdd) Binary CDD [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#about) About ------------------------------------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed#further-resources) Further Resources Absolute values of the CDD indicator must be interpreted within the context of the overall protocol age. It can be seen that the lower bound values of the CDD indicator increase gradually over time, a phenomena resulting from gradual accumulation of aggregate lifespan by the whole UTXO set. The metric accounts for this phenomena by adjusting the CDD indicator proportional to the increase in circulating supply over time. Note that absolute values of CDD will vary over time and must be considered within this context and/or considered alongside the metric. accounts for the impact of time on the CDD metric. Since more coin days are accrued over time, the total potential CDD increases over time. As such, adjusting for supply (an increase in the number of coins in circulation over time) in the denominator provides a more proportional view of dormancy over the history of a market. describes whether Supply-Adjusted CDD on any given day was above or below the historical average. In general, it shows whether longer-term market participants are entering or exiting the market. This metric was developed by . Bitcoin Forum user (April 2011) BitcoinTalk - Hans Hauge - 📖 [View CDD in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Cdd) [View CDD in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#coin-days-destroyed) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [Binary CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/binary-cdd) [Hans Hauge and Ikigai](https://www.kanaandkatana.com/valuation-depot-contents/2019/5/30/exploration-of-bitcoin-days-destroyed) [ByteCoin](https://bitcointalk.org/index.php?topic=6172.msg90789#msg90789) [Re: Bitcoin Transaction Volume](https://bitcointalk.org/index.php?topic=6172.msg90789#msg90789) [Introducing Binary Adjusted BDD](https://www.kanaandkatana.com/valuation-depot-contents/2019/5/30/exploration-of-bitcoin-days-destroyed) ![Bitcoin Coin Days Destroyed](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-6fa0b1e75874c4b5f5b3cd7f880ebcb6620c9e7a%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=bd8ab6ed&sv=2) ![Bitcoin: Coin Days Destroyed (CDD)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-18708b0d3a0d68ea4e9f11d82e6db720d90a4b40%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ab7f1729&sv=2) --- # Supply-Adjusted Dormancy | Glassnode Docs [PreviousAverage Coin Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy) [NextLifespan](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------------------------- Supply-Adjusted Dormancy accounts for the impact that coin day accumulation by the total supply has on the metric. As more coins are issued and more coin days are accumulated by the aggregate network, the lower bound of coin days destroyed and thus Dormancy will increase over time. This results in a steadily rising 'floor value' and potential for higher 'peak values' of Dormancy which therefore requires additional consideration in analysis to accurately compare measurements from different points in time. Adjusting for supply aims to provide a more proportional and equivalent view of indicator values over the history of the market. The rationale behind supply adjustment is as follows: * Early in a protocol's life, coin supply is small and so is the aggregate accumulated lifespan and thus the required adjustment is larger to scale up in line with more recent values. * Later in a protocol's life, coin supply is larger and so is the aggregate accumulated lifespan so the required adjustment is smaller relative to recent values. In general, horizontal levels and values in supply adjusted metrics are likely to more consistent over time than those for the base metric. The trends, fractals and interpretation remain consistent between both the original metric and supply adjusted variants. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy#how-is-it-measured) How is it measured? ----------------------------------------------------------------------------------------------------------------------------------------------- Supply-Adjusted Dormancy simply divides Average Coin Dormancy by the circulating supply (total amount of coins issued). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy#about) About -------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/supply-adjusted-dormancy#further-resources) Further Resources Supply-Adjusted Dormancy\=DormancyTotal Supply\=Dormancyvalue (of all UTXOs)\\begin{align\*} \\textrm{Supply-Adjusted Dormancy} &= \\frac{\\textrm{Dormancy}}{\\textrm{Total Supply}} \\\\\[0.5em\] &= \\frac{ \\textrm{Dormancy} }{ \\textrm{value}~{\\color{gray}{\\textrm{(of all UTXOs)}}} } \\end{align\*}Supply-Adjusted Dormancy​\=Total SupplyDormancy​\=value (of all UTXOs)Dormancy​​ and (June 2019) Reginald Smith and David Puell - 📖 [View Supply-Adjusted Dormancy in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.AverageDormancySupplyAdjusted) [View Supply-Adjusted Dormancy in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#supply-adjusted-dormancy) [Reginald D. Smith](https://twitter.com/supremevinegar) [David Puell](https://twitter.com/kenoshaking) [Bitcoin Average Dormancy: New Views of a Classic On-Chain Metric](https://medium.com/adaptivecapital/bitcoin-average-dormancy-28f88ea4c2ce) [Average Coin Dormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy/average-coin-dormancy) ![Bitcoin: Supply-Adjusted Dormancy](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-769e4cd2e2538a4ce0570fae702b8aeffda19760%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=2604bd8b&sv=2) --- # NVT | Glassnode Docs [NVT Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio) [NVT Signal](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal) [Velocity](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/velocity) [PreviousMedian Spent Output Lifespan (MSOL)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol) [NextNVT Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio) --- # Average Spent Output Lifespan (ASOL) | Glassnode Docs [PreviousSpent Output Age Bands (SOAB)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab) [NextMedian Spent Output Lifespan (MSOL)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------------------------------------- **ASOL (Average Spent Output Lifespan)** is the average lifespan (in days) of all spent transaction outputs. ASOL highlights on a macro level the lifespan of coins on a per transaction output basis that were spent that day. This provides insight into the balance between short-term (young coins) and long-term (old coins) spending behaviour over a period of time. Generally speaking, ASOL can be considered in the following framework: * **ASOL** provides a more sensitive view than on the aggregate spending behaviour. It often trends higher with market volatility and changes in market sentiment and structure as older, dormant coins are spent back into circulation. * **High values** typically indicate an increased proportion of network traffic are old coins being spent, often associated with long term holders taking advantage of high market volatility. * **Low values** typically indicate day-to-day traffic comprised mainly of young coins being spent, often associated with traders and short term holders. Note that ASOL account only for the lifespan of the spent outputs and does not consider coin volume moved (i.e. ignores how many BTC units are moved). Two outputs which are 100-days old but worth 0.1BTC and 100BTC respectively, have identical weights in the ASOL calculation. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------------------------------------- ASOL (Average Spent Output Lifespan) is defined as the mean age (in days) of all spent transaction outputs in a given time period. ASOL\=Mean{lifespan \[days\] (of all spent outputs)}\\textrm{ASOL} = \\textrm{Mean}\\big\\{ \\textrm{lifespan}~{\\color{gray}{\\textrm{\[days\]}}} ~{\\color{gray}{\\textrm{(of all spent outputs)}}} \\big\\}ASOL\=Mean{lifespan \[days\] (of all spent outputs)} [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#video-tutorial) Video Tutorial ------------------------------------------------------------------------------------------------------------------------------------------------ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#user-guide) User Guide ---------------------------------------------------------------------------------------------------------------------------------------- ASOL is an indicator best applied to gauge changes in older coin spending behaviour from day-to-day baseline traffic. It observes the global state of spending behaviour and is sensitive to older spent outputs 'bringing up the average'. A few very old outputs, 5yrs+ for example, could lift the average spent output lifespan by a non-trivial amount and thus register as an elevated ASOL signal. * **High indicator** **values** occur when a large proportion of old coins are on the move, potentially realising profits, taking advantage of market strength, or have reduced conviction to hold the asset. * **Low indicator values** occur when day-to-day, young coins dominate network traffic, older transaction outputs remain dormant, and conviction to continue holding the asset is high. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#example-application) Example Application ASOL values less than 40 days are typical of a day-to-day baseline traffic. Where ASOL values trend higher and peak above 40 days, it often correlates to local market tops or bottoms. ASOL values greater than 60 days are uncommon and tend to only occur during periods of high volatility as older coins realise profits or losses. ASOL values can be noisy day-to-day and thus benefits from application of moving averages, with 7-day and 30-day periods recommended. Note also how the lower bound values of the ASOL indicator gradually increases over time. This phenomena is simply a result of there being more aggregate lifespan accumulated by the UTXO set as Bitcoin protocol continues operation. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#recommended-settings) Recommended Settings * **Scale**: linear or log * **Moving Averages:** 7-day and/or 30-day [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#about) About ------------------------------------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol#further-resources) Further Resources In order to account for and eliminate obvious relay transactions, outputs with a lifespan of less than 1 hour are discarded. (October 2019) Glassnode - 📖 [MSOL](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/median-spent-output-lifespan-msol) [View ASOL in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Asol) [View ASOL in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#asol) [change](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains) [Renato Shirakashi](https://twitter.com/renato_shira) [ASOL/MSOL Announcement](https://twitter.com/glassnode/status/1177600932420423681) ![Bitcoin: Average Spent Outputs Lifespan (ASOL)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-876ac417ad528f272a075ea7ebb62e4969861d15%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=b032d509&sv=2) --- # Stock to Flow | Glassnode Docs [Stock to Flow Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio) [Stock to Flow Deflection](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection) [PreviousVelocity](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/velocity) [NextStock to Flow Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio) --- # Stock to Flow Ratio | Glassnode Docs [PreviousStock to Flow](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow) [NextStock to Flow Deflection](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------------------------- The Stock to Flow (S/F) Ratio is a popular model that assumes that scarcity drives value. It is defined as the ratio of the current stock of a commodity and the flow of new production, and is applied across many asset classes. Bitcoin's price has historically followed the S/F Ratio, making it a popular model for predicting future Bitcoin valuations. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio#how-is-it-measured) How is it measured? ----------------------------------------------------------------------------------------------------------------------------------------------- Stock to Flow is defined as the ratio of the current stock of a commodity (i.e. circulating Bitcoin supply) and the flow of new production (i.e. newly mined bitcoins). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio#about) About -------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio#date-introduced) Date Introduced January 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-ratio#further-resources) Further Resources -------------------------------------------------------------------------------------------------------------------------------------------- PlanB - 📖 [View Stock to Flow Ratio in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.StockToFlowRatio) [View Stock to Flow Ratio in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#stock-to-flow-ratio) [PlanB](https://twitter.com/100trillionUSD) [Modeling Bitcoin's Value with Scarcity](https://medium.com/@100trillionUSD/modeling-bitcoins-value-with-scarcity-91fa0fc03e25) ![Bitcoin: Stock to Flow Ratio](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-d358c84ecd03314ded081fd9f8c47acef20c4946%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=39c6a120&sv=2) --- # Spent Output Age Bands (SOAB) | Glassnode Docs [PreviousLifespan](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan) [NextAverage Spent Output Lifespan (ASOL)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/average-spent-output-lifespan-asol) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------------- Spent Output Age Bands (SOAB) is a metric that bundles spent coins into categories depending on their age and presents them in colour bands as a proportion of total coins moved. Each band represents the percentage of spent outputs that were created within the time period denoted in the legend. SOAB is a useful tool for identifying periods of time or trends where on-chain transactions are dominated by younger, or older coins. The metric demonstrates the age of coins that are moving, and thereby highlights whether market movements are influenced by long-term HODLers or newer market participants. * Cooler colours will fill a larger portion of the chart area on days where more old coins were spent. * Warmer colours will fill more of the chart area on days where younger coins were spent. More detailed analysis on particular sub-sets of age bands can be achieved by turning off/on different legend items. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------------------- Spent output age bands are measured by calculating the age of coins that have been transacted within the specified time window and presenting as a proportion of the daily total spends. Spent Outputs\=value (of all spent outputs where tspent−tcreated is in selected age band)\\begin{align\*} \\textrm{Spent Outputs} = \\textrm{value}~&{\\color{gray}{\\textrm{(of all spent outputs where}}} \\\\ &{\\color{gray}{~\\textrm{$t\_\\textrm{spent} - t\_\\textrm{created}$ is in selected age band)}}} \\end{align\*}Spent Outputs\=value ​(of all spent outputs where tspent​−tcreated​ is in selected age band)​ SOAB aggregates and stacks the following age bands: * <1h * 1-24h * 1d-1w * 1w-1m * 1-3m * 3-6m * 6-12m * 1-2y * 2-3y * 3-5y * 5-7y * 7-10y * \>10y [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#video-tutorial) Video Tutorial ----------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#user-guide) User Guide --------------------------------------------------------------------------------------------------------------------------------- SOAB provides a macro overview of the proportion of daily spending for various coin age categories. As shifts occur in spending behaviour (e.g. long-term holders increasing their spending), these changes will show up as increased colour dominance within the chart. This metric can be utilised for both aggregate big picture analysis as well as more detailed analysis of a specific sub-set of age brackets (e.g. viewing only coins spent which are older than 1-year). SOAB can generally be considered within the following framework: * **Older coins** (cool colours) are more likely to be held by smart money investors who have strong fundamental knowledge about the asset and protocol. Long term holders typically accumulate coins which are considered cheap in bear markets and realise profits during bull markets. * **Spending of old coins** often increases around periods of market volatility and may suggest a change in conviction to hold the asset, and the re-activation of dormant coins back into liquid circulation. * **Younger coins** (warm colours) typically dominate day-to-day network traffic and are typically associated with speculators, newer market entrants and day traders. These entities are assumed to be more sensitive to price volatility and thus more likely to re-spend coins in response to volatility. * **Spending of young coins** may signal a a state where long term holders prefer to HODL their coins, and thus may suggest increased accumulation and/or higher confidence to hold the asset. Note that over time, coins can accumulate longer lifespans as the protocol continues operation. For example, coins older than three years can only exist after the protocol has been in operation for three years. As such interpretation of fractals in relation to previous periods should consider the minimum age of coins at the time. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#example-application) Example Application The legend items for the SOAB metric can be clicked to turn on/off different age bands. This provides a more detailed analysis for specific coin age clusters of interest. The chart below presents a view where all spent age bands younger than 1-year are turned off, making the spending patterns of older coins stand out clearly. We can see that older coins are often spent during bull markets as profits are realised, and around market extremes such as local tops, global tops and capitulation events. This provides insight into periods when smart money investors with long time horizons are re-activating dormant coins. This event may impact the liquid circulating supply if the coins are sold to the market. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#recommended-settings) Recommended Settings * Default for aggregate overview of spending behaviour. * Turning off and on various lifespan categories for more detailed insights, particularly for viewing spending patterns of older age categories. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#about) About ----------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/lifespan/spent-output-age-bands-soab#further-resources) Further Resources (October 2019) Glassnode - 📖 [View SOAB in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Soab) [View SOAB in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#spent-output-age-bands) [Glassnode](https://twitter.com/glassnode) [SOAB Announcement](https://twitter.com/glassnode/status/1187385012452245506) ![Bitcoin: Spent Output Age Bands](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-d6ecfa614c4684d520ad737d1078455a249445ca%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=11008aa1&sv=2) ![Bitcoin: Spent Output Age Bands with Increased Spending of Older Coins marked](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-ab1c7876dac293a45d362f995dd35a6f97518ea8%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3b7cb4f9&sv=2) ![Bitcoin: Spent Output Age Bands (Ages > 1 yr)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-1e61357b5a6ee33e4376f38a752b56d6ceaa45c7%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=777a4943&sv=2) --- # Long and Short-Term Holder Supply | Glassnode Docs [Supply Held by Long and Short-Term Holders](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders) [PreviousAccumulation Trend Score](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score) [NextSupply Held by Long and Short-Term Holders](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders) --- # Price Distribution | Glassnode Docs [URPD (UTXO Realized Price Distribution)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution) [SOPD (Spent Output Price Distribution)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution) [PreviousStock to Flow Deflection](https://docs.glassnode.com/guides-and-tutorials/metric-guides/stock-to-flow/stock-to-flow-deflection) [NextURPD (UTXO Realized Price Distribution)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution) --- # Profit/Loss (Supply) | Glassnode Docs [Percent Supply in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit) [Supply in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit) [Supply in Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss) [PreviousSupply Held by Long and Short-Term Holders](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders) [NextPercent Supply in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit) --- # SOPD (Spent Output Price Distribution) | Glassnode Docs [PreviousURPD (UTXO Realized Price Distribution)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution) [NextAccumulation Trend Score](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------------------------------------------------- Spent Output Price Distribution (SOPD) shows at which prices UTXOs were spent on a given day (i.e. each bar shows the amount of Bitcoin volume that was moved within that specified price bucket). The price specified on the x-axis refers to the lower bound of that bucket. There are two variants of this metric based on x-axis partitioning: * **ATH-partitioned** (price buckets are defined by dividing the range between 0 and the current ATH in 100 equally-spaced partitions) * **% partitioned** (price buckets are defined by taking the day's closing price and creating 50 equally-spaced bucket each above and below the closing price in steps of +/- 2%) [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------------------------------------------------- SOPD price buckets are calculated by adding the value of all spent outputs where the price when the spent outputs were created falls into that given bucket. SOPD(price bucket)\=value (of all spent outputs where pricecreated is in bucket)\\begin{align\*} \\textrm{SOPD}(\\textrm{price bucket}) &= \\textrm{value}~\\color{gray}{\\textrm{(of all spent outputs where price}\_{\\textrm{created}}~\\textrm{is in bucket)}} \\end{align\*}SOPD(price bucket)​\=value (of all spent outputs where pricecreated​ is in bucket)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution#about) About ------------------------------------------------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution#date-introduced) Date Introduced April 2020 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------------------------------ View / in Glassnode Studio View / in Glassnode API Docs Glassnode - 📖 [SOPD (ATH partitioned)](https://studio.glassnode.com/metrics?a=BTC&m=indicators.SpentOutputPriceDistributionAth) [SOPD (% partitioned)](https://studio.glassnode.com/metrics?a=BTC&m=indicators.SpentOutputPriceDistributionPercent) [SOPD (ATH partitioned)](https://docs.glassnode.com/basic-api/endpoints/indicators#sopd-ath-partitioned) [SOPD (% partitioned)](https://docs.glassnode.com/basic-api/endpoints/indicators#sopd-partitioned) [Renato Shirakashi](https://twitter.com/renato_shira) [Twitter Thread](https://twitter.com/glassnode/status/1254816216746725377) ![Bitcoin: SOPD (ATH partitioned)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-c8575d0ef8734e2b20a494a0ec5ae4a17fdefa5d%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=14a13ef8&sv=2) --- # NVT Signal | Glassnode Docs [PreviousNVT Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio) [NextVelocity](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/velocity) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#indicator-overview) Indicator Overview --------------------------------------------------------------------------------------------------------------------------- NVT Signal (NVTS) is a modified version of the original and carries many similar interpretation properties. It uses a 90 day moving average of the daily transfer volume in the denominator instead of the raw daily transfer volume. The implementation of this moving average makes the ratio more responsive to real time over-extensions in price action as value (Market Cap) outpaces utility (90 day Transfer Volume). Ratio values at either extreme tell analysts one of two things: * **A high NVT Signal (or uptrend)** indicates that investors are pricing Bitcoin at a premium, as Market Cap growth outpaces on-chain Transfer Volume. High NVT Signal values have historically been periods to distribute BTC and often coincide with market tops. * **A low NVT Signal (or downtrend)** indicates that investors are pricing Bitcoin at a discount, as on-chain Transfer Volume outpaces Market Cap growth. Low NVT Signal values have historically been periods to accumulate BTC and often coincide with market bottoms. * **A constant NVT Signal (or sideways trend)** indicates that the current growth trend of both Market Cap and Transfer Volume are in equilibrium, suggesting the current market trend is sustainable. Such states are often reached during the early to mid phases of a bullish or bearish trend where the market direction is well established. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#how-is-it-measured) How is it measured? ---------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#user-guide) User Guide ----------------------------------------------------------------------------------------------------------- The chief concern with NVT Ratio is that while it tracks bullish/bearish trends fairly well, it lacks precision for identifying over-extensions in price action. Per the author Dmitry Kalichkin, the smoothing of transaction volume over 90 days made sense for the following reasons: _...cryptoassets exhibit reflexivity. In the short run, the price changes the fundamentals. In this case, transaction volume follows price._ _So why does a longer period average result in a better indicator? Intuitively it makes sense. By definition, the role of Transaction Volume in the NVT denominator is to be a proxy for fundamental utility that users get from using the network. A longer smoothing period helps to get rid of the reflexivity effects described above — spikes in transaction volume that follow sharp price increase. These irregularities are speculation-driven and are bad descriptors of fundamental intrinsic utility of the network. When we remove these irregularities, we end up with a better proxy for fundamental value in NVT denominator, and, as a result, the new NVT ratio becomes a better descriptor of price level._ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#indicator-signals) Indicator Signals The evaluation and deeper understanding of NVT Signal can be developed via focusing on two distinct time periods: * Regime 1: 2010 - Early 2018 * Regime 2: Early 2018 - Present **Regime 1** provides a more appropriate example for both NVT Ratio and NVT Signal whilst **Regime 2** is better analyzed via NVT Signal alone. It will be evident in its application below that NVT Signal shows large spikes at market tops, and thus provides timely signals for exiting near Bitcoin macro tops. This differs from the original NVT Ratio and provides additional edge to users of both metrics. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#regime-1) Regime 1 * **Red circles**: Large bearish over-extensions in price action, which signals massive divergence between value and utility. Opportunities to sell during peak euphoria. * **Orange box**: Bearish zone where value is consistently outpacing utility. Caution advised while these value prints are present. * **Green box**: Bullish zone where utility is consistently outpacing value. Historically a positive expected value period to commence accumulating. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#regime-2) Regime 2 * Colour scheme rules for **red circles**, **orange box**, and **green box** above apply here as per the description in Regime 1. * **Blue circles**: Large bullish over-extensions in price action, which signals massive divergence between value and utility. Opportunities to buy peak fear. * Bitcoin NVT Signal bottoms have been sharper in Regime 2, which could be attributable to the expansion of derivative products within BTC markets. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#about) About ------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#coined-by) Coined By Dmitry Kalichkin, February 2018 ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-signal#further-resources) Further Resources NVT Signal is simply a variation on the , using the 90 day moving average of daily transaction volume in the denominator instead of the raw daily transaction volume. NVT Signal\=Market Cap \[USD\]Transaction Volume \[USD\] (90 day moving average)\\textrm{NVT Signal} = \\frac{ \\textrm{Market Cap}~{\\color{gray}{{\[\\textrm{USD}\]}}} }{ \\textrm{Transaction Volume}~{\\color{gray}{{\[\\textrm{USD}\]}}}~{\\color{gray}{\\textrm{(90 day moving average)}}} }NVT Signal\=Transaction Volume \[USD\] (90 day moving average)Market Cap \[USD\]​ Herein the focus will be on NVT Signal and its application. For more on theory and a discussion on value versus utility, please see the documentation on . The key difference between these regimes is the upwards drift in NVT Ratio since early 2018. This drift can be attributed to many different things, such as off-chain flows (i.e. activity taking place on exchanges) experiencing a significant boom, an increase in BTC being held by low time-preference players (see ), or even an uptake in layer 2 activity (i.e. Lightning Network). Dmitry Kalichkin - 📖 [View NVT Signal in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Nvts) [View NVT Signal in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#nvt-signal) [NVT Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio#how-is-it-measured) [NVT Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio) [Illiquid Supply](https://studio.glassnode.com/metrics?a=BTC&category=Supply&ema=0&m=supply.IlliquidSum&mAvg=0&mMedian=0&s=1279411200&u=1632182400&zoom=) [Rethinking Network Value to Transactions (NVT) Ratio](https://medium.com/cryptolab/https-medium-com-kalichkin-rethinking-nvt-ratio-2cf810df0ab0) [NVT Ratio](https://docs.glassnode.com/guides-and-tutorials/metric-guides/nvt/nvt-ratio) ![Bitcoin: Network Value to Transactions Signal](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-264dc989ba77ef41f95361611c7f79e442dce05a%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ceffbfeb&sv=2) ![Bitcoin: Network Value to Transactions Signal](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-6de5b6fa1d994067bed99ea61af288080ca1b328%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=667dbfe5&sv=2) ![Bitcoin: Network Value to Transactions Signal](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-7fa164a0499c642b2a3f7b4174c602271c31f504%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=fed29ea9&sv=2) ![Bitcoin: Network Value to Transactions Signal](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-2af7c770296cf5dc5bd479c18f621c364d9060ac%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=beb149b&sv=2) --- # Liveliness | Glassnode Docs [PreviousReserve Risk](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk) [NextDormancy](https://docs.glassnode.com/guides-and-tutorials/metric-guides/dormancy) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#indicator-overview) Indicator Overview ----------------------------------------------------------------------------------------------------------------------- Liveliness is a metric which provides insights into shifts in macro HODLing behaviour, helping to identify trends in long term holder accumulation or spending. It highlights periods where coin days are being destroyed at a rate faster than the global network is accumulating them. Every day the network will accumulate one coin day per unit of circulating supply. Simultaneously, some of those coin days will be spent and destroyed in transactions, resetting the moved coins lifespan to zero. Liveliness is calculated by taking the ratio of cumulative coin days destroyed to the cumulative sum of all coin days ever accumulated by the network. Liveliness to vary between a value of 1 for a protocol where every coin is spent at once, and 0 for a protocol where no transaction has taken place. Analysis of metric values between the theoretical extremes of 1 and 0 can generally be considered within the following framework: * **Liveliness will decrease** when a high proportion of coin supply is dormant (i.e. HODLing behaviour) and the global coin day accumulation outpaces coin days destroyed in on-chain activity. * **Liveliness will trend sideways** where coin days destroyed are equal to the coin days accumulated by the circulating supply. * **Liveliness will increase** when long term holders begin spending old coins that have accumulated large volumes of coin days that exceed the rate of global coin day accumulation. The Liveliness metric can also be used to assign relative weight and confidence over the value of market cap valuations. Liveliness will be close to zero for assets with low liquidity and poor adoption but high market cap (either through pre-mined coins or wash transactions of the same units). [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------ Liveliness\=Cumulative CDDCumulative Total Supply\=value⋅lifespan \[blocks\] (of all outputs ever spent)value⋅lifespan \[blocks\] (of all outputs ever created)\\begin{align\*} \\textrm{Liveliness} &= \\frac{\\textrm{Cumulative CDD}}{\\textrm{Cumulative Total Supply}} \\\\\[0.5em\] &= \\frac{ \\textrm{value} \\cdot \\textrm{lifespan} ~{\\color{gray}{\\textrm{\[blocks\]}}} ~{\\color{gray}{\\textrm{(of all outputs ever spent)}}} }{ \\textrm{value} \\cdot \\textrm{lifespan} ~{\\color{gray}{\\textrm{\[blocks\]}}} ~{\\color{gray}{\\textrm{(of all outputs ever created)}}} } \\end{align\*}Liveliness​\=Cumulative Total SupplyCumulative CDD​\=value⋅lifespan \[blocks\] (of all outputs ever created)value⋅lifespan \[blocks\] (of all outputs ever spent)​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#video-tutorial) Video Tutorial --------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#user-guide) User Guide ------------------------------------------------------------------------------------------------------- Liveliness is a metric that compares the aggregate activity on-chain to the global lifespan of the network. The metric author provides a succinct summary of the mechanism that drives Liveliness to vary between a value of 1 (high activity) and 0 (no activity). > "Liveliness would temporarily reach 1 if all coins would move within a single block and remain at 0 for a blockchain that have not yet had a transaction other than issuance. Liveliness will trend down for a blockchain with dormant units and up for a vivid ecosystem." Blummer, Liveliness of Bitcoin As such, Liveliness can be interpreted from a number of angles: * **High values** suggest relative to global lifespan, on-chain activity, adoption and utility are high. * **Low values** suggest that relative to global lifespan, on-chain activity, adoption and utility are low. * **Increasing Liveliness** and metric uptrends suggests expansion in on-chain activity and/or indicate dormant coins with large lifespans being spent back into the economy, increasing liquid supply. This is can often be associated with smart money realising profits on old coins. * **Decreasing Liveliness** and metric downtrends suggest a reduction in on-chain activity and/or indicate that coins are entering a dormant state and maturing, removing liquid supply from circulation. This is can often be associated with smart money accumulating young cheap coins. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#example-application) Example Application Liveliness is powerful tool for identification of market cycles. Under the assumption that smart money HODLers accumulate cheap coins and sell expensive coins, we can use the overall trend of liveliness to assess their spending/saving behaviour. The chart below shows: * **Bull Markets**: HODLers spending expensive coins destroying accumulated coin days and leading to an uptrend in Liveliness (red) * **Bear markets**: HODLers accumulating cheap coins increasing dormancy and leading to a downtrend in Liveliness (green) * **Re-accumulation**: Balanced on-chain activity with coin days destroyed proportional to global coin day accumulation (blue) ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#recommended-settings) Recommended Settings * **Scale**: linear [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#about) About --------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness#further-resources) Further Resources Liveliness is defined as the ratio of the cumulative and the sum of all coin days ever created. The Glassnode may also be utilised to construct a simple 'Liveliness Ribbon' using the 30-day and 90-day moving averages. The Liveliness Ribbon has similar properties to the which tracks miner stress and expansion. The standard metric and the faster moving averages will expand upwards quickly in response to old coins being spent back into circulation, whilst slower moving averages will lag behind. This leads to ribbon expansion during periods where old coins are spent, and ribbon compression during periods of increasing coin dormancy. **Moving Averages:** none (default) with 30-day and 90-day in a ribbon via (December 2018) Tamas Blummer - 📖 [View Liveliness in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.Liveliness) [View Liveliness in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#liveliness) [Coin Days Destroyed](https://gitlab.com/glassnode/web/docs/-/blob/master/guides-and-tutorials/coin-days-destroyed/cdd-coin-days-destroyed.md) [Compare Tool](https://studio.glassnode.com/compare?a=BTC&a=BTC&a=BTC&a=BTC&axis=0&axis=1&axis=1&axis=1&c=&c=&c=&c=&e=&e=&e=&e=&m=market.PriceUsdClose&m=indicators.Liveliness&m=indicators.Liveliness&m=indicators.Liveliness&mAvg=0&mAvg=0&mAvg=30&mAvg=90&mMedian=0&mMedian=0&mMedian=0&mMedian=0&mScl=log&mScl=lin&mScl=lin&mScl=lin&miner=&miner=&miner=&miner=&resolution=24h&resolution=24h&resolution=24h&resolution=24h&s=1293800400&u=1615553999&zoom=) [Difficulty Ribbon](https://woobull.com/introducing-the-difficulty-ribbon-the-best-times-to-buy-bitcoin/) [Compare Tool](https://studio.glassnode.com/compare?a=BTC&a=BTC&a=BTC&a=BTC&axis=0&axis=1&axis=1&axis=1&c=&c=&c=&c=&e=&e=&e=&e=&m=market.PriceUsdClose&m=indicators.Liveliness&m=indicators.Liveliness&m=indicators.Liveliness&mAvg=0&mAvg=0&mAvg=30&mAvg=90&mMedian=0&mMedian=0&mMedian=0&mMedian=0&mScl=log&mScl=lin&mScl=lin&mScl=lin&miner=&miner=&miner=&miner=&resolution=24h&resolution=24h&resolution=24h&resolution=24h&s=1293800400&u=1615553999&zoom=) [Tamas Blummer](https://twitter.com/TamasBlummer) [Liveliness of Bitcoin](https://medium.com/@tamas.blummer/liveliness-of-bitcoin-174001d016da) ![Bitcoin: Liveliness](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-327aa7b3b1957ec78283b50b3b1588a135707c2d%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=7f40ecb3&sv=2) ![Bitcoin: Liveliness with Legend](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-202467c804264c10bcf97f7d371addf97fefc476%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=57353ae6&sv=2) ![Bitcoin: Liveliness Ribbon](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-51714b20704d63a3406f09aeb8c7487a989c2d87%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3bf9c5d1&sv=2) --- # Age Distribution | Glassnode Docs [HODL Waves](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves) [Realized Cap HODL Waves](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves) [PreviousSupply in Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss) [NextHODL Waves](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves) --- # Reserve Risk | Glassnode Docs [PreviousSupply-Adjusted CYD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cyd) [NextLiveliness](https://docs.glassnode.com/guides-and-tutorials/metric-guides/liveliness) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#indicator-overview) Indicator Overview --------------------------------------------------------------------------------------------------------------------------------------------- Reserve Risk is a cyclical indicator that tracks the risk-reward balance relative to the confidence and conviction of long-term holders. It provides a long-term cyclical oscillator that models the ratio between the current price (incentive to sell) and the conviction of long term investors (opportunity cost of not selling). The general principles that underpin Reserve Risk are as follows: * Every coin that is not spent accumulates coin-days which quantify how long it has been dormant. This is good tool for measuring the conviction of strong hand HODLers. * As price increases, the incentive to sell and realise these profits also increases. As a result, we typically see HODLers spending their coins as Bull Markets progress. * Stronger hands will resist the temptation to sell and this collective action builds up an 'opportunity cost'. Every day HODLers actively decide NOT to sell increases the cumulative unspent 'opportunity cost' (called the HODL bank). * Reserve Risk takes the ratio between the current price (incentive to sell) and this cumulative 'opportunity cost' (HODL bank). In other words, Reserve Risk compares the incentive to sell, to the strength of HODLers who have resisted the temptation. The Reserve Risk oscillator can be seen to oscillate in line with the macro bull/bear market cycles. It has well defined peaks in line with blow-off tops, and lengthy periods of relative undervaluation during bear market bottoms and into early bull markets. In general, Reserve Risk can be considered in the following framework: * **Reserve Risk is Low** when HODLer conviction is high, unspent opportunity cost is increasing, and price is low and thus, there is an attractive risk/reward to invest. * **Low Reserve Risk may signal relative undervaluation** and this process can be a lengthy and prolonged event. Accumulation of unspent opportunity cost takes time and coin maturity and thus Reserve Risk 'bottoms' often encapsulate late bear markets through to early bull markets. * **Reserve Risk is High** when HODLer conviction is low, unspent opportunity cost is decreasing, and price is high and thus, risk/reward is unattractive at that time. * **High Reserve Risk may signal relative Overvaluation** and this process is often a short lived and rapid event. Higher prices create a compounding influence of increases incentive to sell, higher realised profits and make it attractive to spend older with long lifespans. Thus Reserve Risk 'rallies' often encapsulate mid to late bull markets and reverse rapidly after blow-off tops. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#video-guide) Video Guide ------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#how-is-it-measured) How is it measured? ---------------------------------------------------------------------------------------------------------------------------------------------- **Step 1: Calculate Value of Coin-days Destroyed (VOCDD)** Value of CDD (VOCDD)\=∑(Price \[USD\]×Supply-Adjusted CDD) (Sum on Daily Basis)\\begin{align\*} \\textrm{Value of CDD (VOCDD)} &= \\sum{}(\\textrm{Price}~{\\color{gray}{\\textrm{\[USD\]}}} \\times\\textrm{Supply-Adjusted CDD} )~{\\color{gray}{\\textrm{(Sum on Daily Basis)}}} \\end{align\*}Value of CDD (VOCDD)​\=∑(Price \[USD\]×Supply-Adjusted CDD) (Sum on Daily Basis)​ **Step 2: Calculate HODL Bank** Each day a coin is held, the owner defers the ability to exchange it for its cash value. This deferred opportunity cost represents the conviction of HODLers and can be considered the aggregate 'unspent opportunity cost'. We quantify this by considering the difference between the current price (incentive to sell) and the median VOCDD (actual spending) giving us the remaining unspent 'opportunity cost'. _Note: we take the median of VOCDD to filter out transaction anomalies that may not be economically meaningful such as exchanges internally consolidating large coin balances._ This is the underlying principle of the HODL Bank metric which represents the cumulative unspent opportunity cost of the market holding the asset. HODL Bank is calculated as the lifetime cumulative sum of the daily difference between price and the median VOCDD. HODL Bank\=∑(Price−Median VOCDD) \[USD\] (Lifetime Cumulative Sum)\\begin{align\*} \\textrm{HODL Bank} &= \\sum{}(\\textrm{Price} - \\textrm{Median VOCDD} )~{\\color{gray}{\\textrm{\[USD\] (Lifetime Cumulative Sum)}}} \\end{align\*}HODL Bank​\=∑(Price−Median VOCDD) \[USD\] (Lifetime Cumulative Sum)​ **Step 3: Calculate Reserve Risk** Reserve Risk is then calculated by taking the ratio between current price (incentive to sell) and HODL Bank (cumulative unspent opportunity cost). Reserve Risk\=Price \[USD\]HODL Bank\\begin{align\*} \\textrm{Reserve Risk} &= \\frac{\\textrm{Price}~{\\color{gray}{\\textrm{\[USD\]}}}}{\\textrm{HODL Bank}} \\end{align\*}Reserve Risk​\=HODL BankPrice \[USD\]​​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#user-guide) User Guide ----------------------------------------------------------------------------------------------------------------------------- Reserve Risk is a powerful cyclical indicator that in considers the global conviction to hold the asset relative to current price (the incentive to realise profits). Aside from direct impact of price (the numerator), the principles underpinning Reserve Risk build on the foundation of the HODL Bank metric (the denominator). By baking in cumulative unspent opportunity cost as the denominator, over time, the weight of long-term holder conviction increases as coin dormancy increases. This results in two observations: * **Periods of undervaluation** are relatively long and often encapsulate the second half of bear markets and continue through to the first half of bull markets. * A Reserve Risk ratio below 0.0026 is empirically presented as an area of undervaluation based on historical performance. * **Periods of overvaluation** are often short and sharp, due to the compounding effects of higher prices and the subsequent incentive for long term holders to realise profits and spend old coins. * A Reserve Risk ratio above 0.0200 is presented as an empirical area of overvaluation based on historical observations and often occur only briefly at global market blow-off tops. Note that the Reserve Risk ratio is subject to exponential changes in magnitude due to having price in the numerator. As such, this typically necessitates visualisation on a logarithmic scale. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#what-reduces-reserve-risk) **What Reduces Reserve Risk?** **Decreasing Price** will first and foremost have an out-sized downwards influence on Reserve Risk being in the numerator of the ratio. Bearish markets therefore will depress the Reserve Risk metric. Red zones in chart below show where price is the dominant downwards influence on Reserve Risk. **High or Increasing HODL Bank** will reduce Reserve Risk in a more subtle manner, a result of having a larger term in the denominator. This implies that higher prices are required to create sufficient incentive for HODLers to sell under the assumptions of the Reserve Risk metric. When an asset is under accumulation and/or held for long periods of time, the collective unspent opportunity cost will begin to build up as fewer coin days are destroyed. This increases the magnitude of the HODL Bank metric resulting in a 'heavier' denominator and a higher implied global confidence. This will exert downwards influence on Reserve Risk. Yellow zones in the chart below show where price trades sideways and HODL Bank is the dominant influence on a decreasing Reserve Risk. This type of market behaviour is common in **late bear markets through to early bull markets** as smart money investors accumulate relatively cheap coins. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#what-increases-reserve-risk) **What Increases Reserve Risk?** **Increasing Price** will have an out-sized upwards influence on Reserve Risk being in the numerator of the ratio. Bullish markets will therefore will increase the Reserve Risk metric. **Low or Decreasing HODL Bank** will increase Reserve Risk in an exponential manner as a result of a smaller term in the denominator which typically occurs alongside higher prices (larger numerator). This implies that prices are sufficient for HODLers to realise profits and spent accumulated opportunity cost. Upwards influence via decreasing HODL Bank can be expected as more coins are spent back into the economy destroying accumulated coin lifespans, specifically the spending of unique coins and in high volume. This increases the total CDD at higher prices, increasing the median VOCDD and thus decreasing HODL Bank. Given this behaviour typically occurs at elevated prices, both the CDD and price inputs to VOCDD will have a compounding effect on increasing Reserve Risk. Unlike downwards changes in Reserve Risk which can be lengthy, slow and prolonged events, the influence of price on the upwards trajectory of Reserve Risk can be exponential and rapid in nature for the following reasons: * **Higher price increases the numerator** leads to a direct increase in Reserve Risk. * **Higher prices create more sellers** as every HODLer has a price at which the incentive to sell is sufficient to begin realising profits. * **Higher prices increases median VOCDD** as the USD value of each coin day destroyed is compounded by a higher price multiple. * **Selling old coins increases CDD** as coins held by long term holders with long accumulated lifespans are spent back into the economy. This type of spending behaviour is common in **mid to late bull markets** as smart money investors divest and sell relatively expensive coins shown in green zones on the chart below. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#about) About ------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/reserve-risk#further-resources) Further Resources Reserve Risk is calculated by taking the ratio between Price and HODL Bank. The derivation of Reserve Risk requires a number of calculation steps from the source metric of . For full documentation of the metric construction, please review the . Calculation of Reserve Risk starts with a derivative of the metric called VOCDD which calculates the USD value of all each day. (May 2019) Hans Hauge - 📖 [View Reserve Risk in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=indicators.ReserveRisk) [View Reserve Risk in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/indicators#reserve-risk) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [author's original paper](https://www.kanaandkatana.com/valuation-depot-contents/2019/5/30/exploration-of-bitcoin-days-destroyed) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [Supply-Adjusted CDD](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/supply-adjusted-cdd) [Hans Hauge](https://twitter.com/hansthered) [Introducing Binary Adjusted BDD, VOCD and Reserve Risk: An Exploration of Bitcoin Days Destroyed](https://www.kanaandkatana.com/valuation-depot-contents/2019/5/30/exploration-of-bitcoin-days-destroyed) ![Bitcoin: Reserve Risk](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-e5b3416a63226521a3b2ae4ffc589a78de42b724%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=a678a01&sv=2) ![Bitcoin: Reserve Risk (Declining Values)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-b2e4fb6b923c591f54b1e000fbf7698dedab7248%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=782268fa&sv=2) ![Bitcoin: Reserve Risk (Increasing Values)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-c26edf8a31fb5c6330e0ce08e628ddfe6d66e5b3%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=d33c169b&sv=2) --- # UTXOs in Profit | Glassnode Docs [PreviousPercent UTXOs in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit) [NextUTXOs in Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit#indicator-overview) Indicator Overview --------------------------------------------------------------------------------------------------------------------------------------------- UTXOs in Profit, as the name suggests, represents the absolute number of UTXOs in a given network which are currently in profit (i.e. the price at the time they were created is lower than the current price). This metric is helpful in highlighting market tops by suggesting when investors might be close to taking profits. It is important to note that unlike , UTXOs in Profit does not account for the _amount_ of profit - only the binary case of whether or not the UTXO is in profit. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit#how-is-it-measured) How is it measured? ---------------------------------------------------------------------------------------------------------------------------------------------- UTXOs in Profit is calculated by determining which UTXOs were created when the price was lower than the current price (i.e. the price has increased since the UTXOs were created). It represents the total absolute number of those UTXOs. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit#about) About ------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit#date-introduced) Date Introduced November 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------- UTXOs in Profit\=number of all UTXOs where price \> pricecreated\\textrm{UTXOs in Profit} = {\\color{gray}{\\textrm{number of all UTXOs where price $>$ price$\_\\textrm{created}$}}}UTXOs in Profit\=number of all UTXOs where price \> pricecreated​ Rafael Schultze-Kraft - 📖 [View UTXOs in Profit in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=blockchain.UtxoProfitCount) [View UTXOs in Profit in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxos-in-profit) [Glassnode](https://twitter.com/glassnode/) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [Unrealized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit) ![Bitcoin: UTXOs in Profit](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-264d3b93a8801240ea4e2f16ae99258f7d9a2698%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3d790da8&sv=2) --- # API Key | Glassnode Docs [PreviousIntroduction](https://docs.glassnode.com/basic-api/api) [NextAPI Credits](https://docs.glassnode.com/basic-api/api-credits) Last updated 5 months ago [](https://docs.glassnode.com/basic-api/api-key#how-to-get-api-access) How to get API access ------------------------------------------------------------------------------------------------- Please note that API access is not included in the Professional Plan by default. It is available as an optional add-on that Professional Plan subscribers can purchase. If you would like to explore purchasing the API add-on or upgrading your account, please contact our [Institutional team](https://studio.glassnode.com/pricing?modal=upgrade&upgradePlan=professional) . Once you've upgraded to receive API accessyou can generate an API key by clicking on the user icon in the top right corner of [Glassnode Studio](https://studio.glassnode.com/) . In the dropdown, you'll find the [API option](https://studio.glassnode.com/settings/api) . For a detailed overview of the metrics included in your plan, please refer to our [metrics catalogue](https://docs.glassnode.com/data/metric-catalog) and the [pricing page](https://studio.glassnode.com/pricing) . [](https://docs.glassnode.com/basic-api/api-key#usage) Usage ----------------------------------------------------------------- Specify the `api_key` query parameter or `X-Api-Key` header with your API key with all endpoints. #### [](https://docs.glassnode.com/basic-api/api-key#example-using-curl) Example using `cURL` Copy export API_KEY=YOUR-KEY # using query parameter curl "https://api.glassnode.com/v1/metrics/indicators/sopr?a=btc&api_key=$API_KEY" # using request header curl -H "X-Api-Key:${API_KEY}" "https://api.glassnode.com/v1/metrics/indicators/sopr?a=btc" #### [](https://docs.glassnode.com/basic-api/api-key#example-using-http) Example using `http` Copy export API_KEY=YOUR-KEY # using query parameter http "https://api.glassnode.com/v1/metrics/assets" api_key==$API_KEY # using request header http "https://api.glassnode.com/v1/metrics/assets" "X-Api-Key:${API_KEY}" #### [](https://docs.glassnode.com/basic-api/api-key#example-using-python) Example using `Python` Copy import json import requests import pandas as pd # insert your API key here API_KEY = '' # make API request res = requests.get('https://api.glassnode.com/v1/metrics/indicators/sopr', params={'a': 'BTC', 'api_key': API_KEY}) # convert to pandas dataframe df = pd.read_json(res.text, convert_dates=['t']) --- # On-chain Glossary | Glassnode Docs Terminology Synonyms Description Unspent Transaction Output (UTXO) Coin, Transaction Output The accounting system at the protocol layer for blockchains like Bitcoin and Litecoin. All unspent units of the native currency are stored a list of UTXOs owned/held by user wallets/private keys. Analogy: A UTXO is somewhat equivalent to a dollar bill (e.g. $5, $10, $50 etc) although may be of any denomination of the native blockchain currency. Spent Output Coin moved, UTXO destruction A UTXO destroyed by the owner by broadcasting a spending transaction to the network which is subsequently confirmed by miners/validators. Unspent Output Unspent coin, UTXO creation A UTXO created and held in the owner's wallet. Change Change-adjusted A UTXO that is determined by Glassnode heuristics to be the left-over change that is returned to a users wallet after a payment to another destination is made. Address Public Key A public key which represents the source or destination of a blockchain payment. Wallet Private Key A private key that owns all coins associated with the addresses derived from the public-private key-pair. A single wallet may own multiple addresses. Entity On-chain entity, Unique entity An entity is a collection of addresses or wallets that Glassnode heuristics and labelling has determined are owned by the same unique owner. For example, a cluster of user deposit addresses maybe owned by a single exchange which would be then be defined as a unique entity. Balance \- Total sum of value held by a single address, entity or wallet. Supply \- The sum of native coin units within the specified grouping (e.g. circulating supply, supply held by wallets > 1k etc). Value UTXO value, Coin volume The value held in a UTXO, account or wallet denominated in the native currency (i.e. BTC, ETH etc). Lifespan Age For UTXO based chains: The accumulated time between the creation and destruction of a UTXO. For account based chains: The time since a coin was last moved. Coin-days CDD The unit of Lifespan (value x time) Dormant Remains unspent A descriptor indicating that a coin/UTXO has not been spent and thus is currently accumulating lifespan. Realized Realised value The difference in fiat denominated value between the time when a coin was last moved (UTXO creation), and at the time when a coin is spent (UTXO destroyed). Unrealized Unrealized value The difference in fiat denominated value between the time when a coin was last moved (UTXO creation), and at current price indicative of the profit/loss that would be realized if the coin were to be spent. Short-Term Holder STH A cohort of on-chain entities associated with own coins that have a lifespan less than 155-days. These coins are statistically more likely to be spent. Long-Term Holder LTH A cohort of on-chain entities associated with own coins that have a lifespan more than 155-days. These coins are statistically less likely to be spent. [PreviousEntity-Adjusted Metrics](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics) [NextUnderstanding UTXOs - The Gold Coin Analogy](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/understanding-utxos-the-gold-coin-analogy) Last updated 2 months ago 📖 --- # Percent Supply in Profit | Glassnode Docs [PreviousProfit/Loss (Supply)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply) [NextSupply in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit#indicator-overview) Indicator Overview -------------------------------------------------------------------------------------------------------------------------------------------------------- A if the current price is higher than the price at the time it was last moved. Conversely, a if the current price is lower than the price at the time it was last moved. Percent Supply in Profit highlights the percentage of the total supply which is currently in profit. This metric represents an oscillator that allows us to better understand the current state of the market for a given coin: in general, values above 95% suggest market tops, while values below 5% signal bottoms. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit#how-is-it-measured) How is it measured? --------------------------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit#about) About ------------------------------------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit#date-introduced) Date Introduced November 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------------------ Percent Supply in Profit is calculated by dividing the absolute by the total circulating supply and converting to a percentage. Percent Supply in Profit\=100⋅Supply in ProfitTotal Supply\\textrm{Percent Supply in Profit} = 100 \\cdot \\frac{\\textrm{Supply in Profit}}{\\textrm{Total Supply}}Percent Supply in Profit\=100⋅Total SupplySupply in Profit​ Rafael Schultze-Kraft - 📖 [View Percent Supply in Profit in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=supply.ProfitRelative) [View Percent Supply in Profit in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/supply#percent-supply-in-profit) [Supply in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit) [Glassnode](https://twitter.com/glassnode/) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [coin is in profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit) [coin is in loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss) ![Bitcoin: Percent Supply in Profit](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-166edbacffcb6cc3858e9166ea169a1db8599235%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=74938119&sv=2) --- # On-Chain Concepts | Glassnode Docs [Entity-Adjusted Metrics](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics) [On-chain Glossary](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/on-chain-glossary) [Understanding UTXOs - The Gold Coin Analogy](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/understanding-utxos-the-gold-coin-analogy) [UTXO vs. Account-Based Chains](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains) [PreviousUTXOs in Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss) [NextEntity-Adjusted Metrics](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics) --- # Percent UTXOs in Profit | Glassnode Docs [PreviousProfit/Loss (UTXO)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo) [NextUTXOs in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit#indicator-overview) Indicator Overview ----------------------------------------------------------------------------------------------------------------------------------------------------- A is if the current price is higher than the price at the time it was created. Conversely, a UTXO is if the current price is lower than the price at the time it was created. Percent UTXOs in Profit highlights the percentage of the total set of UTXOs which are currently in profit. In general, higher values may suggest market tops, while lower values may signal bottoms. However, and can often provide a clearer signal of tops and bottoms based on the same concept of examining average profit and loss across a network. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------------------------------ Percent UTXOs in Profit\=100⋅UTXOs in ProfitNumber of UTXOs\\textrm{Percent UTXOs in Profit} = 100 \\cdot \\frac{\\textrm{UTXOs in Profit}}{\\textrm{Number of UTXOs}}Percent UTXOs in Profit\=100⋅Number of UTXOsUTXOs in Profit​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit#about) About --------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit#date-introduced) Date Introduced November 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit#further-resources) Further Resources --------------------------------------------------------------------------------------------------------------------------------------------------- Percent UTXOs in Profit is calculated by dividing the absolute number of by the total number of UTXOs and converting to a percentage. Rafael Schultze-Kraft - 📖 [View Percent UTXOs in Profit in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=blockchain.UtxoProfitRelative) [View Percent UTXOs in Profit in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/blockchain#percent-utxos-in-profit) [UTXOs in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit) [Glassnode](https://twitter.com/glassnode/) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [UTXO](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#utxo-unspent-transaction-output-chains) [in profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit) [in loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss) [Percent Supply in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit) [Net Unrealized Profit/Loss (NUPL)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/nupl-net-unrealized-profit-loss) ![Bitcoin: Percent UTXOs in Profit](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-361fe28ef61176cceb113700a1a9620882fa800b%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=b6e67cb&sv=2) --- # Introduction | Glassnode Docs [PreviousWorkbench Guide](https://docs.glassnode.com/guides-and-tutorials/workbench-guide) [NextAPI Key](https://docs.glassnode.com/basic-api/api-key) Last updated 6 months ago The Glassnode API offers live and historical **on-chain and crypto market data** delivered through a single REST API, providing an easy-to-access and uniform gateway to all metrics available on Glassnode. ### [](https://docs.glassnode.com/basic-api/api#get-api-access) Get API Access ### [](https://docs.glassnode.com/basic-api/api#your-benefits) Your Benefits #### [](https://docs.glassnode.com/basic-api/api#easy-access) **Easy Access** The technical overhead for accessing and digesting data from blockchains and exchanges is high. Our API offers a single and standardi**s**ed entrypoint to an ever-growing set of metrics, providing an easy-to-access and uniform gateway to on-chain and crypto-financial data. #### [](https://docs.glassnode.com/basic-api/api#robust-infrastructure) **Robust Infrastructure** Our API is backed by a highly scalable and robust infrastructure, incorporating best practices in distributed systems architecture to fulfil our commitment to reliability and uptime. We run our own nodes, parse and process all data in-house, and have thorough monitoring and alerting of all our systems. #### [](https://docs.glassnode.com/basic-api/api#quality-data) **Quality Data** Data quality is our highest priority. In order to ensure first-grade data, all our metrics undergo a rigorous QA procedure by our in-house data team before being deployed to production. #### [](https://docs.glassnode.com/basic-api/api#cutting-edge-metrics) **Cutting-Edge Metrics** With the right metrics, blockchain data can provide insights that go far beyond simple aggregate statistics. By applying state-of-the-art methods from data science to extract patterns and trends, we provide contextualised and highly curated insights. Leverage powerful live and historical on-chain and crypto market data, delivered through a single REST API for your algorithmic needs. Please note that API access is only available to Professional plan subscribers who purchase the API add-on. If you're not on the Professional plan and would like to explore upgrading your account, please . ⚙️ [contact our institutional team](https://glassnode.com/contact-sales) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-61d74d66a49a44cc54d62900b1064d4f08d1588c%252F1000w_logo_api_black.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=309799db&sv=2) --- # Endpoints | Glassnode Docs [Addresses](https://docs.glassnode.com/basic-api/endpoints/addresses) [Bridges](https://docs.glassnode.com/basic-api/endpoints/bridges) [Blockchain](https://docs.glassnode.com/basic-api/endpoints/blockchain) [Breakdowns](https://docs.glassnode.com/basic-api/endpoints/breakdowns) [DeFi](https://docs.glassnode.com/basic-api/endpoints/defi) [Derivatives](https://docs.glassnode.com/basic-api/endpoints/derivatives) [Distribution](https://docs.glassnode.com/basic-api/endpoints/distribution) [Entities](https://docs.glassnode.com/basic-api/endpoints/entities) [ETH 2.0](https://docs.glassnode.com/basic-api/endpoints/eth2) [Fees](https://docs.glassnode.com/basic-api/endpoints/fees) [Indicators](https://docs.glassnode.com/basic-api/endpoints/indicators) [Institutions](https://docs.glassnode.com/basic-api/endpoints/institutions) [Lightning](https://docs.glassnode.com/basic-api/endpoints/lightning) [Market](https://docs.glassnode.com/basic-api/endpoints/market) [Mempool](https://docs.glassnode.com/basic-api/endpoints/mempool) [Mining](https://docs.glassnode.com/basic-api/endpoints/mining) [Point-In-Time](https://docs.glassnode.com/basic-api/endpoints/pit) [Protocols](https://docs.glassnode.com/basic-api/endpoints/protocols) [Signals](https://docs.glassnode.com/basic-api/endpoints/signals) [Supply](https://docs.glassnode.com/basic-api/endpoints/supply) [Transactions](https://docs.glassnode.com/basic-api/endpoints/transactions) [PreviousBulk metrics (beta)](https://docs.glassnode.com/basic-api/bulk-metrics) [NextAddresses](https://docs.glassnode.com/basic-api/endpoints/addresses) Last updated 1 year ago --- # HODL Waves | Glassnode Docs [PreviousAge Distribution](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution) [NextRealized Cap HODL Waves](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------------------- HODL Waves present a macro view of the age distribution of the coin supply and provides insight into changes to this age distribution arising from holding and spending behaviour. The metric bundles the coin supply into categories depending on age, and presents it in colour bands with a thickness proportional to the total coin supply. HODL Waves thus provide a macro view of both the age distribution of the existing supply, and of changes to this distribution as coins mature and are spent. Changes in coin maturity as a result of spending or accumulation behaviour will be reflected in changes in HODL Wave band thicknesses over time. HODL Waves can generally be considered within the following framework: * **Thickness of HODL wave bands** represents the proportion of the total coin supply that is categorised into that age band. * **Accumulation and HODLing** behaviour will result in coin maturation (young to old) as an increased proportion of coins move from younger age bands (warm colours) into older age bands (cool colours). This indicates an increased long-term conviction to accumulate and hold the asset and an associated decrease in liquid circulating supply. * **Spending old coins** back into the economy (old to young) will result in the proportion of warmer colour bands increasing. This may suggest a reduced long-term conviction to hold the asset and an increase in liquid circulating supply as old coins are re-activated after a period of dormancy. * **Spending young coins** will reclassify them as young coins with immediate effect on the younger age band volume. * **Maturation of young coins** into old coins will always be delayed by the time for coins to reach the lower bound of the older age bracket before they are reclassified into new HODL wave bands. More detailed analysis on particular sub-sets of age bands can be achieved by turning off/on different legend items. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#how-is-it-measured) How is it measured? ----------------------------------------------------------------------------------------------------------------------------------------- Active supply bands are measured by calculating the number of coins that have been transacted within the specified time window. HODL Waves aggregates and stacks the following active supply bands in relative proportion to the total coin supply: * <1d * 1d-1w * 1w-1m * 1-3m * 3-6m * 6-12m * 1-2y * 2-3y * 3-5y * 5-7y * 7-10y * \>10yr [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#video-tutorial) Video Tutorial -------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#user-guide) User Guide ------------------------------------------------------------------------------------------------------------------------ HODL Waves provide a macro view of the age of coins as a proportion of total coin supply. This provides a gauge on the balance between short term and long term holdings. It can also indicate where changes in this age distribution occur as the thickness of HODL wave bands change in response to dormant coins maturing, or when old coins are spent, resetting their age into the youngest category. The metric can be utilised for both aggregate big picture analysis and also for detailed analysis of a specific sub-set of spending behaviour. In general, we can classify a few larger sets of coins based on their age brackets: * **Lost or Ancient Coins (dark cool colours):** Coins older than 5-years are very rarely spent and in many instances are assumed to be either lost, or discounted from freely circulating supply. Over time these age colour bands tend to steadily increase as lost coins will continue to mature in perpetuity. * **Old Coins (cool colours):** Coins that are older than 1-year up to 5-years old are often assumed to be owned by HODLers/smart money investors. These entities are often assumed to accumulate cheap coins in bear markets, HODL in cold storage for long periods of time and then sell expensive coins into bull market strength. Older colour bands tend to oscillate in thickness over market cycles, swelling after periods of accumulation and thinning out as coins are spent. * **Young Coins (warm colours):** Coins younger than 6 months are generally considered young coins which also make up the majority of day-to-day transaction volumes. Many young coins are held by both speculative short term investors/traders and are the most likely to be re-spent many times, thus remaining young. These colour bands tend to oscillate in reverse to old coins, swelling as old coins are spent and shrinking as young coins become dormant and mature. * **HODLers will accumulate** a portion of young coins and transfer them into cold storage where they gradually mature. There will be a time lag between this accumulation and swelling of older age colour bands. This time lag will be equal to the lowest age of each category bracket and thus interpretation of coins maturing should consider this time offset. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#example-application) Example Application The legend items for the HODL waves can be clicked and turned on/off for more detailed analysis of specific coin age categories of interest. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#young-coins) **Young Coins** The chart below presents a view where all coins older than 6 months are turned off making the proportion of young, recently moved coins stand out clearly. We can see that particularly around bull market peaks, there is a marked increase in young coin supply as older coins are spent and profits realised into market strength. This provides insight into the times when smart money investors with long time horizons are spending and re-activating dormant coins. This may increase the liquid circulating supply if those coins are sold. It is important to note that the spending of old coins will have immediate effect on the thickness of the youngest coin HODL wave colour band. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#old-coins) Old Coins The chart below presents a view where only coins aged between 1-year and 5-years are turned on to demonstrate the oscillation of coin dormancy between cycles. Here we ignore ancient and lost coins (>5yrs) given their low probability of being spent back into circulation. We also ignore young coins to make changes in older coin supply clearer. Old coin supply bands tends to peak in the during and following bear markets and into early bull markets due to the maturation time lag. * **Yellow 1yr to 2yr brackets** will start to increase first as coins accumulated during the early bear market begin to mature. * **Green 2yr+ bands** then swell a year later until these HODL waves start to decline as old coins are spent into bull market strength. This represents the realisation of profits by long term holders and smart money investors. Unlike young coins, the maturation of coins into older colour bands will always be offset by the lower bound age of the bracket. For example, swelling of the 2 to 3-yr age band due to a large coin withdrawal will only commence 2-years after the coins were moved. As such interpretation must account for this time offset in each age bracket under consideration. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#recommended-settings) Recommended Settings * Default for aggregate overview of HODLing behaviour. * Turning off and on various lifespan categories for more detailed insights. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#about) About -------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves#further-resources) Further Resources Active Supply\=value (of all UTXOs where t−tcreated is in selected age band)\\begin{align\*} \\textrm{Active Supply} = \\textrm{value}~&{\\color{gray}{\\textrm{(of all UTXOs where}}} \\\\ &{\\color{gray}{~\\textrm{$t - t\_\\textrm{created}$ is in selected age band)}}} \\end{align\*}Active Supply\=value ​(of all UTXOs where t−tcreated​ is in selected age band)​ , (April 2018) Dhruv Bansal - 📖 [View HODL Waves in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=supply.HodlWaves) [View HODL Waves in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/supply#hodl-waves) [Dhruv Bansal](https://twitter.com/dhruvbansal) [Unchained Capital](https://twitter.com/unchainedcap) [Bitcoin Data Science (Pt. 1): HODL Waves](https://www.unchained-capital.com/blog/hodl-waves-1/) ![Bitcoin: HODL Waves](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-5dbfe0d88c8c5b22b68c5e29d56d18580b25384b%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=7dcedc58&sv=2) ![Bitcoin: HODL Waves with Maturing and New Young Coins marked](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-01fed9154dce109f3cb821e10ca3586bfebc93a6%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=cfb0f87c&sv=2) ![Bitcoin: HODL Waves (Coins Younger than 6mths)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-2222d080bfa725a2518253df284edccf9d135fb3%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f5589838&sv=2) ![Bitcoin: HODL Waves (Coins Aged 1yrs to 5yrs)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-a6e9fe0a2ae7df32e38595db360b008007829289%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=56dd7633&sv=2) --- # UTXO vs. Account-Based Chains | Glassnode Docs [PreviousUnderstanding UTXOs - The Gold Coin Analogy](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/understanding-utxos-the-gold-coin-analogy) [NextWorkbench Guide](https://docs.glassnode.com/guides-and-tutorials/workbench-guide) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#utxo-unspent-transaction-output-chains) UTXO (Unspent Transaction Output) Chains ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#what-is-a-utxo-chain) What is a UTXO chain? UTXO stands for "Unspent Transaction Output". A UTXO chain is simply a blockchain which uses the UTXO accounting method (such as the Bitcoin and Litecoin blockchains), as opposed to an accounting method. On the protocol layer of UTXO chains, there are no accounts or wallets. Instead, coins are stored as a list of UTXOs. The term "unspent transaction output" is a reference to the fact that a UTXO represents the _output_ of a _transaction_ received by a user, which that user can spend in the future (as it is still "_unspent_"). It is another way of referring to a balance of coins (e.g. BTC) controlled by a specific address. Under this model, transactions are created by consuming existing UTXOs and producing new ones in their place. UTXOs can be divided or combined to reach the denomination required in a given transaction. This concept can be illustrated with an analogy to cash. ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#how-do-utxos-work) How do UTXOs work? #### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#utxos-are-like-cash) UTXOs Are Like Cash Each UTXO can be compared to a bill or coin. If you have $50 in cash, there are a number of different combinations you might have: * A single $50 bill * Five $10 bills * Ten $5 bills * Four $10 bills and two $5 bills * and so on... In each of these cases, despite having a different number of bills, you always have exactly $50. UTXOs behave in the same way; when you see a single balance in your crypto wallet, this may actually be made up of any number of UTXOs, based on your past transaction history. When added together, these UTXOs sum to the total balance held in your specific wallet address. #### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#change-in-utxo-models) "Change" in UTXO Models Also like cash, UTXOs cannot be divided. Take the example of buying a cup of coffee which costs $3.75; if you only have five $10 bills, you must over-pay (by handing over $10) and receive change - in this case, $6.25 in change. UTXOs behave in a similar fashion. Just as you can't tear off a piece of your $10 bill to pay for your coffee, you cannot send part of a UTXO. If you want to send someone 3.75 BTC, but only have a UTXO worth 10 BTC in your wallet, you must send the entire UTXO to the recipient and then receive change, just like you would when paying in cash. (Of course, this process is handled by the blockchain protocol, and doesn't require you to trust the recipient to return your change). As such, when you made this transfer, the recipient would receive 3.75 BTC, and the remaining 6.25 in "change" would be sent back to your address as a new, smaller UTXO. What if you wanted to send someone 13.75 BTC? Again, the situation is the same as with cash. You would have to send two UTXOs (just like handing over two $10 bills); one would be completely used up, and the other would necessitate change being sent back to you in the form of a new UTXO. #### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#how-are-utxos-different-from-cash) How are UTXOs different from cash? While the "UTXOs as cash" analogy is helpful for understanding the basic concept, there are a few places in which the analogy breaks down. First, transactions conducted on a blockchain also require the payment of transaction fees, which are deducted from the amount of change you get in return - unlike when paying in cash. Second, fiat bills and coins are fixed in value. You can't get a $6.25 bill as change when you pay for your coffee. Conversely, UTXOs can come in any amount. ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#why-are-utxos-important) Why are UTXOs important? #### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#on-chain-metrics) On-Chain Metrics Examining and tracking UTXOs is an excellent way of getting data about on-chain activity. The size, age, and number of UTXOs transferred on a given blockchain provides some compelling signals, which have been turned into a number of core on-chain metrics. #### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#change-adjustments) Change Adjustments [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#account-based-chains) Account-Based Chains -------------------------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#what-is-an-account-based-chain) What is an account-based chain? Unlike UTXO chains, in which coins are uniquely referenced, account-based chains (such as the Ethereum and EOS blockchains) represent coins as balances within an account. Accounts can be controlled by a private key, or by a smart contract - and account-based models are mostly popular among smart contract-focused blockchains. ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#how-do-account-based-chains-work) How do account-based chains work? Account-based models are simpler than UTXO models; they can be treated as similar to bank accounts, which represent user balances within a single account and allow for deposits and withdrawals in and out of that account. Under the account-based model, unlike with UTXOs, balances can be partially spent. For example, if you have 10 ETH, you can send someone 3.75 ETH directly from your account, and the result of this transaction is that you now have 6.25 ETH and the other person has 3.75 ETH. You don't have to send the full 10 ETH and then receive 6.25 ETH in change, as you would on a UTXO chain. ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#why-are-account-based-chains-important) Why are account-based chains important? #### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#on-chain-metrics-1) On-Chain Metrics Account-based chains also have some unique metrics which can be derived from their on-chain data, such as gas fees. Further, because some of these chains (such as Ethereum) support many assets, they contain many more sources for exploration of on-chain data. The concept of is important for understanding several on-chain metrics, especially filters and adjustments. Because change necessitates new UTXOs being created and transferred, it can add a lot of noise to on-chain metrics which look at the number and size of UTXOs (such as or ). As such, identifying and adjusting for change provides a more realistic signal of economic activity on-chain. Several prominent on-chain indicators (such as or ) rely on looking at UTXOs to determine certain patterns in economic activity on-chain. However, applying these metrics to account-based chains has traditionally been complex, making the structure of a chain an important factor in determining the extent to which valuable on-chain data can be extracted from it. Despite these complexities, Glassnode is pioneering the process of applying UTXO-focused metrics to account-based chains. 📖 [account-based](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#account-based-chains) [change](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains#utxos-are-like-cash) [SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [Coin Days Destroyed](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) [SOPR](https://docs.glassnode.com/guides-and-tutorials/metric-guides/sopr/sopr-spent-output-profit-ratio) [Coin Days Destroyed](https://docs.glassnode.com/guides-and-tutorials/metric-guides/coin-days-destroyed/cdd-coin-days-destroyed) --- # Bulk metrics (beta) | Glassnode Docs Bulk endpoints are a specialized extension of our classical metric endpoints, designed for scenarios where fetching data for multiple assets or parameter combinations in a single request is essential. While our classical endpoints are ideal for most use cases, fetching data systematically for a large number of assets or combinations will require an impractical number of API calls. Bulk endpoints address this need by providing metric values for all parameter combinations (some parameters excepted, see request format section) in a single response, accessible under `/bulk`. To find out if a metric has a bulk variant, view the `bulk_supported` response field from the `metadata/metric` endpoint (set `path` query parameter to the regular metric's path). #### [](https://docs.glassnode.com/basic-api/bulk-metrics#bulk-endpoints-and-api-credits) Bulk Endpoints and API Credits Please note that bulk endpoints consume more API credits than usual API calls. Each request to a bulk endpoint will cost as many API credits as the individual calls to the API would have. For instance, calling the `/market/mvrv/bulk` endpoint with 5 assets will consume 5 API credits. This also applies to parameters such as network and exchanges. If for instance a bulk request has 5 assets and 5 exchanges then this will consume 25 API credits (1 for each combination's metric value). We therefore recommend always specifying parameters like assets (`a`), exchanges (`e`), and networks (`n`) to control the credits used. Available assets and networks per endpoint can be found in the API documentation or the Metadata endpoints. The history of data does not incur additional credits but is limited by default depending on the resolution (`i`). [](https://docs.glassnode.com/basic-api/bulk-metrics#request-format) Request format ---------------------------------------------------------------------------------------- Bulk metric requests support the same parameters as the regular metric. However, the semantics of parameters are different besides the following set of unchanged parameters: * since parameter `s` * until parameter `u` * resolution parameter `i` (defaults to `24h`) * currency parameter `c` (defaults to `NATIVE`) * format parameter `f` (defaults to `json`, note: for now only JSON responses are supported) Remaining parameters are optional whitelists. Unlike the regular metric they can be set to multiple values by specifying the parameter multiple times in the query parameters. For example`/v1/metrics/addresses/active?a=BTC&a=ETH` applies the `[BTC, ETH]` whitelist to `a`, resulting in a response with bulk entries filtered on either of these assets. If not set, no filter is applied and all values of the parameter are included in the response. To view what parameters are supported and what values these may be filtered on, view the `metadata/metric` endpoint with `path` set to the regular metric's path. [](https://docs.glassnode.com/basic-api/bulk-metrics#response-format) Response format ------------------------------------------------------------------------------------------ Bulk metric responses contain the values for every parameter combination at each timestamp in the timeseries. To accommodate this the response format replaces the `v` and `o` components of the regular metric's response with a `bulk` component. If the regular metric is of `v` response format, `bulk` is of the following format:`[{: , "v": }]`. If the regular metric is of `o` response format, `bulk` is of the following format:`[{: , "category": , "v": }]`. Aggregations are expected to be computed client-side, therefore the special `aggregated` values of `` and `` are by default excluded. If you do want `aggregated` results it has to be explicitely enabled by including it into the whitelist for the parameter in the query parameters (eg: `.../bulk?e=aggregated`). Bulk timeseries are placed under a root level `data` key, to reserve space for any possible metadata we may add to the response in a later release. ### [](https://docs.glassnode.com/basic-api/bulk-metrics#response-example-v-metric) Response example: `v` metric If a metric with `v` response format has parameters: * asset parameter `a` * exchange parameter `e` then the bulk metric variant will have the following response format (with example values): Copy { 'data': [{\ 't': 1738657600,\ 'bulk': [{\ 'a': 'BTC',\ 'e': 'bitfinex',\ 'v': 123\ },\ {\ 'a': 'BTC',\ 'e': 'binance',\ 'v': 12\ },\ {\ 'a': 'ETH',\ 'e': 'bitfinex',\ 'v': 456\ }]\ }] } ### [](https://docs.glassnode.com/basic-api/bulk-metrics#response-example-o-metric) Response example: `o` metric If a metric with `o` response format has parameters: * asset parameter `a` And has following keys in the `o` response: * `1d_1w` * `more_10y` Then the bulk metric variant will have the following response format (with example values): Copy { 'data': [{\ 't': 1738657600,\ 'bulk': [{\ 'a': 'BTC',\ 'category': '1d_1w',\ 'v': 123\ },\ {\ 'a': 'BTC',\ 'category': 'more_10y',\ 'v': 12\ },\ {\ 'a': 'ETH',\ 'category': '1d_1w',\ 'v': 45\ },\ {\ 'a': 'ETH',\ 'category': 'more_10y',\ 'v': 456\ }]\ }] } [](https://docs.glassnode.com/basic-api/bulk-metrics#timerange-constraints) Timerange constraints ------------------------------------------------------------------------------------------------------ The maximum queryable timerange within 1 bulk request is restricted: * for `10m` and `1h` resolutions: 10 days * for `1d` resolution: 31 days * for `1w` and `1month` resolutions: 93 days [](https://docs.glassnode.com/basic-api/bulk-metrics#closing-remarks) Closing remarks ------------------------------------------------------------------------------------------ * There are a few metrics where we dont fill missing values in the bulk response (even though we do do that in the regular metric), this is intentional as otherwise the bulk response size for these few metrics would become excessively large with majority of datapoints representing filled missing values. [PreviousMetadata](https://docs.glassnode.com/basic-api/metadata) [NextEndpoints](https://docs.glassnode.com/basic-api/endpoints) Last updated 2 months ago ⚙️ --- # Affiliate FAQs | Glassnode Docs [PreviousSupport FAQ](https://docs.glassnode.com/further-information/faq) [NextExchange Data: Transparency Notice](https://docs.glassnode.com/further-information/exchange-data-transparency-notice) Last updated 3 months ago **How does the Affiliate Program work?** Our Affiliate Program rewards you for referring new customers to Glassnode by giving you a share of the revenue you help generate. There are a few important conditions to keep in mind: * The referred user must use your custom affiliate link to visit the Glassnode website * The referred user must be a new customer * The referred user must make a purchase and not cancel their subscription or initiate a chargeback. **Can I join the Affiliate Program?** Yes, anyone who abides by our can join our program. **What is the commission model?** Our commission model is simple: * You receive 20% of the revenue for the first year on Advanced plan sign-ups. * You receive 10% of the revenue for the first year on Professional plan sign-ups. * You receive commissions for the first year of each referral’s subscription. **Can I offer a special discount to my audience?** Yes, users who come to Glassnode via your affiliate link will receive a special 10% discount on their first purchase. If you would like to offer a different discount, please get in touch: **Does a referred customer have to purchase a plan immediately for me to receive commission?** A user who visits Glassnode via your affiliate link is counted for 90 days. This means that you receive your revenue share for users who make a purchase up to 90 days after you initially referred them. **Why is there a 2-month delay on pay-outs?** To prevent fraud, we have implemented a 2-month delay on reward pay-outs. This is to ensure fraudulent actors don’t try to take advantage of the system. **Is there a pay-out threshold?** Yes, there’s a payout threshold of $150 to reduce fees incurred by small payments. This means that affiliates will need to earn $150 or more to trigger a payout. **What is the difference between “Referral count” and “Confirmed referrals”?** * Referral count: Total number of purchases made using your affiliate link. * Confirmed referrals: Referrals that have not initiated refunds, cancellations, or chargebacks. Once a referred customer passes the 2-month mark, they will be added to your “Confirmed referrals” and you will be eligible to receive the commission. **If a referred customer makes a purchase and then upgrades their plan, do I get a commission on the upgrade?** No. The revenue share only applies to the first plan that is purchased. A referred customer who purchases a Yearly Advanced Plan would earn $62.64 for you, even if they later upgrade to a Professional Plan. If a referred customer switches from a Monthly to a Yearly Advanced Plan, you would not receive commission for this. **How will I receive my commission?** Affiliates are paid via PayPal. If you would like to receive your payouts via a different payment method, please get in touch: **Can I change my Affiliate link?** Yes, you can customize your affiliate link at any time. Please keep in mind that as an Affiliate, you can only have one active affiliate link at any given time. **Does Glassnode provide marketing material for me?** **How do I get started?** **Updated T&Cs**: Yes, Glassnode provides marketing material, including website banners, in the . Once you've created your free Glassnode account, you can sign up to the Affiliate Program by clicking on . Please review our updated . ℹ️ [affiliate T&Cs](https://glassnode.notion.site/affiliate-terms) [affiliates@glassnode.com](mailto:affiliates@glassnode.com) [affiliates@glassnode.com](mailto:affiliates@glassnode.com) [Affiliate Resource Center](https://www.notion.so/Affiliate-Resource-Center-dda17de3d98c4e8bb502770930b1ce2d) [this link](https://studio.glassnode.com/settings/affiliate) [Affiliate Terms & Conditions](https://glassnode.notion.site/affiliate-terms) --- # URPD (UTXO Realized Price Distribution) | Glassnode Docs [PreviousPrice Distribution](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution) [NextSOPD (Spent Output Price Distribution)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution#indicator-overview) Indicator Overview --------------------------------------------------------------------------------------------------------------------------------------------------------------------- UTXO Realized Price Distribution (URPD) shows at which prices the current set of Bitcoin UTXOs were created (i.e. each bar shows the amount of existing bitcoins that last moved within that specified price bucket). The price specified on the x-axis refers to the lower bound of that bucket. There are two variants of this metric based on x-axis partitioning: * **ATH-partitioned** (price buckets are defined by dividing the range between 0 and the current ATH in 100 equally-spaced partitions) * **% partitioned** (price buckets are defined by taking the day's closing price and creating 50 equally-spaced bucket each above and below the closing price in steps of +/- 2%) [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution#how-is-it-measured) How is it measured? ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- URPD price buckets are calculated by adding the value of all UTXOs where the price when the UTXOs were created falls into that given bucket. URPD(price bucket)\=value (of all UTXOs where pricecreated is in bucket)\\begin{align\*} \\textrm{URPD}(\\textrm{price bucket}) &= \\textrm{value}~\\color{gray}{\\textrm{(of all UTXOs where price}\_{\\textrm{created}}~\\textrm{is in bucket)}} \\end{align\*}URPD(price bucket)​\=value (of all UTXOs where pricecreated​ is in bucket)​ [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution#about) About ------------------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution#date-introduced) Date Introduced April 2020 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/urpd-utxo-realized-price-distribution#further-resources) Further Resources ------------------------------------------------------------------------------------------------------------------------------------------------------------------- View / in Glassnode Studio View / in Glassnode API Docs Glassnode - 📖 [URPD (ATH partitioned)](https://studio.glassnode.com/metrics?a=BTC&m=indicators.UtxoRealizedPriceDistributionAth) [URPD (% partitioned)](https://studio.glassnode.com/metrics?a=BTC&m=indicators.UtxoRealizedPriceDistributionPercent) [URPD (ATH partitioned)](https://docs.glassnode.com/basic-api/endpoints/indicators#urpd-ath-partitioned) [URPD (% partitioned)](https://docs.glassnode.com/basic-api/endpoints/indicators#urpd-partitioned) [Renato Shirakashi](https://twitter.com/renato_shira) [Twitter Thread](https://twitter.com/glassnode/status/1254816216746725377) ![Bitcoin: URPD (ATH partitioned)](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-03fffd117ac04987a12b82cc887d0c74bdba69d2%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=df0231c9&sv=2) --- # Profit/Loss (UTXO) | Glassnode Docs [Percent UTXOs in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit) [UTXOs in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit) [UTXOs in Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss) [PreviousRealized Cap HODL Waves](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves) [NextPercent UTXOs in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/percent-utxos-in-profit) --- # Supply in Loss | Glassnode Docs [PreviousSupply in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit) [NextAge Distribution](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss#indicator-overview) Indicator Overview ---------------------------------------------------------------------------------------------------------------------------------------------- Supply in Loss, as the name suggests, represents the absolute amount of coins in a given network which are currently in loss (i.e. the price at the time they were last moved is higher than the current price). This metric is helpful in highlighting market bottoms by suggesting when investors might be ready to re-enter the market. It is important to note that unlike , Supply in Loss does not account for the _amount_ of loss - only the binary case of whether or not the coin is in loss. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss#how-is-it-measured) How is it measured? ----------------------------------------------------------------------------------------------------------------------------------------------- Supply in Loss is calculated by determining which coins were last moved when the price was higher than the current price (i.e. the price has decreased since the coins were last moved). It represents the total absolute number of those coins. Supply in Loss\=value (of all UTXOs where pricecreated\> price)\\textrm{Supply in Loss} = \\textrm{value}~{\\color{gray}{\\textrm{(of all UTXOs where price$\_\\textrm{created}>$ price)}}}Supply in Loss\=value (of all UTXOs where pricecreated​\> price) [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss#about) About -------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss#date-introduced) Date Introduced November 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss#further-resources) Further Resources -------------------------------------------------------------------------------------------------------------------------------------------- Rafael Schultze-Kraft - 📖 [View Supply in Loss in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=supply.LossSum) [View Supply in Loss in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/supply#supply-in-loss) [Glassnode](https://twitter.com/glassnode/) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [Unrealized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss) ![Bitcoin: Supply in Loss](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-52d1cbd870002912281684551c465bf93410613b%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=4f0896eb&sv=2) --- # Supply in Profit | Glassnode Docs [PreviousPercent Supply in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/percent-supply-in-profit) [NextSupply in Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-loss) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------------ Supply in Profit, as the name suggests, represents the absolute amount of coins in a given network which are currently in profit (i.e. the price at the time they were last moved is lower than the current price). This metric is helpful in highlighting market tops by suggesting when investors might be close to taking profits. It is important to note that unlike , Supply in Profit does not account for the _amount_ of profit - only the binary case of whether or not the coin is in profit. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------------------------- Supply in Profit is calculated by determining which coins were last moved when the price was lower than the current price (i.e. the price has increased since the coins were last moved). It represents the total absolute number of those coins. Supply in Profit\=value (of all UTXOs where price \> pricecreated)\\textrm{Supply in Profit} = \\textrm{value}~{\\color{gray}{\\textrm{(of all UTXOs where price $>$ price$\_\\textrm{created}$)}}}Supply in Profit\=value (of all UTXOs where price \> pricecreated​) [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit#about) About ---------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit#date-introduced) Date Introduced November 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply/supply-in-profit#further-resources) Further Resources ---------------------------------------------------------------------------------------------------------------------------------------------- Rafael Schultze-Kraft - 📖 [View Supply in Profit in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=supply.ProfitSum) [View Supply in Profit in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/supply#supply-in-profit) [Glassnode](https://twitter.com/glassnode/) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [Unrealized Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-profit) ![Bitcoin: Supply in Profit](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-f7516d5269a8f741c143f1c4675dc3960e3281a8%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=e2897456&sv=2) --- # Accumulation Trend Score | Glassnode Docs [PreviousSOPD (Spent Output Price Distribution)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/price-distribution/sopd-spent-output-price-distribution) [NextLong and Short-Term Holder Supply](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------- The Accumulation Trend Score is an indicator which reflects the relative size of entities that are actively accumulating/distributing coins on-chain in terms of their BTC holdings. The scale of the Accumulation Trend Score represents both the size of the entities balance (their participation score), and the amount of new coins they have acquired/sold over the last month (their balance change score). An Accumulation Trend Score of closer to 1 indicates that on aggregate, larger entities (or a big part of the network) are accumulating, and a value closer to 0 indicates they are distributing or not accumulating. This provides insight into the balance size of market participants, and their accumulation behavior over the last month. * **A score closer to 1** reflects that, over the last month, big participants (or a big part of the network) have been accumulating coins. * **A score closer to 0** reflects that, over the last month, big participants haven’t been accumulating coins or that they have been selling them. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#video-guide) Video Guide ----------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------- The Accumulation Trend Score is measured following the next steps: 1. For each day, every entity's participation score is calculated by the amount of coins they hold out of the total supply. > For example, an entity owning 10 coins when the amount of supply is 100 coins would have a 10/100 = 10% participation score. > Exchanges and miners are excluded. 2. For each entity, the daily accumulation or offload of coins is calculated in terms of the relative balance change, in a way that it never exceeds +100% or -100% of their balance. 3. The accumulation ratio is then calculated by multiplying the participation score and the balance change. The idea behind the accumulation ratio is to have a weighted participation score in terms of _**the relative balance change,**_ so that big players accumulating would have a bigger impact than low players accumulating. This accumulation ratio is computed for both buys (positive balance changes) and sells (negative balance changes). > As set by the constraint in the point 2, one entity can never have an accumulation ratio which exceed its participation score, no matter how much it accumulates, because the maximum and minimum relative balance change are limited. This prevents low players with high balance changes to affect the computation of the metric. > In certain cases, if a really big part of the network greatly accumulates, it is enough to trigger a high accumulation ratio, given that their combined participation score may be huge. 4. The accumulation score is then computed by adding up all of the accumulation ratios of every participant together over the last month for both buys and sells. 5. Given the fact that the concept of what big participant is has changed over time (having 20 BTC in 2010 is not the same as having 20 BTC in 2021), visibility is enhanced by normalizing the values using a 90 days window. Therefore, different time ranges are comparable. The normalization formula for each window is the following, and its applied for both buys and sells: 6\. After the scaling, the accumulation ratio is computed by subtracting the buys minus the sells. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#user-guide) User Guide --------------------------------------------------------------------------------------------------------------------- The market sentiment is a good indicator of the price action. When the participants in the market are feeling bullish, they accumulate coins, which increases the demand and therefore the price. When they are feeling bearish, they offload coins, which increase the liquid supply to be absorbed, therefore reducing the price. One could argue that not every participant has the same impact on the price, and larger holders tend to make a bigger impact than smaller ones. This metric aims to provide insights on who is behind the price action, whether they are big players, which are able to move the price in a sustained way, or small players, which usually struggle to sustain positive price action over longer time periods. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#indicator-signals) Indicator Signals In general, a higher score (closer to 1) implies that big participants have been accumulating for the last month, and a lower score (closer to 0) means that those big participants are either selling or not accumulating. Keep in mind that scores are scaled over a 90 day window, so consecutive 1’s are possible. This would mean that each consecutive day there has been a new all time high of the score during the last 90 days. The same can happen with consecutive 0’s. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#example-applications) Example Applications The Accumulation Trend Score can be a useful tool to measure a variety of market behaviors. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#identifying-price-action-sustainability-momentum) Identifying P**rice Action Sustainability / Momentum.** When both the price and the score go up, the positive price action is probably going to be sustained, because the rally is mainly caused by big players accumulating (green). On the other hand, when the ratio cools down, the positive price action can't be sustained by the small players, so the price usually goes sideways and ends up losing momentum (red). #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#identifying-local-bottoms) Identifying Local Bottoms High scores during drawdowns may indicate that the price is near a bottom, because the big players are starting to accumulate at what they think is a good opportunity (green). This accumulation during drawdowns is often followed by a price recovery. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#about) About ----------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/accumulation-trend-score#coined-by) Coined By Methodology presented here is refined and developed by Glassnode xnormalized\=x−min(x)max(x)−min(x)x\_{normalized}=\\dfrac{x - min(x)}{max(x)-min(x)}xnormalized​\=max(x)−min(x)x−min(x)​ Original concept pioneered by () 📖 [Studio Metric](https://studio.glassnode.com/metrics?a=BTC&category=&m=indicators.AccumulationTrendScore) [API Documentation](https://docs.glassnode.com/basic-api/endpoints/indicators#accumulation-trend-score) [@ecoinometrics](https://twitter.com/ecoinometrics) [https://ecoinometrics.substack.com/p/ecoinometrics-on-chain-participation](https://ecoinometrics.substack.com/p/ecoinometrics-on-chain-participation) ![Bitcoin: Accumulation Trend Score](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-6b63822c93b3a875e093c57dc6e468d1f5a0f680%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=8810651&sv=2) ![Bitcoin: Accumulation Trend Score with accumulation and momentum marked](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-a5dfa4e01f71806bf4685919fab023a6f620e193%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5656912f&sv=2) ![Bitcoin: Accumulation Trend Score with good opportunity marked](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-8cca06bc43810dfc567357b259d8e0239c3dfb76%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5d424c2a&sv=2) --- # API Credits | Glassnode Docs [PreviousAPI Key](https://docs.glassnode.com/basic-api/api-key) [NextMetadata](https://docs.glassnode.com/basic-api/metadata) Last updated 2 months ago In our API, each call to an endpoint typically consumes one API credit. However, an important exception exists for bulk endpoints. ### [](https://docs.glassnode.com/basic-api/api-credits#bulk-endpoints-and-api-credits) Bulk Endpoints and API Credits Bulk endpoints allow users to retrieve data for multiple parameter combinations in a single request. While this is efficient in terms of reducing the number of API calls, it's essential to understand how API credits are consumed: * **Credit Calculation**: Each request to a bulk endpoint consumes as many API credits as individual calls to the standard endpoint would. For example: * Calling the `/market/mvrv/bulk` endpoint with 5 assets will consume 5 API credits. * If a bulk request includes 5 assets and 5 exchanges, it will consume 25 API credits (one for each combination's metric value). * **Parameter Whitelists**: When parameters are not specified (i.e., no whitelists are applied), the bulk endpoint returns data for all possible parameter values. This can lead to a significant number of API credits being consumed. To manage and predict credit usage effectively, it's advisable to: For more detailed information on bulk endpoints and their usage, refer to the documentation. ⚙️ [Bulk Metrics](https://docs.glassnode.com/basic-api/bulk-metrics) --- # Understanding UTXOs - The Gold Coin Analogy | Glassnode Docs [PreviousOn-chain Glossary](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/on-chain-glossary) [NextUTXO vs. Account-Based Chains](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains) Last updated 5 months ago ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/understanding-utxos-the-gold-coin-analogy#introduction) Introduction A “UTXO” is one of the fundamental building blocks of both Bitcoin and on-chain analysis. It is also one of the least understood. The UTXO term is an abbreviation of **Unspent Transaction Output**, and these are the base unit that keeps track of coin ownership within the Bitcoin protocol\*\*.\*\* While this name accurately describes what a UTXO is, many new on-chain audiences find this concept very mysterious. > This piece aims to theorize the **Gold Coin Analogy** to simplify the explanation of a UTXO, and lay the foundation for more sophisticated on-chain metrics (e.g. Realized Cap, Coin-days Destroyed, and Realized Profit/Loss). ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/understanding-utxos-the-gold-coin-analogy#utxos-as-an-equivalent-to-gold-coins) UTXOs as an equivalent to Gold Coins Although a unit of bitcoin is **divisible**, we should not think of bitcoin amounts like a dividable liquid, but instead as discrete quantities, like **GOLD Coins**. Considering this analogy between UTXO and GOLD Coins where **1 BTC = 1-oz of gold**: * When one receives 1.5 bitcoin to an address, the owner now owns discrete 1.5 bitcoin held in a UTXO. Using our analogy, this is the equivalent of **“receiving a 1.5-oz GOLD Coin**”. * **To spend 0.2-oz of the gold coin at a shop**, the owner cannot simply break off a piece of the coin and pay only that piece. Instead, they must “**Melt the entire 1.5-oz amount”** by putting it into a **Transaction (analogy is a “Melting Pot”)**. * This process destroys the original 1.5-oz gold coin (the UTXO is destroyed), and mints a new set of gold coins with new denominations (UTXO creation) In this case, the transaction will create:: * one 0.2-oz gold coin —> paid to the shop owner * one 1.299-oz gold coin —> returned to the original owner as change * a small fee of 0.001-oz —> paid to the operator of the mint for their services (analogy is the Bitcoin miners) * Total value is 0.2 + 1.299 + 0.001 = 1.5-oz * With the transaction, the network can divide and **“Mint”** the gold coin into any set of arbitrary denominations of **“New Coins”** (analogy is newly created UTXOs) and send it to as many different addresses as is required. * Bitcoin miners, who are the equivalent to operators of the melting and forging equipment, take a small fee for their services (the transaction fee). ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/understanding-utxos-the-gold-coin-analogy#utxos-in-on-chain-analysis) UTXOs in On-chain Analysis Now we will explore the reason why the creating (minting) and destroying (melting) process for UTXOs (gold coins) is so important to understand for on-chain analysis. We can learn a lot about investor behaviour based on the history of UTXOs by studying the time and price at which they are created, and destroyed. Some examples insights we can gather: * **If a UTXO was purchased 10-years ago**, and has never been spent it, it becomes increasingly likely that the **coin is lost, or may be in a secure safe storage vault**. * **When a very large amount of UTXOs that were purchased many years ago are destroyed** in a short period of time, it may indicate that **long-term believers are selling their investment**. * We use the market price to **assign a value to each UTXO at the date it was created, and then revalue it when it is destroyed**. From this we can calculate **how much profit, or loss** the owner made on their investment. * We can **identify the spending behaviour of large financial entities** (like exchanges and miners) due to their very specific patterns of managing their UTXOs. This allows us to **observe coin inflows and outflows** associated with these entities. These examples highlight a number of **on-chain metric categories** that we can use to understand the sentiment, momentum and health of the network. * **Supply Distribution** - the study of owners, and how many coins they have. * **Network Health** - the study of transactions, UTXO creation/destruction, and network activity. * **Lifespan** - the study of coin age in the supply and the balance between newer (inexperienced), and smart money (experienced) investors. * **Profit/Loss** - the study of investor gains and losses, which provides insight into market sentiment, and bull/bear cycles. ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/understanding-utxos-the-gold-coin-analogy#analogy-glossary) Analogy Glossary The following table summarizes the equivalent concepts in this analogy Bitcoin UTXO System Gold Coin Analogy UTXO Gold Coin UTXO count Number of gold coins in circulation UTXO value (BTC) Weight of an individual gold coin (oz) Circulating Supply (BTC) The total weight of all coins in circulation (oz) UTXO Creation Minting Coins UTXO Spending Melting Coins Transaction Coins are melted down (spent), and minted in new denominations (created) Realized Price The price when a coin was minted Realized Cap The total sum of all coins valued at the time of minting (i.e. total sum of coin weight times realized price for the circulating supply) Timestamp The date-time when a coin was minted Lifespan The amount of time since a coin was minted (coin age) Coin Days The multiple of lifespan (days) and coin weight (BTC or gold oz) MVRV The market average price-to-cost ratio (current value / minted value) SOPR The average sell-to-buy price ratio that day (average current value / minted value for all coins melted down that day) Mining The original minting of coins 📖 ![BTC and Godl](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-49ec9d24e983f18cc9a39a0c158303bcce5754b8%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=2445f88c&sv=2) ![Melting and Minting Gold](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-3caa312e5435ffb7cfc1e4259a2fe857300b85b0%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=bd554236&sv=2) --- # UTXOs in Loss | Glassnode Docs [PreviousUTXOs in Profit](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-profit) [NextOn-Chain Concepts](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss#indicator-overview) Indicator Overview ------------------------------------------------------------------------------------------------------------------------------------------- UTXOs in Loss, as the name suggests, represents the absolute number of UTXOs in a given network which are currently in loss (i.e. the price at the time they were created is higher than the current price). This metric is helpful in highlighting market bottoms by suggesting when investors might be ready to re-enter the market. It is important to note that unlike , UTXOs in Loss does not account for the _amount_ of loss - only the binary case of whether or not the UTXO is in loss. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss#how-is-it-measured) How is it measured? -------------------------------------------------------------------------------------------------------------------------------------------- UTXOs in Loss is calculated by determining which UTXOs were created when the price was higher than the current price (i.e. the price has decreased since the UTXOs were created). It represents the total absolute number of those UTXOs. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss#about) About ----------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss#date-introduced) Date Introduced November 2019 [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo/utxos-in-loss#further-resources) Further Resources ----------------------------------------------------------------------------------------------------------------------------------------- UTXOs in Loss\=number of all UTXOs where pricecreated\> price\\textrm{UTXOs in Loss} = {\\color{gray}{\\textrm{number of all UTXOs where price$\_\\textrm{created}>$ price}}}UTXOs in Loss\=number of all UTXOs where pricecreated​\> price Rafael Schultze-Kraft - 📖 [View UTXOs in Loss in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&m=blockchain.UtxoLossCount) [View UTXOs in Loss in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxos-in-loss) [Glassnode](https://twitter.com/glassnode/) [Dissecting Bitcoin's Unrealised On-Chain Profit/Loss](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [Unrealized Loss](https://docs.glassnode.com/guides-and-tutorials/metric-guides/unrealized-profit-loss/unrealized-loss) ![Bitcoin: UTXOs in Loss](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-bb7bbc0b7109f37436cd3b0644c515eace3cf026%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3d62405c&sv=2) --- # DeFi | Glassnode Docs [PreviousBreakdowns](https://docs.glassnode.com/basic-api/endpoints/breakdowns) [NextDerivatives](https://docs.glassnode.com/basic-api/endpoints/derivatives) Last updated 3 months ago [](https://docs.glassnode.com/basic-api/endpoints/defi#total-value-locked-in-defi-tvl) Total Value Locked in DeFi (TVL) ---------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/defi#defi.totalvaluelocked) `GET` `https://api.glassnode.com/v1/metrics/defi/total_value_locked` The total value locked in all of DeFi. Source: DeFi Lama. #### [](https://docs.glassnode.com/basic-api/endpoints/defi#query-parameters) Query Parameters Name Type Description a\* string asset id: ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/defi#tab-id-200-ok) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/defi#tab-id-400-bad-request) Copy [{"t":1726790400,"v":47997659278.33963}] Copy unsupported asset ⚙️ [View in Studio](https://studio.glassnode.com/charts/defi.TotalValueLocked?a=ETH) --- # Blockchain | Glassnode Docs [PreviousBridges](https://docs.glassnode.com/basic-api/endpoints/bridges) [NextBreakdowns](https://docs.glassnode.com/basic-api/endpoints/breakdowns) Last updated 3 months ago [](https://docs.glassnode.com/basic-api/endpoints/blockchain#block-height) Block Height -------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.blockheight) `GET` `https://api.glassnode.com/v1/metrics/blockchain/block_height` The block height, i.e. the total number of blocks ever created and included in the main blockchain. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request) Copy [{"t":1726790400,"v":862171}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#block-interval-mean) Block Interval (Mean) ------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.blockintervalmean) `GET` `https://api.glassnode.com/v1/metrics/blockchain/block_interval_mean` The mean time (in seconds) between mined blocks. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-1) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-1) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-1) Copy [{"t":1726790400,"v":605.2068965517242}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#block-interval-median) Block Interval (Median) ---------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.blockintervalmedian) `GET` `https://api.glassnode.com/v1/metrics/blockchain/block_interval_median` The median time (in seconds) between mined blocks. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-2) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-2) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-2) Copy [{"t":1726790400,"v":383}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#block-size-mean) Block Size (Mean) ---------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.blocksizemean) `GET` `https://api.glassnode.com/v1/metrics/blockchain/block_size_mean` The mean size of all blocks created within the time period (in bytes). #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-3) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-3) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-3) Copy [{"t":1726790400,"v":1661256.9793103458}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#block-size-total) Block Size (Total) ------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.blocksizesum) `GET` `https://api.glassnode.com/v1/metrics/blockchain/block_size_sum` The total size of all blocks created within the time period (in bytes). #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-4) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-4) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-4) Copy [{"t":1726790400,"v":240882262}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blocks-mined) Blocks Mined -------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.blockcount) `GET` `https://api.glassnode.com/v1/metrics/blockchain/block_count` The number of blocks created and included in the main blockchain in that time period. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-5) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-5) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-5) Copy [{"t":1726790400,"v":145}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#percent-utxos-in-profit) Percent UTXOs in Profit ------------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxoprofitrelative) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_profit_relative` #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-6) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-6) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-6) Copy [{"t":1726790400,"v":0.803661312846928}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxo-value-created-mean) UTXO Value Created (Mean) -------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxocreatedvaluemean) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_created_value_mean` The mean amount of coins in newly created UTXOs. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-7) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-7) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-7) Copy [{"t":1726790400,"v":0.7248314081284108}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxo-value-created-median) UTXO Value Created (Median) ------------------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxocreatedvaluemedian) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_created_value_median` The median amount of coins in newly created UTXOs. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-8) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-8) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-8) Copy [{"t":1726790400,"v":0.00032499}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxo-value-created-total) UTXO Value Created (Total) ---------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxocreatedvaluesum) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_created_value_sum` The total amount of coins in newly created UTXOs. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-9) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-9) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-9) Copy [{"t":1726790400,"v":980010.47985418}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxo-value-spent-mean) UTXO Value Spent (Mean) ---------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxospentvaluemean) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_spent_value_mean` The mean amount of coins in spent transaction outputs. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-10) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-10) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-10) Copy [{"t":1726790400,"v":0.8495012603919825}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxo-value-spent-median) UTXO Value Spent (Median) -------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxospentvaluemedian) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_spent_value_median` The median amount of coins in spent transaction outputs. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-11) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-11) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-11) Copy [{"t":1726790400,"v":0.0007047}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxo-value-spent-total) UTXO Value Spent (Total) ------------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxospentvaluesum) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_spent_value_sum` The total amount of coins in spent transaction outputs. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-12) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-12) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-12) Copy [{"t":1726790400,"v":979557.35485418}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxos-total) UTXOs (Total) -------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxocount) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_count` The total number of UTXOs in the network. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-13) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-13) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-13) Copy [{"t":1726790400,"v":298827892}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxos-created) UTXOs Created ---------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxocreatedcount) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_created_count` The number of created unspent transaction outputs. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-14) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-14) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-14) Copy [{"t":1726790400,"v":1352053}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxos-in-loss) UTXOs in Loss ---------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxolosscount) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_loss_count` #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-15) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-15) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-15) Copy [{"t":1726790400,"v":58666625}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxos-in-profit) UTXOs in Profit -------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxoprofitcount) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_profit_count` #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-16) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-16) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-16) Copy [{"t":1726790400,"v":240156416}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/blockchain#utxos-spent) UTXOs Spent ------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#blockchain.utxospentcount) `GET` `https://api.glassnode.com/v1/metrics/blockchain/utxo_spent_count` The number of spent transaction outputs. #### [](https://docs.glassnode.com/basic-api/endpoints/blockchain#query-parameters-17) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1h, 24h, 10m, 1w, 1month f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-200-ok-17) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/blockchain#tab-id-400-bad-request-17) Copy [{"t":1726790400,"v":1153097}] Copy unsupported asset The percentage of unspent transaction outputs whose price at creation time was lower than the current price. For more information see . The number of unspent transaction outputs whose price at creation time was higher than the current price. For more information see . The number of unspent transaction outputs whose price at creation time was lower than the current price. For more information see . ⚙️ [View in Studio](https://studio.glassnode.com/charts/blockchain.BlockHeight?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.BlockIntervalMean?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.BlockIntervalMedian?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.BlockSizeMean?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.BlockSizeSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.BlockCount?a=BTC) [this article](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoProfitRelative?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoCreatedValueMean?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoCreatedValueMedian?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoCreatedValueSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoSpentValueMean?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoSpentValueMedian?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoSpentValueSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoCount?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoCreatedCount?a=BTC) [this article](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoLossCount?a=BTC) [this article](https://medium.com/glassnode-insights/dissecting-bitcoins-unrealised-on-chain-profit-loss-73e735020c8d) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoProfitCount?a=BTC) [View in Studio](https://studio.glassnode.com/charts/blockchain.UtxoSpentCount?a=BTC) --- # Supply Held by Long and Short-Term Holders | Glassnode Docs [PreviousLong and Short-Term Holder Supply](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply) [NextProfit/Loss (Supply)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-supply) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#indicator-overview) Indicator Overview ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- At Glassnode, one approach we take towards classifying on-chain user cohorts is based on a concept of **Long-Term Holders** (LTH) and **Short-Term Holders** (STH). These classifications are based on observed spending behaviours and statistical patterns of coin movements that embody the polarities of low, and high time preference investors. For full details on the analysis and statistical reasoning behind LTH-STH classification, please refer to articles and . A general framework for considering LTH and STH supply is as follows: * **Long-Term Holders** keep possession of their coins for periods of time spanning several months to years. We consider an approximate threshold of a 155-day holding period, after which dormant coins becoming increasingly unlikely to be spent. * **Short-Term Holders** are newer market entrants, active traders, and "weak hands" that a more likely to exit positions in response to market volatility. Coins younger than 155-days are statistically more likely to be re-spent, and thus are considered a more liquid and active portion of the supply. The chart below shows the cyclical transition of supply held by LTH (blue) and STH (orange) that tends to correlate with bull and bear cycles. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#how-is-it-measured) How is it measured? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ The entity's **average purchase date** is used as the threshold for defining whether they're a Long-Term Holder or not. This means that when a new coin purchase is added to an entities balance, it is volume weighted against the existing balance to assess whether it is immediately classified as a LTH or STH supply. If for example 10% of a LTH entities balance was recently accumulated, those new coins would be considered LTH supply due to the heavier 90% balance having already been classified as such. If on the other hand 90% of the balance was recently accumulated, it would be classified as STH supply until the volume weighted age of the full balance reached the 155-day threshold. To better reflect HODLer behaviour, supply held on exchanges is excluded from Long-Term/Short-Term Holder Supply. As a result, the sum of Long-term supply, Short-Term supply and exchange balances equals circulating supply. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#user-guide) User Guide ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- LTH and STH Supply data illustrates the behaviour and preferences of market participants with a level of precision previously unavailable in any other asset class. This new, magnified look at the market-wide psychology enables users to not only understand where things stand today, but how they could also change in the future. At the core, an understanding of Long- and Short-Term supply dynamics can help position analysis into bull or bear market context, and understand the balance between illiquid and liquid supply. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#indicator-signals) Indicator Signals The distribution and shifts in supply held by LTHs and STHs are incredibly useful in understanding where Bitcoin is within a bullish or bearish cycle. These signals are as follows: #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#maxima-in-lth-supply-or-minima-in-sth-supply) Maxima in LTH Supply | Minima in STH Supply LTHs are often considered under the lens of being patient, and more experienced investors (smart money). This cohort tend to accumulate cheap coins during bearish trends, and distribute into bull market strength. Periods of time where LTH supply increases generally indicate: * A larger proportion of the coin supply is becoming dormant, illiquid, and likely held by market participants who are less sensitive to shorter term price action. * A bearish trend is in play where gradual accumulation is taking place place. This often precedes a bullish impulse in price action as the coin supply is eventually constrained. * LTHs generally recommence coin spending (assumed distribution) as the market price approaches previous all-time-highs. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#maxima-in-sth-supply-or-minima-in-lth-supply) Maxima in STH Supply | Minima in LTH Supply When LTHs spend their coins and they change hands (on an entity-adjusted basis), the accumulated lifespan is destroyed, and the coin classification is reset to STH held supply. As such, STH supply tends to swell during bullish markets, in response to LTHs distributing into strength, and shrink during bear markets as accumulation takes place. Periods of time where STH supply increases generally indicate: * Indicates a large amount of coins are being actively spent, particularly by LTHs who often have more experience and timing of market cycles. This has a corresponding impact on circulating liquid supply and thus sell-side pressure. * Increases the coin volume held by newer and less experienced market participants. STH supply has a greater probability of being spent in response to market volatility. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#coined-by) Coined By ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- Glassnode (2020) ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#further-resources) Further Resources Based on previous , a coin becomes statistically unlikely to be moved after **155 days** of dormancy. This data point is used as a threshold to delineate between Long-Term and Short-Term Holders. To improve visualization, a smoothing curve is used to model the weighting of the LTH-STH buckets. This smoothing ensures that resulting metrics do not suffer from artefacts related to a few hodlers suddenly crossing the sharp threshold. The midpoint is at 155 days and with a transition width of 10 days (). The current suite of Long-Term Holder and Short-Term Holder metrics are **entity-adjusted**, meaning they identify holders as individual market participants that own one or more addresses. On-chain entities are identified using heuristics and clustering algorithms . by and Glassnode (March 2020) by , Killian Heeg and Glassnode (Nov 2020) by and Glassnode (October 2021) 📖 [View Total Supply Held by Long-Term Holders in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&category=Supply&m=supply.LthSum) [View Total Supply Held by Short-Term Holders in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&category=Supply&m=supply.SthSum) [View Total Supply Held by Long and Short Term Holders in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/supply) [historical spend analysis](https://insights.glassnode.com/sth-lth-sopr-mvrv/) [details here](https://insights.glassnode.com/quantifying-bitcoin-hodler-supply/) [outlined in a previous analysis](https://insights.glassnode.com/bitcoin_holders/) [Breaking up On–Chain Metrics for Short and Long Term Investors](https://insights.glassnode.com/sth-lth-sopr-mvrv/) [Rafael Schultze-Kraft](https://twitter.com/n3ocortex) [Quantifying Short-Term and Long-Term Holder Bitcoin Supply](https://insights.glassnode.com/quantifying-bitcoin-hodler-supply/) [Rafael Schultze-Kraft](https://twitter.com/n3ocortex) [Following the Smart Money: A Study of Long-Term Holders](https://insights.glassnode.com/follow-the-smart-money/) [TXMC](https://twitter.com/TXMCtrades) [here](https://insights.glassnode.com/sth-lth-sopr-mvrv/) [here](https://docs.glassnode.com/guides-and-tutorials/metric-guides/long-and-short-term-holder-supply/supply-held-by-long-and-short-term-holders#indicator-overview) ![BTC: Long-Term and Short-Term Holders](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-151301472143cf1355455700229570f103a49140%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=cfe7ba2c&sv=2) ![Long and Short Term Holder Classification](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-ad936dfd946f6abc2a23c5b21528a38240adc58c%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=67612421&sv=2) ![Bitcoin: Total Supply Held by Long-Term Holders](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-eca6f60a3943f29d53d9e002243c90abcc5f32db%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=8d3bfee0&sv=2) ![Bitcoin: Total Supply Held by Short-Term Holders](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-ab5cd58955e113ea2093f145b6a6bc55e3b83110%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=12096c8d&sv=2) --- # Support FAQ | Glassnode Docs [Previous2020](https://docs.glassnode.com/further-information/changelog/2020) [NextAffiliate FAQs](https://docs.glassnode.com/further-information/affiliate-faqs) Last updated 4 months ago If you have questions, feedback, or are experiencing issues please contact us at . Our team is happy to help! ### [](https://docs.glassnode.com/further-information/faq#account) Account How do I change the email address on my account?[](https://docs.glassnode.com/further-information/faq#how-do-i-change-the-email-address-on-my-account) Please contact to change the email address associated with your account. Because this is an account security issue, it is best to do so from the email address that is currently associated with your account. I forgot my password, how can I reset it?[](https://docs.glassnode.com/further-information/faq#i-forgot-my-password-how-can-i-reset-it) **Note:** If you use Google Single Sign On to login, you cannot your password with us. A reset password email will not be sent to you. If you forgot or need your password to be reset, then go to and click on Log In. That will take you to the login, click on the "Forgot Password?" link That will take you to a screen where you will need to enter the email address the account is under. An email will be sent to the email address on file. I followed the steps to reset my password, but I have not received the email.[](https://docs.glassnode.com/further-information/faq#i-followed-the-steps-to-reset-my-password-but-i-have-not-received-the-email) There are two things that could be happening here. 1. The email address you entered is not the email address that is on the account. This is not unusual. 2. You have used Google Single Sign In to sign in to Glassnode. In this case, you do not have a password in Glassnode because you sign in with your Google account. There is no way to reset your password through Glassnode. You can change your Google Account password at any time through Google. I used Google Single Sign On to login, but now I want to use the Email Address and password fields independently, what can I do?[](https://docs.glassnode.com/further-information/faq#i-used-google-single-sign-on-to-login-but-now-i-want-to-use-the-email-address-and-password-fields-in) To break the Google Single Sign On login process associated with your account, you need to take two steps. 1. Create a new account (our backend will match the accounts when the same email address is used!) by logging out, refreshing and hitting "Sign Up" on . Please use the exact same email address your current account is associated with & provide a password. 1. Check your email inbox for the email address verification email, confirm the email and you can then log in with your email & password! ### [](https://docs.glassnode.com/further-information/faq#billing) Billing How do I cancel my subscription?[](https://docs.glassnode.com/further-information/faq#how-do-i-cancel-my-subscription) If you would like to cancel your subscription, please click on the Account button displayed at the upper right hand side of your window and click on Account. Next scroll down to the section called Danger Zone, and click the arrow to open up the box. Once it is open, click the Cancel Subscription button and your subscription will not renew. You will still have access to your subscription until the expiration date. After the expiration date, your account will revert back to the Standard (Free) plan. How do I get a refund?[](https://docs.glassnode.com/further-information/faq#how-do-i-get-a-refund) How can I apply a discount/coupon code?[](https://docs.glassnode.com/further-information/faq#how-can-i-apply-a-discount-coupon-code) When you are checking out, there is a place to “Add Discount” as shown here: Simply enter the coupon code and the discount will apply. How can I apply my VAT ID?[](https://docs.glassnode.com/further-information/faq#how-can-i-apply-my-vat-id) 1. Select your country from the Drop Down. If your country is VAT eligible, then you will see VAT on the left hand side in the line items of the order. 1. Press continue. Only on the next screen can you enter your VAT details and authenticate your VAT numbers. 2. Once done, your VAT will be calculated and charged properly. If for some reason you do not enter your VAT information at check out, you can also do so from the receipt that is sent. I've already purchased a package, can I get the VAT refunded retrospectively?[](https://docs.glassnode.com/further-information/faq#ive-already-purchased-a-package-can-i-get-the-vat-refunded-retrospectively) How can I get an Invoice for business purposes?[](https://docs.glassnode.com/further-information/faq#how-can-i-get-an-invoice-for-business-purposes) If this needs to be turned into an Invoice for Business purposes, please find the receipt from Paddle, click on the link "Add address" and enter the information required. How do I see my past payments?[](https://docs.glassnode.com/further-information/faq#how-do-i-see-my-past-payments) Can I pay with Crypto?[](https://docs.glassnode.com/further-information/faq#can-i-pay-with-crypto) I cannot pay for my subscription, I received an E403 error. What can I do?[](https://docs.glassnode.com/further-information/faq#i-cannot-pay-for-my-subscription-i-received-an-e403-error.-what-can-i-do) Unfortunately, an E403 error means that either your bank is in a sanctioned country or you are trying to make a purchase from a sanctioned country. As long as either of these scenarios are true, you will not be able to complete a purchase. ### [](https://docs.glassnode.com/further-information/faq#metrics) Metrics What metrics does Glassnode provide?[](https://docs.glassnode.com/further-information/faq#what-metrics-does-glassnode-provide) Glassnode offers over 800 different metrics on a variety of blockchains and over 500 ERC-20 assets. They are divided into three tiers Basic (T1), Essential (T2), and Premium (T3) levels. A Standard (Free) account will have access to all Basic metrics at a 24 hour resolution. The Advanced subscription will have access to all Basic and Essential metrics at up to a 1 hour resolution (as it is available). A Professional subscription has access to all three tiers of metrics and up to a 10-minute resolution (as it is available). How can I access the API?[](https://docs.glassnode.com/further-information/faq#how-can-i-access-the-api) How can I access the downloadable JSON/CSV files?[](https://docs.glassnode.com/further-information/faq#how-can-i-access-the-downloadable-json-csv-files) ### [](https://docs.glassnode.com/further-information/faq#general) General Does Glassnode accept Guest Posts?[](https://docs.glassnode.com/further-information/faq#does-glassnode-accept-guest-posts) No, Glassnode does not accept guest posts. I am new to crypto and would like some guidance on how to get started. Where should I start?[](https://docs.glassnode.com/further-information/faq#i-am-new-to-crypto-and-would-like-some-guidance-on-how-to-get-started.-where-should-i-start) There are three areas that will help you get acquainted with, not just Glassnode, but the metrics used in evaluating cryptocurrencies as well. They are: To request a refund, please contact us at support@glassnode.com. You are entitled to a refund according to applicable legislation or in specific cases outlined in our Terms and Conditions. Please refer to our for further details on eligibility and procedures. Please send your request, ideally along with your sales receipt, to to request a VAT refund. We also recommend that you include a copy of your tax exemption certificate to streamline the process. The receipt was sent to the email address associated with your account. Please look for emails from "Paddle", our payment provider. Likewise, you can also log in to your account's section. To see your payment history, you can simply go to the You may only pay with crypto if you are subscribing to the Professional plan. Please reach out to our sales team at . To see a complete list of our metrics, our summarizes all metrics separated by tier and what those metrics assets and resolutions those metrics support. To see more information about any metric, you may click on the Docs link. API access is only available as an Add-on to the Professional plan. If you are interested in the Professional plan, please fill out our contact form . The downloadable JSON/CSV files are only accessible to the Professional plan. To subscribe to the Professional plan, you can upgrade or you can click to speak to a member of the sales team. ℹ️ [Terms](https://studio.glassnode.com/terms-and-conditions) [assist@paddle.com](mailto:assist@paddle.com) ["Billing"](https://studio.glassnode.com/settings/billing) [Billing page here](https://studio.glassnode.com/settings/billing) [sales@glassnode.com](mailto:sales@glassnode.com) [Metrics Catalog](https://docs.glassnode.com/data/metric-catalog) [here](https://studio.glassnode.com/pricing?modal=upgrade&upgradePlan=professional) [here](https://studio.glassnode.com/pricing) [here](https://studio.glassnode.com/metrics?a=BTC&m=addresses.ActiveCount&modal=upgrade&upgradePlan=professional) [What is Glassnode?](https://docs.glassnode.com/) [Introduction to Glassnode](https://docs.glassnode.com/) [Insights](https://insights.glassnode.com/) [support@glassnode.com](mailto:support@glassnode.com) [support@glassnode.com](mailto:support@glassnode.com) [studio.glassnode.com](http://studio.glassnode.com/) [studio.glassnode.com](http://studio.glassnode.com/) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-dd47fc81e16efbd5c646e5ef235c499f3adcd977%252Fimage%2520%2869%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=aa2d4fd1&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-881061105df3a95e52c499ae37ec1c5fd4e7092b%252Fimage%2520%2870%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=9b444edc&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-ca5c4e556d825316928f1a8530f074708200d295%252Fimage%2520%2871%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=a72f6b65&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-e21f4041d9fa4fe18a7442175061837e293f0cf8%252Fimage%2520%2872%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=10c30c0a&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-5706b153e9c289d0ebe48fba366757c19b975c2a%252Fimage%2520%2873%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=ab9eff1e&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-2c010e4a5360030aa416a1d81466390489da9c4d%252Fimage%2520%2874%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=fa461ed4&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-dd729c1d401bf0987e5b7d9fb822a37d0f120823%252Fimage%2520%2875%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=10b0131a&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-23ca6741bf06e456ab68e2fd1531a0423dc2927c%252Fimage%2520%2876%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=4a85e522&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-c55a6de8aefdc3445a39fa92552ff4fe91bd277d%252Fimage%2520%2877%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=dd2beae2&sv=2) ![](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-e63001497d5f59cd5fccf215afd696955c211ca5%252Fimage%2520%2878%29.png%3Falt%3Dmedia&width=300&dpr=4&quality=100&sign=a2a3f058&sv=2) --- # Entity-Adjusted Metrics | Glassnode Docs [PreviousOn-Chain Concepts](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts) [NextOn-chain Glossary](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/on-chain-glossary) Last updated 5 months ago [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#overview) Overview -------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#rationale) Rationale A major question amongst Bitcoin researchers and investors has been that of knowing how many people actually own and use Bitcoin. Down to the present day, it is most often still the \*\*\*\* number of addresses \*\*\*\* in the Bitcoin network that is being used as a proxy to the number of Bitcoin users/holders. However, it is well established that this approach is fallacious, as a single entity can own and control multiple Bitcoin addresses holding BTC, and conversely, Bitcoin addresses can hold funds from more than one individual (e.g. exchange addresses). ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#what-is-entity-adjustment) What is entity-adjustment? By applying a combination of industry–standard heuristics, proprietary clustering algorithms, and advanced data science methods on top of raw on–chain data, Glassnode has developed the method of entity-adjustment, which helps us obtain a **more precise estimate of the actual number of users in the Bitcoin network**. _Note that with our approach we only aim at solving one of the two confounding factors that follows from using addresses as a proxy to the number of users:_ _**mapping multiple addresses to a single entity**__. We do not tackle the case in which a single address holds funds of multiple users: In this case the address holding the bitcoins is still controlled by a single entity on the network level (e.g. an exchange) — therefore we deliberately refer to our numbers as “__**entities**__” rather than “users” or “individuals”._ ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#mutability-of-results) Mutability of Results Because our entity metrics rely on clustering techniques and statistical information that changes over time, these metrics are mutable (i.e. most recent data points are subject to slight changes as time progresses). However, we have put the necessary mechanisms in place in order to obtain highly stable values that keep these fluctuations to a minimum (on average less than 1%). [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#list-of-entity-adjusted-metrics) List of Entity-Adjusted Metrics ------------------------------------------------------------------------------------------------------------------------------------------------------------------ ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#entities) Entities * &#xNAN;_The number of unique entities that appeared for the first time in a transaction in the Bitcoin network._ * &#xNAN;_The net growth of unique entities in the network. This metric is defined as the difference between new entities and “disappearing” entities (entities with a zero balance that had a non–zero balance at the previous timestamp)._ * &#xNAN;_The number of unique entities holding at least 1,000 BTC._ * &#xNAN;_The number of unique entities that were active either as a sender or receiver._ * &#xNAN;_The number of unique entities that were active as a sender of BTC._ * &#xNAN;_The number of unique entities that were active as a receiver of BTC._ ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#transactions) Transactions * _The number of transactions performed by unique entities._ * _The total volume transferred between unique entities._ * _The mean volume transferred between unique entities._ * _The median volume transferred between unique entities._ [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#about) About -------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#introduced-by) Introduced By ### [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#date-introduced) Date Introduced January 2020 [](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/entity-adjusted-metrics#further-resources) Further Resources -------------------------------------------------------------------------------------------------------------------------------------- Bitcoin transaction metrics, entity-adjusted to ignore . Rafael Schultze-Kraft - Rafael Schultze-Kraft - 📖 [**Number of New Entities**](https://studio.glassnode.com/metrics?a=BTC&m=entities.NewCount) [**Entities Net Growth**](https://studio.glassnode.com/metrics?a=BTC&m=entities.NetGrowthCount) [**Number of Whales**](https://studio.glassnode.com/metrics?a=BTC&m=entities.Min1KCount) [**Number of Active Entities**](https://studio.glassnode.com/metrics?a=BTC&m=entities.ActiveCount) [**Number of Sending Entities**](https://studio.glassnode.com/metrics?a=BTC&m=entities.SendingCount) [**Number of Receiving Entities**](https://studio.glassnode.com/metrics?a=BTC&m=entities.ReceivingCount) [in-house transactions](https://insights.glassnode.com/true-bitcoin-volume/#entity-adjustment) [**Entity-Adjusted Transaction Count**](https://studio.glassnode.com/metrics?a=BTC&m=transactions.EntityAdjustedCount) [**Entity-Adjusted Volume (Total)**](https://studio.glassnode.com/metrics?a=BTC&m=transactions.TransfersVolumeEntityAdjustedSum) [**Entity-Adjusted Volume (Mean)**](https://studio.glassnode.com/metrics?a=BTC&m=transactions.TransfersVolumeEntityAdjustedMean) [**Entity-Adjusted Volume (Median)**](https://studio.glassnode.com/metrics?a=BTC&m=transactions.TransfersVolumeEntityAdjustedMedian) [Glassnode](https://twitter.com/glassnode/) [How Many Entities Hold Bitcoin?](https://insights.glassnode.com/bitcoin_holders/) [Over 75% of Bitcoin’s On–Chain Volume Doesn’t Change Hands](https://insights.glassnode.com/true-bitcoin-volume/) --- # Bridges | Glassnode Docs [PreviousAddresses](https://docs.glassnode.com/basic-api/endpoints/addresses) [NextBlockchain](https://docs.glassnode.com/basic-api/endpoints/blockchain) Last updated 3 months ago [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges-deposits-by-chain) Bridges Deposits By Chain ------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges.depositsbychain) `GET` `https://api.glassnode.com/v1/metrics/bridges/deposits_by_chain` This metric measures the USD value which is deposited into bridge smart contracts on Ethereum, and is therefore flowing out of the Ethereum blockchain, and into target blockchains. Deposit Volume is computed daily by multiplying the number of tokens deposited into bridges by the latest daily price of each token. Bridges are protocols that enable digital assets to be transferred from one blockchain to another. When an asset is transferred out of Ethereum, it gets deposited and locked into a bridge smart contract. When the asset is transferred back to Ethereum, it is withdrawn and released from the smart contract. This metric only includes bridge contracts on the Ethereum side. The bridges included in this metric cover bridge deposits into both L1 and L2 blockchains, providing information on the value transferred to both L1 competitors, and L2 scaling solutions. Each bridge included in this metric represents a single blockchain, except the ones labeled as multichain. That label is used to represent bridges that allow transferring assets across multiple different chains. #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#query-parameters) Query Parameters Name Type Description a\* string asset id: ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-200-ok) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-400-bad-request) Copy [{"t":1726790400,"o":{"0xhabitat":0,"arbitrum":20447057.465309102,"avalanche":160291.3732274448,"aztec":0,"boba":0,"bsc":0,"celo":0,"deversifi":301552.29571406567,"dydx":80455.80806364273,"fantom":0,"fuse":0,"gluon_network":0,"gnosis_chain":1624403.9505277479,"harmony":0,"huobi":0,"immutable_x":10617.482854492195,"layer2finance":0,"loopring":142262.49505044654,"moonriver":0,"multichain":22937248.946628377,"near":0.19085531441545908,"omg":0,"optimism":431915.8565131575,"polygon":1733364.0223896678,"ronin":0,"rsk":78952.40813607145,"secret_network":0,"solana":0,"sorare":41931.16957850255,"synthetix":0,"unichain":0,"zkswap":0,"zksync":102.04705132330939}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges-net-flow-by-chain) Bridges Net Flow By Chain ------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges.netvolumebychain) `GET` `https://api.glassnode.com/v1/metrics/bridges/net_volume_by_chain` This metric shows the net USD value flowing into, or out of Ethereum bridge smart contracts, calculated as bridge deposits minus bridge withdrawals. It can also be considered to represent the net USD value flowing in, or out of the Ethereum blockchain via bridges. A positive value means that there is more value being deposited into bridges, which translates into a net value outflow from Ethereum. On the other hand, a negative value means that there is more USD value being withdrawn from bridges, which translates into more USD value flowing back into Ethereum. Bridges are protocols that enable digital assets to be transferred from one blockchain to another. When an asset is transferred out of Ethereum, it gets deposited and locked into a bridge smart contract. When the asset is transferred back to Ethereum, it is withdrawn and released from the smart contract. This metric only includes bridge contracts on the Ethereum side. The bridges included in this metric cover bridge deposits into both L1 and L2 blockchains, providing information on the value transferred to both L1 competitors, and L2 scaling solutions. Each bridge included in this metric represents a single blockchain, except the ones labeled as multichain. That label is used to represent bridges that allow transferring assets across multiple different chains. #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#query-parameters-1) Query Parameters Name Type Description a\* string asset id: ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-200-ok-1) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-400-bad-request-1) Copy [{"t":1726790400,"o":{"0xhabitat":0,"arbitrum":12712467.437241789,"avalanche":-477720.10860599263,"aztec":0,"boba":0,"bsc":0,"celo":0,"deversifi":-540863.3485338009,"dydx":-546872.5049951423,"fantom":0,"fuse":0,"gluon_network":0,"gnosis_chain":1303803.4760915216,"harmony":0,"huobi":0,"immutable_x":-1763.0354612274616,"layer2finance":0,"loopring":100790.38677002348,"moonriver":0,"multichain":13988100.19122274,"near":-0.2825594847672299,"omg":0,"optimism":120494.76389202633,"polygon":-49335881.70449057,"ronin":0,"rsk":78952.40813607145,"secret_network":0,"solana":0,"sorare":41931.16957850255,"synthetix":0,"unichain":0,"zkswap":0,"zksync":-14085.511448926696}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges-tvl) Bridges TVL --------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges.totalvaluelockedbychain) `GET` `https://api.glassnode.com/v1/metrics/bridges/total_value_locked_by_chain` The Total Value Locked (TVL) in bridges measures the total USD value that is locked within the Ethereum side of bridge smart contracts. Locked tokens are not available on the Ethereum chain, but are available on the target blockchains. An increasing TVL means that value is flowing out of Ethereum and into other target blockchains, whilst a decreasing TVL means the value is flowing back into Ethereum. Bridge TVL is computed daily, by multiplying the number of tokens locked within the bridge smart contracts, by the latest daily price for each token. Bridges are protocols that enable digital assets to be transferred from one blockchain to another. When an asset is transferred out of Ethereum, it gets deposited and locked into a bridge smart contract. When the asset is transferred back to Ethereum, it is withdrawn and released from the smart contract. This metric only includes bridge contracts on the Ethereum side. The bridges included in this metric cover bridge deposits into both L1 and L2 blockchains, providing information on the value transferred to both L1 competitors, and L2 scaling solutions. Each bridge included in this metric represents a single blockchain, except the ones labeled as multichain. That label is used to represent bridges that allow transferring assets across multiple different chains. #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#query-parameters-2) Query Parameters Name Type Description a\* string asset id: ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-200-ok-2) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-400-bad-request-2) Copy [{"t":1726790400,"o":{"0xhabitat":902.5000703520443,"arbitrum":7373978149.99123,"avalanche":207861874.79910666,"aztec":3170027.99369427,"boba":2333476.6404900835,"bsc":943599.870130564,"celo":0,"deversifi":10674594.064056505,"dydx":179870029.12567508,"fantom":171189.11030706408,"fuse":8181272.550554278,"gluon_network":31982.951972286686,"gnosis_chain":241497418.4241243,"harmony":304414.1382947912,"huobi":77523.48211045864,"immutable_x":16227924.99195909,"layer2finance":126780.24220276855,"loopring":40026338.11652436,"moonriver":1163500.0069656668,"multichain":787321929.815952,"near":54743237.8421357,"omg":55057.456859704835,"optimism":1579871698.2065344,"polygon":2325614405.746665,"ronin":1215363.6891726318,"rsk":4556230.137817717,"secret_network":0,"solana":616205.4570264994,"sorare":18303981.85520938,"synthetix":0,"unichain":0,"zkswap":3365069.65404971,"zksync":49452576.23100746}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges-tvl-relative) Bridges TVL Relative --------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges.totalvaluelockedbychainrelative) `GET` `https://api.glassnode.com/v1/metrics/bridges/total_value_locked_by_chain_relative` This metric presents the Relative Total Value Locked (TVL dominance) of each target blockchain bridge compared to the total TVL across all bridges. A rising relative TVL indicates that the target blockchain is growing in USD denominated TVL dominance compared to the others (and vice versa). Bridge TVL is computed daily, by multiplying the number of tokens locked within the bridge smart contract, by the latest daily price of each token. Relative TVL is then computed by dividing the TVL of each bridge by the total TVL across all bridges. Bridges are protocols that enable digital assets to be transferred from one blockchain to another. When an asset is transferred out of Ethereum, it gets deposited and locked into a bridge smart contract. When the asset is transferred back to Ethereum, it is withdrawn and released from the smart contract. This metric only includes bridge contracts on the Ethereum side. The bridges included in this metric cover bridge deposits into both L1 and L2 blockchains, providing information on the value transferred to both L1 competitors, and L2 scaling solutions. Each bridge included in this metric represents a single blockchain, except the ones labeled as multichain. That label is used to represent bridges that allow transferring assets across multiple different chains. #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#query-parameters-3) Query Parameters Name Type Description a\* string asset id: ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-200-ok-3) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-400-bad-request-3) Copy [{"t":1726790400,"o":{"0xhabitat":6.989754279533907e-8,"arbitrum":0.5711057209223848,"avalanche":0.016098651697193257,"aztec":0.0002455148477331819,"boba":0.00018072495360244844,"bsc":0.00007308067275651276,"celo":0,"deversifi":0.0008267344457094777,"dydx":0.013930716984328356,"fantom":0.000013258390283688833,"fuse":0.0006336296993302557,"gluon_network":0.000002477041085805295,"gnosis_chain":0.01870368401487172,"harmony":0.0000235765081443888,"huobi":0.000006004100261560952,"immutable_x":0.0012568332334451254,"layer2finance":0.000009818976968627552,"loopring":0.0030999916491409674,"moonriver":0.00009011167334040949,"multichain":0.060977134618452486,"near":0.0042397977967287125,"omg":0.00000426413368095649,"optimism":0.12235915903414879,"polygon":0.1801160329967905,"ronin":0.00009412845302350816,"rsk":0.00035287453320563187,"secret_network":0,"solana":0.00004772437002296313,"sorare":0.0014176213355313557,"synthetix":0,"unichain":0,"zkswap":0.00026062058927207225,"zksync":0.0038300424310197196}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges-withdrawals-by-chain) Bridges Withdrawals By Chain ------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#bridges.withdrawalsbychain) `GET` `https://api.glassnode.com/v1/metrics/bridges/withdrawals_by_chain` This metric measures the USD value which is withdrawn from bridge smart contracts on Ethereum, and is therefore flowing into the Ethereum blockchain, and out of target blockchains. Withdrawal Volume is computed daily by multiplying the number of tokens withdrawn from bridges by the latest daily price of each token. Bridges are protocols that enable digital assets to be transferred from one blockchain to another. When an asset is transferred out of Ethereum, it gets deposited and locked into a bridge smart contract. When the asset is transferred back to Ethereum, it is withdrawn and released from the smart contract. This metric only includes bridge contracts on the Ethereum side. The bridges included in this metric cover bridge deposits into both L1 and L2 blockchains, providing information on the value transferred to both L1 competitors, and L2 scaling solutions. Each bridge included in this metric represents a single blockchain, except the ones labeled as multichain. That label is used to represent bridges that allow transferring assets across multiple different chains. #### [](https://docs.glassnode.com/basic-api/endpoints/bridges#query-parameters-4) Query Parameters Name Type Description a\* string asset id: ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-200-ok-4) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/bridges#tab-id-400-bad-request-4) Copy [{"t":1726790400,"o":{"0xhabitat":0,"arbitrum":7734590.028067307,"avalanche":638011.4818334375,"aztec":0,"boba":0,"bsc":0,"celo":0,"deversifi":842415.6442478665,"dydx":627328.313058785,"fantom":0,"fuse":0,"gluon_network":0,"gnosis_chain":320600.474436226,"harmony":0,"huobi":0,"immutable_x":12380.518315719652,"layer2finance":0,"loopring":41472.108280423,"moonriver":0,"multichain":8949148.755405646,"near":0.47341479918268903,"omg":0,"optimism":311421.09262113116,"polygon":51069245.72688024,"ronin":0,"rsk":0,"secret_network":0,"solana":0,"sorare":0,"synthetix":0,"unichain":0,"zkswap":0,"zksync":14187.558500250005}}] Copy unsupported asset ⚙️ [View in Studio](https://studio.glassnode.com/charts/bridges.DepositsByChain?a=ETH) [View in Studio](https://studio.glassnode.com/charts/bridges.NetVolumeByChain?a=ETH) [View in Studio](https://studio.glassnode.com/charts/bridges.TotalValueLockedByChain?a=ETH) [View in Studio](https://studio.glassnode.com/charts/bridges.TotalValueLockedByChainRelative?a=ETH) [View in Studio](https://studio.glassnode.com/charts/bridges.WithdrawalsByChain?a=ETH) --- # Realized Cap HODL Waves | Glassnode Docs [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#indicator-overview) Indicator Overview ----------------------------------------------------------------------------------------------------------------------------------------------------- Realized Cap HODL Waves present a macro view of the distribution of age and economic weight of the coin supply. The thickness of each age band is established by calculating the total realized value of coins in each age band as a proportion of the Realized Cap. This provides insight into the relative economic weight stored by coins of various holding times, and changes arising from holding and spending behaviour. The distinction between HODL waves and Realized Cap HODL waves may be though of as follows: * HODL waves consider the relative proportion of BTC supply in various age brackets to the circulating BTC supply. * A 1y-2y age bracket with a value of 5% indicates that 5% of all coins are aged between 1y and 2y. * Realized Cap HODL waves consider the economic weight (USD realized value) of the coin supply in various age brackets, relative to the Realized Cap (total realized value of coin supply). * A 1y-2y age bracket with a value of 5% indicates 5% of the Realized cap USD value is derived from coins aged between 1y and 2y. Realized Cap HODL Waves provide unique insight relative to the HODL waves in that it: * Combines coin age **and** economic weight into a single metric and accounts for changes in market valuation over time. * Minimizes the importance of very old or lost coins last moved at very cheap prices, thus providing a viewpoint that focuses on active, and economically meaningful supply. * Provides a more dynamic / responsive perspective for looking at coin distribution, whereas the original HODL Waves tend to present a slower / smoother chart. Realized Cap HODL Waves can generally be considered within the following framework: * **Thickness of HODL wave bands** represents the proportion of the total coin supply that is categorised into that age band. * **Accumulation and HODLing** behaviour will result in coin maturation (young to old) as an increased proportion of coins move from younger age bands (warm colours) into older age bands (cool colours). This indicates an increased long-term conviction to accumulate and hold the asset and an associated decrease in liquid circulating supply. * **Spending old coins** back into the economy (old to young) will result in the proportion of warmer colour bands increasing. This may suggest a reduced long-term conviction to hold the asset and an increase in liquid circulating supply as old coins are re-activated after a period of dormancy. * **Spending young coins** will reclassify them as young coins with immediate effect on the younger age band volume. * **Maturation of young coins** into old coins will always be delayed by the time for coins to reach the lower bound of the older age bracket before they are reclassified into new HODL wave bands. More detailed analysis on particular sub-sets of age bands can be achieved by turning off/on different legend items. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#video-guide) **Video Guide** ------------------------------------------------------------------------------------------------------------------------------------------- [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#how-is-it-measured) **How is it measured?** ---------------------------------------------------------------------------------------------------------------------------------------------------------- Active supply bands are measured by calculating the number of coins that have been transacted within the specified time window. Active Supply\=value (of all UTXOs where t−tcreated is in selected age band)\\begin{align\*} \\textrm{Active Supply} = \\textrm{value}~&{\\color{gray}{\\textrm{(of all UTXOs where}}} \\\\ &{\\color{gray}{~\\textrm{$t - t\_\\textrm{created}$ is in selected age band)}}} \\end{align\*}Active Supply\=value ​(of all UTXOs where t−tcreated​ is in selected age band)​ The coins that fall within an active supply band are then multiplied by their respective Realized Prices (price when the UTXO was created) in order to provide the combination of (1) age and (2) economic value. Realized Active Supply\=Active Supply \* Realized Price (for each coin within age band)\\begin{align\*} \\textrm{Realized Active Supply} = \\textrm{Active Supply \* Realized Price}~&{\\color{gray}{\\textrm{(for each coin within age band)}}} \\end{align\*}Realized Active Supply\=Active Supply \* Realized Price ​(for each coin within age band)​ Each Realized Active Supply band is then weighed in relative proportion to the Realized Cap: (Realized Cap HODL Wave)age band\=(Realized Active Supply)age bandRealized Cap(Realized\\ Cap\\ HODL\\ Wave)\_{age\\ band} = \\frac{(Realized\\ Active\\ Supply)\_{age\\ band}}{Realized\\ Cap}(Realized Cap HODL Wave)age band​\=Realized Cap(Realized Active Supply)age band​​ Realized Cap HODL Waves aggregates and stacks the following active supply bands in relative proportion to the Realized Cap: * <1d * 1d-1w * 1w-1m * 1-3m * 3-6m * 6-12m * 1-2y * 2-3y * 3-5y * 5-7y * 7-10y * 10yr [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#user-guide) User Guide ------------------------------------------------------------------------------------------------------------------------------------- Realized Cap HODL Waves provide a macro view of (1) the age of coins and (2) their relative economic weight as a proportion of the Realized Cap. In a way, it can be thought of as the USD weighted equivalent to the HODL Waves (which are BTC weighted), where the USD value of the coin is based on when the coin last moved. This provides a macro gauge on the balance between coin maturation, spending, and 'stored value' held by various group of market participants. It can also indicate where changes in this age distribution occur as the thickness of Realized Cap HODL wave bands change in response to dormant coins maturing, or when old coins are spent, resetting their age into the youngest category, and revaluing to the current price. This metric can also be used in conjunction with Realized Profit and Realized Loss to assess the age of spent coins, and the potential capital inflows/outflows to the market as a result. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#indicator-signals) Indicator Signals In general, we can classify sets of coins based on a broad view of age brackets: * **Lost or Ancient Coins (dark cool colours):** Coins older than 5-years are very rarely spent and in many instances are assumed to be either lost, or discounted from freely circulating supply. Over time these age colour bands tend to steadily decrease as their realized value is often at substantially cheaper prices, despite the UTXOs often holding large BTC coin volumes. * **Old Coins (cool colours):** Coins that are older than 1-year up to 5-years old are often assumed to be owned by HODLers/smart money investors. These entities are often observed to accumulate cheap coins in bear markets, HODL in cold storage for long periods of time and then sell expensive coins into bull market strength. Older colour bands tend to oscillate in thickness over market cycles, swelling after periods of accumulation and thinning out as coins are spent. These bands can be used to identify bearish and bullish market cycles as they swell and shrink, respectively. * **Young Coins (warm colours):** Coins younger than 6 months are generally considered young coins which also make up the majority of day-to-day transaction volumes. Many young coins are held by both speculative short term investors/traders and are the most likely to be re-spent in response to market volatility. These colour bands tend to oscillate in reverse to old coins, swelling in bull markets as old coins are spent, and shrinking as young coins become dormant and mature during bear markets and accumulation. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#example-applications) Example Applications The legend items for the Realized Cap HODL waves can be clicked and turned on/off for more detailed analysis of specific coin age categories of interest. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#young-coin-behaviour) **Young Coin Behaviour** The chart below presents a view where **all coins older than 6 months are turned off** making the proportion of young, recently moved coins stand out clearly. As bull markets progress, long term holders spend (and likely sell) their coins. These spends result in old coins recategorizing into young coins, and with a higher Realized Price (i.e. the price the coin last moved). A higher economic weight carried by younger, more liquid coins results in the following findings in the Realized Cap HODL Wave chart: * **Distribution tops occur** when young coins (<6 months) are valued at 80%+ of the value of the Realized Cap. This indicates newer buyers hold a large proportion of the economic value, creating increased probability of oversupply and a market top. * **Accumulation bottoms** occur when young coins (<6 months) are valued at <40% of the value of the Realized Cap. This indicates buyers of coins during the bull cycle have either capitulated, or still hold onto the coins showing conviction. Smart money investors accumulate younger coins, and keep their older coin holdings dormant. #### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#old-coin-behaviour) Old **Coin Behaviour** The chart below presents a view where **all coins younger than 6 months are turned off** making the proportion of old, unmoved coins stand out clearly. As bear markets progress, younger unspent coins mature and recategorize into older coins, usually accumulated by smart money, higher conviction buyers. During this period the economic weight carried by older coins increases forming growing market support. This dynamic yields the following findings in the Realized Cap HODL Waves chart: * **Accumulation bottoms** occur when old coins (>6 months) are valued at 60%+ of the value of the Realized Cap. * Distribution tops occur when old coins (>6 months) are valued at <20% of the value of the Realized Cap. ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#recommended-settings) Recommended Settings * Default for aggregate overview of HODLing behaviour. * Turning off and on various lifespan categories for more detailed insights. [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#about) **About** ------------------------------------------------------------------------------------------------------------------------------- ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#coined-by) Coined By ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#date-created) **Date Created** April 2018 ### [](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/realized-cap-hodl-waves#further-resources) Further Resources [PreviousHODL Waves](https://docs.glassnode.com/guides-and-tutorials/metric-guides/age-distribution/hodl-waves) [NextProfit/Loss (UTXO)](https://docs.glassnode.com/guides-and-tutorials/metric-guides/profit-loss-utxo) Last updated 5 months ago Original HODL Waves: , Realized Cap HODL Waves: Dhruv Bansal - 📖 [View Realized Cap HODL Waves in Glassnode Studio](https://studio.glassnode.com/metrics?a=BTC&category=Lifespan&m=supply.RcapHodlWaves&s=1599553433&u=1635724800&zoom=) [View Realized Cap HODL Waves in Glassnode API Docs](https://docs.glassnode.com/basic-api/endpoints/supply#realized-cap-hodl-waves) [Dhruv Bansal](https://twitter.com/dhruvbansal) [Unchained Capital](https://twitter.com/unchainedcap) [typerbole](https://twitter.com/typerbole) [Bitcoin Data Science (Pt. 1): HODL Waves](https://www.unchained-capital.com/blog/hodl-waves-1/) ![Bitcoin: Realized Cap HODL Waves](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-daf701c9b491f63b751ea5e9c4790592da2e6ff4%252F1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=c179288d&sv=2) ![Bitcoin: Realized Cap HODL Waves with Maturing and New Young Coins marked](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-70bab1f1c5cc7cfe1768e0adfa28a2cf1cdd6410%252F2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=85e783b4&sv=2) ![Bitcoin: Realized Cap HODL Waves](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-4acdb66b59ca8600adb5fe47bcffbe081cea19fc%252F3.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3b8e4779&sv=2) ![Bitcoin: Realized Cap HODL Waves with Accumulation and Distribution marked](https://docs.glassnode.com/~gitbook/image?url=https%3A%2F%2F2190898932-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Ldi5WtVBeQ2iFbdqJ1a%252Fuploads%252Fgit-blob-cdaa8c1ee8f78fea0a94a53b933a987be78516e6%252F4.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=72159f8f&sv=2) --- # Changelog | Glassnode Docs [PreviousTransactions](https://docs.glassnode.com/basic-api/endpoints/transactions) [Next2025](https://docs.glassnode.com/further-information/changelog/2025) Last updated 3 months ago ### [](https://docs.glassnode.com/further-information/changelog#current-changelog) Current changelog ### [](https://docs.glassnode.com/further-information/changelog#past-changelog) Past changelog ℹ️ [2025](https://docs.glassnode.com/further-information/changelog/2025) [2024](https://docs.glassnode.com/further-information/changelog/2024) [2023](https://docs.glassnode.com/further-information/changelog/2023) [2022](https://docs.glassnode.com/further-information/changelog/2022) [2021](https://docs.glassnode.com/further-information/changelog/2021) [2020](https://docs.glassnode.com/further-information/changelog/2020) --- # Lightning | Glassnode Docs [PreviousInstitutions](https://docs.glassnode.com/basic-api/endpoints/institutions) [NextMarket](https://docs.glassnode.com/basic-api/endpoints/market) Last updated 2 months ago [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-base-fee-median) Lightning Network Base Fee (Median) --------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.basefeemedian) `GET` `https://api.glassnode.com/v1/metrics/lightning/base_fee_median` The median base fee in the Lightning Network in Satoshi, derived from the channel graph. Base fees are fees that have to be paid for each payment that is routed through the channel. For payments between two peers that share a direct channel connection no fees have to be spent. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request) Copy [{"t":1726790400,"v":1}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-capacity) Lightning Network Capacity ----------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.networkcapacitysum) `GET` `https://api.glassnode.com/v1/metrics/lightning/network_capacity_sum` The total amount of BTC locked in the Lightning Network. The Bitcoin Lightning Network is a Layer 2 payment protocol built on top of the Bitcoin blockchain. It is designed to provide faster, cheaper, and more scalable transactions than traditional on-chain Bitcoin transactions. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-1) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-1) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-1) Copy [{"t":1726790400,"v":5207.48444973}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-channel-size-mean) Lightning Network Channel Size (Mean) ------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.channelsizemean) `GET` `https://api.glassnode.com/v1/metrics/lightning/channel_size_mean` The mean BTC size of public Lightning Network channels. The Lightning Network works by creating payment channels between two parties, where multiple transactions can be made without the need for each individual transaction to be recorded on the Bitcoin blockchain. These transactions are instead recorded off-chain, which makes them faster and cheaper. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-2) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-2) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-2) Copy [{"t":1726790400,"v":0.09410152785070204}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-channel-size-median) Lightning Network Channel Size (Median) ----------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.channelsizemedian) `GET` `https://api.glassnode.com/v1/metrics/lightning/channel_size_median` The median BTC size of public Lightning Network channels. The Lightning Network works by creating payment channels between two parties, where multiple transactions can be made without the need for each individual transaction to be recorded on the Bitcoin blockchain. These transactions are instead recorded off-chain, which makes them faster and cheaper. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-3) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-3) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-3) Copy [{"t":1726790400,"v":0.01831257}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-fee-rate-median) Lightning Network Fee Rate (Median) --------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.feeratemedian) `GET` `https://api.glassnode.com/v1/metrics/lightning/fee_rate_median` The median fee rate in the Lightning Network, derived from the channel graph. On top of a base fee, fees for payments are proportional to the transferred amount. Values here are given in units sat / BTC. E.g., a value of 1000 indicates that a fee of 1000 Satoshi is required to transfer 1 BTC. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-4) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-4) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-4) Copy [{"t":1726790400,"v":10000}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-gini-capacity-distribution) Lightning Network Gini Capacity Distribution ----------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.ginicapacitydistribution) `GET` `https://api.glassnode.com/v1/metrics/lightning/gini_capacity_distribution` The Gini coefficient of the Lightning network capacity is a statistical measure of the distribution of Bitcoin capacity among the nodes on the Lightning Network. It is calculated by comparing the actual distribution of Bitcoin capacity among the nodes to a hypothetical uniform distribution. It ranges from 0 to 1, with 0 representing perfect equality and 1 representing maximum inequality. A higher Gini coefficient indicates a more unequal distribution of Bitcoin capacity among nodes, while a lower Gini coefficient indicates a more even distribution of Bitcoin capacity. The Gini coefficient of the Lightning network capacity can be used to monitor the degree of centralization and potential risks associated with a highly concentrated distribution of Bitcoin capacity. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-5) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-5) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-5) Copy [{"t":1726790400,"v":0.9699507988372439}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-gini-channel-distribution) Lightning Network Gini Channel Distribution --------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.ginichanneldistribution) `GET` `https://api.glassnode.com/v1/metrics/lightning/gini_channel_distribution` The Gini coefficient of the Lightning network channel distribution is a statistical measure of the distribution of numbers of channels among the nodes on the Lightning Network. It is calculated by comparing the actual distribution of channels among the nodes to a hypothetical uniform distribution. It ranges from 0 to 1, with 0 representing perfect equality and 1 representing maximum inequality. A higher Gini coefficient indicates a more unequal distribution of channel numbers among nodes, while a lower Gini coefficient indicates a more even distribution of channel counts. The Gini coefficient of the Lightning network channel distribution can be used to monitor the degree of centralization and potential risks associated with a highly concentrated influence of network nodes. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-6) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-6) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-6) Copy [{"t":1726790400,"v":0.7425478169617953}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-node-connectivity) Lightning Network Node Connectivity ----------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.nodeconnectivity) `GET` `https://api.glassnode.com/v1/metrics/lightning/node_connectivity` The number of nodes in the Lightning Network that are connected via IP, TOR, or both. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-7) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-7) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-7) Copy [{"t":1726790400,"o":{"nodes_ip_and_tor":1265,"nodes_ip_only":1575,"nodes_tor_only":8143}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-number-of-channels) Lightning Network Number of Channels ------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.channelscount) `GET` `https://api.glassnode.com/v1/metrics/lightning/channels_count` The number of public Lightning Network channels. The Lightning Network works by creating payment channels between two parties, where multiple transactions can be made without the need for each individual transaction to be recorded on the Bitcoin blockchain. These transactions are instead recorded off-chain, which makes them faster and cheaper. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-8) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-8) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-8) Copy [{"t":1726790400,"v":55339}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning-network-number-of-nodes) Lightning Network Number of Nodes ------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#lightning.nodescount) `GET` `https://api.glassnode.com/v1/metrics/lightning/nodes_count` The number of Lightning Network nodes. #### [](https://docs.glassnode.com/basic-api/endpoints/lightning#query-parameters-9) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-200-ok-9) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/lightning#tab-id-400-bad-request-9) Copy [{"t":1726790400,"v":17103}] Copy unsupported asset ⚙️ [View in Studio](https://studio.glassnode.com/charts/lightning.BaseFeeMedian?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.NetworkCapacitySum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.ChannelSizeMean?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.ChannelSizeMedian?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.FeeRateMedian?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.GiniCapacityDistribution?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.GiniChannelDistribution?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.NodeConnectivity?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.ChannelsCount?a=BTC) [View in Studio](https://studio.glassnode.com/charts/lightning.NodesCount?a=BTC) --- # Mempool | Glassnode Docs [PreviousMarket](https://docs.glassnode.com/basic-api/endpoints/market) [NextMining](https://docs.glassnode.com/basic-api/endpoints/mining) Last updated 3 months ago [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-average-relative-fee) Mempool Average Relative Fee ------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.feesaveragerelative) `GET` `https://api.glassnode.com/v1/metrics/mempool/fees_average_relative` The mean relative fee of transactions waiting in the mempool. The relative fee is calculated as the total transaction fees divided by the transacion size (in vByte). High relative fees give an indication of transaction urgency as miners do not consider total transaction fee but fee per size, as the total fee they can collect is limited by the block space. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request) Copy [{"t":1726790400,"v":5.968747540182545}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-median-relative-fee) Mempool Median Relative Fee ----------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.feesmedianrelative) `GET` `https://api.glassnode.com/v1/metrics/mempool/fees_median_relative` The median relative fee of transactions waiting in the mempool. The relative fee is calculated as the total transaction fees divided by the transacion size (in vByte). High relative fees give an indication of transaction urgency as miners do not consider total transaction fee but fee per size, as the total fee they can collect is limited by the block space. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-1) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-1) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-1) Copy [{"t":1726790400,"v":3}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-total-amount-of-coins) Mempool Total Amount of Coins --------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.txsvaluesum) `GET` `https://api.glassnode.com/v1/metrics/mempool/txs_value_sum` The total amount of coins in transactions waiting in the mempool. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-2) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-2) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-2) Copy [{"t":1726790400,"v":1917.05927253}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-total-amount-of-coins-by-relative-fee) Mempool Total Amount of Coins by Relative Fee ----------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.txsvaluedistribution) `GET` `https://api.glassnode.com/v1/metrics/mempool/txs_value_distribution` The total amount of coins in transactions waiting in the mempool in different relative fee (Sat / vByte) cohorts. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-3) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-3) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-3) Copy [{"t":1726790400,"o":{"0_1":0.03365374,"10_50":441.3945484,"1_2":199.93676128,"2_3":117.10264466,"3_4":415.10095063,"4_5":224.06536858,"50_plus":4.86250099,"5_7":39.87490442,"7_10":474.68793983}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-total-amount-of-fees) Mempool Total Amount of Fees ------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.feessum) `GET` `https://api.glassnode.com/v1/metrics/mempool/fees_sum` The total amount of fees of transactions waiting in the mempool. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-4) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-4) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-4) Copy [{"t":1726790400,"v":0.66844186}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-total-amount-of-fees-by-relative-fee) Mempool Total Amount of Fees by Relative Fee --------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.feesdistribution) `GET` `https://api.glassnode.com/v1/metrics/mempool/fees_distribution` The total amount of fees of transactions waiting in the mempool in different relative fee (Sat / vByte) cohorts. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-5) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-5) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-5) Copy [{"t":1726790400,"o":{"0_1":0.00000466,"10_50":0.012591370000000001,"1_2":0.52064063,"2_3":0.10488384,"3_4":0.00891522,"4_5":0.00081713,"50_plus":0.00627894,"5_7":0.00432608,"7_10":0.00998399}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-transaction-count) Mempool Transaction Count ------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.txscountsum) `GET` `https://api.glassnode.com/v1/metrics/mempool/txs_count_sum` The total number of transactions waiting in the mempool. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-6) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-6) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-6) Copy [{"t":1726790400,"v":79046}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-transaction-count-by-relative-fee) Mempool Transaction Count by Relative Fee --------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.txscountdistribution) `GET` `https://api.glassnode.com/v1/metrics/mempool/txs_count_distribution` The total number of transactions waiting in the mempool in different relative fee (Sat / vByte) cohorts. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-7) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-7) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-7) Copy [{"t":1726790400,"o":{"0_1":2,"10_50":430,"1_2":70992,"2_3":6054,"3_4":802,"4_5":87,"50_plus":22,"5_7":126,"7_10":531}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-transactions-size) Mempool Transactions Size ------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.txssizesum) `GET` `https://api.glassnode.com/v1/metrics/mempool/txs_size_sum` The total size (denoted in virtual bytes) of all transactions waiting in the mempool. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-8) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-8) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-8) Copy [{"t":1726790400,"v":42986332}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool-transactions-size-by-relative-fee) Mempool Transactions Size by Relative Fee --------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#mempool.txssizedistribution) `GET` `https://api.glassnode.com/v1/metrics/mempool/txs_size_distribution` The size of all transactions (denoted in virtual bytes) waiting in the mempool in different relative fee (Sat / vByte) cohorts. #### [](https://docs.glassnode.com/basic-api/endpoints/mempool#query-parameters-9) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 10m, 1h, 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-200-ok-9) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/mempool#tab-id-400-bad-request-9) Copy [{"t":1726790400,"o":{"0_1":468,"10_50":89843,"1_2":37871812,"2_3":4531891,"3_4":271164,"4_5":19032,"50_plus":3578,"5_7":75972,"7_10":122572}}] Copy unsupported asset ⚙️ [View in Studio](https://studio.glassnode.com/charts/mempool.FeesAverageRelative?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.FeesMedianRelative?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.TxsValueSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.TxsValueDistribution?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.FeesSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.FeesDistribution?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.TxsCountSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.TxsCountDistribution?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.TxsSizeSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/mempool.TxsSizeDistribution?a=BTC) --- # Workbench Guide | Glassnode Docs [PreviousUTXO vs. Account-Based Chains](https://docs.glassnode.com/guides-and-tutorials/on-chain-concepts/utxo-vs.-account-based-chains) [NextIntroduction](https://docs.glassnode.com/basic-api/api) Last updated 13 days ago is a powerful tool in Glassnode Studio enabling analysts to compare, assess and create a variety of metrics available on the platform. For practical hands-on tutorials on how you can use Workbench, check out the following dashboards: ### [](https://docs.glassnode.com/guides-and-tutorials/workbench-guide#function-guide) Functions Guide The table below provides a guide to the use of various workbench functions available to analyse datasets. #### [](https://docs.glassnode.com/guides-and-tutorials/workbench-guide#input-values) Input Values `m1, m2` etc. refer to a particular dataset added to the chart. `n` is a float value. `period` is an integer value defining the number of trailing data-points considered by the function, applied to the data resolution specified (i.e. a simple moving average with period 30 will consider 30-days for daily resolution data, and 30-weeks for weekly resolution data). `since` is a timestamp in format `"YYYY-MM-DD HH:mm:ss"` (quotations required in syntax). Timestamps can be shortened from left to right, for example `"2010"` will resolve from 01-Jan-2010 onwards, and `"2010-06"` will resolve from 01-June-2010 onwards. Functions may be nested, such that any input timeseries (i.e. `m1`) may be replaced by a function to be evaluated, for example `sma(m1, 7)`. When timeseries of different resolutions are compared (i.e. subtracting a metric with resolution 1d from a metric with 1h resolution), workbench will perform the operation at the larger resolution (1d in this case), and use the 00:00 UTC timestamp of the smaller resolution. `period` resolution is defined by the largest resolution of the timeseries being compared. Workbench Function Syntax Function Description Horizontal Line float value e.g. `10.55` Draws a horizontal line at the specified y-ordinate. Simple Moving Average `sma(m1,period)` Returns a simple moving average of dataset m1 with a period length specified. Exponential Moving Average `ema(m1,period)` Returns an exponential moving average of dataset m1 with a period length specified. Moving Median `median(m1,period)` Returns a moving median of dataset m1 with a period length specified. Rolling Sum `sum(m1,period)` Returns a rolling sum of dataset m1 with a period length specified. Standard Deviation `std(m1,period)` Returns a standard deviation of dataset m1 with a period length specified. Cumulative Sum `cumsum(m1)` or`cumsum(m1,since)` Calculates an expanding sum using all data from time since up to each datapoint. (See Note 1) Cumulative Mean `cummean(m1)` or`cummean(m1,since)` Calculates an expanding mean using all data from time since up to each datapoint. (See Note 1) Cumulative Median `cummedian(m1)` or`cummedian(m1,since)` Calculates a cumulative median using all data from time since up to each datapoint. (See Note 1) Cumulative Standard Deviation `cumstd(m1)`or`cumstd(m1,since)` Calculates an expanding standard deviation using all data from time since up to each datapoint. (See Note 1) Cumulative Max `cummax(m1)` or`cummax(m1, period)` Returns a cumulative maximum of dataset m1 with a period length specified. Cumulative Min `cummin(m1)` or`cummin(m1, period)` Returns a cumulative minimum of dataset m1 with a period length specified. Percent Change Over Period `percent_change(m1,period)` Returns the percentage change of m1 over the specified period. Values are returned as decimal (i.e. 0.20 indicates +20% growth over the specified 'period'). Note that `percent_change` replaced the original `returns` function. Difference Over Period `diff(m1,period)` Returns the absolute value change of m1 over the specified period. Calculated as the difference between each datapoint and data from the specified 'period' in the past. Absolute Value `abs(m1)` Returns the absolute value of all data in m1. Power `pow(m1,n)` Raises all data in m1 to the specified power 'n'. Logarithm `log(m1)` Takes the logarithm (base 10) of all data in m1. Relative Strength Index `rsi(m1,period)` Calculates the relative strength index for m1 using the specified input 'period'. Range `range(m1)` Draws a line from y=0 to y=n, increasing in increments of 1 (where n is the number of datapoints in m1). Range (defined start/end) `range(m1,start?,end?)` Draws a line from y=start to y=end, changing in increments of (end-start)/n (where n is the number of datapoints in m1). Minimum `min(m1, m2, ..., n)` Returns the minimum value of all data in a dataset (or n). Maximum `max(m1, m2, ..., n)` Returns the maximum value of all data in a dataset (or n). Shift `shift(m1, period)` Shifts the dataset right (positive) or left (negative) by the number of timesteps in the defined period. For 1hr resolution data, a period of -24 will shift the data left by 24hrs, where as for 1d resolution data, it would shift it left by 24-days. If-Then Condition `if(m1, "cond", m2, true, false)` Establishes an if-then condition comparing the trace of m1 to m2 at each data point, returning the result `true` or `false`. This tool can accept nested functions in place of the inputs `m1`, `m2`, `true` and `false`, for example the input true result may be `sma(m1/m2,7)`. The following conditions are available an inserted as a string: `"=" equal to` `"!=" not equal to` `">" greater than` `">=" greater than or equal to` `"<" less than` `"<=" less than or equal to` Pearson's Correlation `corr(m1, m2, period)` Calculates the Pearson's correlation factor between traces `m1` and `m2` over a defined trailing period. The correlation will be run at the resolution of the largest input trace resolution. Value At `value_at(m1, date)` Returns the value at a specific date as a horizontal line. Subset `subset(m1, since?, end?)` Returns a subset slice of `m1` between timestamp `since` and `end`. Round `round(m1, digits, mode?)` Rounds `m1` to a specified number of significant figures (digits). The digits parameter can be positive for decimals (`2 = nearest 0.01`) or negative (`-2 = nearest 100`). There are three rounding modes available; nearest `mode=0` (default), rounddown `mode=-1`, and roundup `mode=1`. Upper `upper(m1, m2, ...)` Returns the highest value from all input traces at each x-ordinate. Lower `lower(m1, m2, ...)` Returns the lowest value from all input traces at each x-ordinate. Drawdown `drawdown(m1)` Returns the relative drawdown from the all-time high of `m1`. Mean Return `mean_return(m1, period)` Returns the annualized rolling mean return of `m1` over `period`. Realized Volatility `realized_vol(m1, period)` Returns the annualized realized volatility of `m1` over `period`. Sharpe Ratio `sharpe_ratio(m1, period)` Returns the annualized Sharpe ratio of `m1` over `period`. Backtest `backtest(m1, f1, since, initial_capital_usd, rel_trading_costs)` Returns the net asset value (NAV) curve of a trading strategy defined by the trading signal `f1` on asset price series `m1` with an inital capital of `initial_capital_usd` from `since` to present. Relative trading costs are given by `rel_trading_costs`. The time-dependent trading signal `f1` is expected to return values in the range \[-1, 1\], where 1 corresponds to a 100% long position in `m1`, -1 to a 100% short position in `m1`, and 0 to no position in `m1`. Dollar Cost Averaging `dca(m1, f1, since)` Returns the net asset value (NAV) curve of the aggregated position in asset `m1`. `f1` defines the daily DCA installments over time and `since` defines the starting timestamp of DCA. The function calculates `cumsum(f1/m1, since)*m1`. Dollar Cost Averaging Installments `dca_installments(m1, since, total_invest_usd, numb_installments)` A helper function that simulates daily DCA (dollar cost averaging) installments. The parameters are: a price series `m1`, a timestamp when DCA begins: `since`, the total target investment in USD: `total_invest_usd`, how many installments in total: `numb_installments`. The function returns a step function visualizing the daily installments (in USD). This serves as possible input `f1` to the `dca` function. _**Notes**_: 1. Example for cumulative sum/mean/std: the function `cummean(m1,"2012-01-01")` at date "2020-01-01" will return a mean of all data from 2012-01-01 to 2020-0-01, but not consider any data after this. These metrics will return zero for all periods prior to defined timestamp "since". 2. Example for `backtest`: the function `backtest(m1, if(sma(m1, 20), ">", sma(m1, 50), 1, 0), "2020-01-01", 1000, 0.001)` simulates the simple moving average cross-over strategy for an investment of $1000 from "2020-01-01" until present. The trading costs are approximated with 0.1% of the volume per trade. 3. Example for `dca`: `dca(m1, f1, "2020-01-01")` with `f1` defined as `dca_installments(m1, "2020-01-01", 1230, 1000)`. This simulates the dollar cost averaging of a total investment of $1230 over 1000 days, starting from "2020-01-01". ### [](https://docs.glassnode.com/guides-and-tutorials/workbench-guide#workbench-video-tutorial) Workbench Video Tutorial This workbench tutorial provides an introduction to the tool, and shows you how to build your first metrics and assess Bitcoin market cycles using Supply Last Active 1yr+.Tutorial Workflow: * Add base metrics and set correct scales and axes. * Convert a Supply from % into BTC Volume. * Calculate a new metric ‘Coins Younger than 1yr. * Calculate a Supply Net Position Change metric using the diff function. ### [](https://docs.glassnode.com/guides-and-tutorials/workbench-guide#workbench-video-tutorial-1) Backtesting in Workbench Guide Discover Workbench's new backtesting suite and take your investment strategy to the next level. Test and compare trading hypotheses, and evaluate risk and performance with metrics like drawdown and Sharpe ratio. Explore basic and advanced trading strategy examples, including on-chain indicators. Read the full article: 📖 [Workbench](https://studio.glassnode.com/workbench) [Workbench Function Examples](https://studio.glassnode.com/dashboards/workbench-function-examples?a=BTC) [Workbench Backtesting Function](https://studio.glassnode.com/dashboards/workbench-backtest-examples?a=BTC) [Using Workbench Functions for On-Chain Analysis](https://studio.glassnode.com/dashboards/workbench-onchain-methods?a=BTC) [http://insights.glassnode.com/backtesting-in-workbench/](http://insights.glassnode.com/backtesting-in-workbench/) See backtesting in action through the video guide. --- # Metadata | Glassnode Docs [PreviousAPI Credits](https://docs.glassnode.com/basic-api/api-credits) [NextBulk metrics (beta)](https://docs.glassnode.com/basic-api/bulk-metrics) Last updated 2 months ago [](https://docs.glassnode.com/basic-api/metadata#assets) Assets -------------------------------------------------------------------- `GET` `https://api.glassnode.com/v1/metadata/assets` Lists all assets and relevant metadata. The base request returns the complete list of all known assets. With the query parameter, `filter`, the data can also be queried via Common Expression Language (CEL). See for usage examples and for more details. 200 OK [](https://docs.glassnode.com/basic-api/metadata#tab-id-200-ok) 400 Bad Request - Invalid Argument [](https://docs.glassnode.com/basic-api/metadata#tab-id-400-bad-request-invalid-argument) Copy { "data": [\ {\ "id": "USDT",\ "external_ids": {\ "ccdata": "7",\ "coinmarketcap": "825",\ "coingecko": "tether"\ },\ "symbol": "USDT",\ "name": "Tether",\ "asset_type": "TOKEN",\ "blockchains": [\ {\ "blockchain": "SOL",\ "address": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",\ "decimals": 6,\ "on_chain_support": true\ },\ {\ "blockchain": "ETH",\ "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",\ "decimals": 6,\ "on_chain_support": true\ },\ {\ "blockchain": "TRX",\ "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",\ "decimals": 6,\ "on_chain_support": true\ },\ {\ "blockchain": "TON",\ "address": "0:b113a994b5024a16719f69139328eb759596c38a25f59028b146fecdc3621dfe",\ "decimals": 6,\ "on_chain_support": true\ },\ {\ "blockchain": "ARB",\ "address": "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",\ "decimals": 18,\ "on_chain_support": true\ }\ ]\ },\ ...\ ] } Copy rpc error: code = InvalidArgument desc = invalid filter: no such attribute(s): doesnotexist #### [](https://docs.glassnode.com/basic-api/metadata#schema) Schema **Asset** Name Type Description `id` string Glassnode ID -- a unique string-based identifier used to specify assets; typically matches with an asset's symbol `external_ids` External IDs references to external IDs of third party entities such as CoinMarketCap, Coingecko or CCData `symbol` string asset symbol -- used in Studio when referencing assets `name` string asset name `asset_type` string asset type -- one of: BLOCKCHAIN or TOKEN `blockchains` List\[Blockchain\] **Blockchain** Name Type Description `blockchain` string unique blockchain identifier `address` string contract address for the asset on the given blockchain `decimals` integer number of decimals places in the blockchain `on_chain_support` boolean whether Glassnode offers on-chain metrics for the given blockchain **External IDs** Name Type Description `ccdata` string CCData ID `coinmarketcap` string CoinMarketCap ID `coingecko` string CoinGecko ID #### [](https://docs.glassnode.com/basic-api/metadata#query-parameters) Query Parameters Name Type Description filter string CEL (Common Expression Language) compliant filter #### [](https://docs.glassnode.com/basic-api/metadata#assets-metadata-usage) Assets Metadata Usage Examples Filter asset by id `GET` `https://api.glassnode.com/v1/metadata/assets?filter=asset.id=='USDT'` Filter asset with CoinGecko id `GET` `https://api.glassnode.com/v1/metadata/assets?filter=asset.external_ids.coingecko=='tether'` Filter assets listed on ETH blockchain `GET` `https://api.glassnode.com/v1/metadata/assets?filter=asset.blockchains.exists(b,b.blockchain=='ETH')` Find all supported assets `GET` `https://api.glassnode.com/v1/metadata/assets?filter=asset.blockchains.exists(b,b.on_chain_support==true)` [](https://docs.glassnode.com/basic-api/metadata#metrics) Metrics ---------------------------------------------------------------------- `GET` `https://api.glassnode.com/v1/metadata/metrics` `Note:` the paths only include the metric portion of the path, and not the full path containing `/v1/metrics`. 200 OK [](https://docs.glassnode.com/basic-api/metadata#tab-id-200-ok-1) Copy [\ "/addresses/accumulation_balance",\ "/addresses/accumulation_balance_pit",\ "/addresses/accumulation_count",\ "/addresses/accumulation_count_pit",\ "/addresses/active_count",\ "/addresses/count",\ ...\ ] [](https://docs.glassnode.com/basic-api/metadata#metric) Metric -------------------------------------------------------------------- `GET` `https://api.glassnode.com/v1/metadata/metric` Retrieves metadata describing the available parameters and potential drill-down options for a metric. The base request, where only `path` is queried, returns the union of all possible parameters and their values. If the response contains `next_parameter`, this indicates that query parameters are distinct across `next_parameter` values. If not present in the base response, all request parameters have the same supported set of values. Once `next_parameter` is no longer present, no further narrowing of values is possible and the response represents the set of valid parameters and values for the query. #### [](https://docs.glassnode.com/basic-api/metadata#schema-1) Schema Name Type Description Presence `path` string metric path always `parameters` Dict\[string, List\[string\]\] list of all allowed parameters and their values always `next_parameter` string should the metric possess a hierarchy by which the valid parameters change, this key-value pair denotes the next available parameter which can be queried only present in the response when a drill-down is available `queried` Dict\[string, string\] the query which was processed by the server; extraneous values will not be queried always `modified` int the last unix timestamp that the metadata was updated in UTC `refs` Dict\[string, string\] links to the metric in studio and its documentation #### [](https://docs.glassnode.com/basic-api/metadata#query-parameters-1) Query Parameters Name Type Description path\* string metric path: /addresses/count a string asset id: BTC 200 OK [](https://docs.glassnode.com/basic-api/metadata#tab-id-200-ok-2) 400 Bad Request - Required Parameter Not Set [](https://docs.glassnode.com/basic-api/metadata#tab-id-400-bad-request-required-parameter-not-set) 400 Bad Request - Invalid Query [](https://docs.glassnode.com/basic-api/metadata#tab-id-400-bad-request-invalid-query) 404 Not Found [](https://docs.glassnode.com/basic-api/metadata#tab-id-404-not-found) Copy { "path": "/distribution/balance_exchanges", "tier": 2, "parameters": { "a": [\ "1INCH",\ "AAVE",\ "ABT",\ ...\ ], "e": [\ "aggregated",\ "bibox",\ "bigone",\ "binance",\ ...\ ], "f": [\ "csv",\ "json"\ ], "i": [\ "10m",\ "1h",\ "24h"\ ] }, "queried": { "path": "/distribution/balance_exchanges" }, "next_parameter": "a", "refs": { "docs": "https://docs.glassnode.com/basic-api/endpoints/distribution#distribution.balanceexchanges", "studio": "https://studio.glassnode.com/charts/distribution.BalanceExchanges" }, "modified": 1730993909 } Copy required parameter not set: path Copy invalid query parameter: invalid value a=invalid_asset value must be one of [BTC ETH] Copy metadata not found: path=/distribution/does_not_exist #### [](https://docs.glassnode.com/basic-api/metadata#metric-metadata-usage) Metric Metadata Usage Request metadata for metric: `GET` `https://api.glassnode.com/v1/metadata/metric?path=/distribution/balance_exchanges` Copy { "path": "/distribution/balance_exchanges", "tier": 2, "parameters": { "a": [\ "1INCH",\ "AAVE",\ "ABT",\ ...\ ], "e": [\ "aggregated",\ "bibox",\ "bigone",\ "binance",\ ...\ ], "f": [\ "csv",\ "json"\ ], "i": [\ "10m",\ "1h",\ "24h"\ ] }, "queried": { "path": "/distribution/balance_exchanges" }, "next_parameter": "a", "refs": { "docs": "https://docs.glassnode.com/basic-api/endpoints/distribution#distribution.balanceexchanges", "studio": "https://studio.glassnode.com/charts/distribution.BalanceExchanges" }, "modified": 1730993909 } Add the value of `next_parameter` to the query with a value from the response to refine the query further. Continue this process until `next_parameter` is no longer present in the response. `GET` `https://api.glassnode.com/v1/metadata/metric?path=/distribution/balance_exchanges&a=BTC` Copy { "path": "/distribution/balance_exchanges", "tier": 2, "parameters": { "c": [\ "native",\ "usd"\ ], "e": [\ "aggregated",\ "binance",\ "bitfinex",\ "bitget",\ "bithumb",\ "bitmex",\ "bitstamp",\ "bittrex",\ "bybit",\ "coinbase",\ "coincheck",\ "coinex",\ "crypto.com",\ "deribit",\ "ftx",\ "gate.io",\ "gemini",\ "hitbtc",\ "huobi",\ "korbit",\ "kraken",\ "kucoin",\ "luno",\ "okex",\ "poloniex",\ "swissborg"\ ], "f": [\ "csv",\ "json"\ ], "i": [\ "10m",\ "1h",\ "24h"\ ] }, "queried": { "a": "BTC", "path": "/distribution/balance_exchanges" }, "refs": { "docs": "https://docs.glassnode.com/basic-api/endpoints/distribution#distribution.balanceexchanges", "studio": "https://studio.glassnode.com/charts/distribution.BalanceExchanges" }, "modified": 1733829848 } The result displays the set of valid parameters and their values given the query: Copy { "a": "BTC", "path": "/distribution/balance_exchanges" } list of all token contracts on blockchains supported by Glassnode-- see for a full list of supported blockchains Lists all available metric paths. This should be used as the base list which can then be used to retrieve metadata from the detail view . See for a complete example. ⚙️ [Assets Metadata Usage](https://docs.glassnode.com/basic-api/metadata#assets-metadata-usage) [cel.dev](https://cel.dev/) [Metric Metadata](https://docs.glassnode.com/basic-api/metadata#metric) [Metric Metadata Usage](https://docs.glassnode.com/basic-api/metadata#metric-metadata-usage) [Supported Blockchains](https://docs.glassnode.com/data/supported-blockchains) --- # Institutions | Glassnode Docs [PreviousIndicators](https://docs.glassnode.com/basic-api/endpoints/indicators) [NextLightning](https://docs.glassnode.com/basic-api/endpoints/lightning) Last updated 2 months ago [](https://docs.glassnode.com/basic-api/endpoints/institutions#purpose-bitcoin-etf-aum) Purpose Bitcoin ETF AUM -------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#institutions.purposeetfaumsum) `GET` `https://api.glassnode.com/v1/metrics/institutions/purpose_etf_aum_sum` The total AUM of the Purpose Bitcoin ETF fund. Source: Purpose Investments #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#query-parameters) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-200-ok) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-400-bad-request) Copy [{"t":1726790400,"v":1700000000}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/institutions#purpose-bitcoin-etf-flows) Purpose Bitcoin ETF Flows ------------------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#institutions.purposeetfflowssum) `GET` `https://api.glassnode.com/v1/metrics/institutions/purpose_etf_flows_sum` The number of bitcoin flowing from/to the Purpose Bitcoin ETF. Source: Purpose Investments #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#query-parameters-1) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-200-ok-1) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-400-bad-request-1) Copy [{"t":1726790400,"v":144.28126699999848}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/institutions#purpose-bitcoin-etf-holdings) Purpose Bitcoin ETF Holdings ------------------------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#institutions.purposeetfholdingssum) `GET` `https://api.glassnode.com/v1/metrics/institutions/purpose_etf_holdings_sum` The number of bitcoin in the Purpose Bitcoin ETF. Source: Purpose Investments #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#query-parameters-2) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-200-ok-2) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-400-bad-request-2) Copy [{"t":1726790400,"v":26876.16178}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/institutions#us-spot-etf-balances) US Spot ETF Balances -------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#institutions.usspotetfbalancesall) `GET` `https://api.glassnode.com/v1/metrics/institutions/us_spot_etf_balances_all` This metric offers the most recent balances of the leading Bitcoin and Ethereum ETFs traded in the U.S., typically reflecting holdings at the end of the previous trading day (T+1). It updates hourly from 00:00 to 18:00 UTC to ensure timely information on the daily reported balances. Unlike the standard convention where updates are provided only after an interval has concluded, this metric also provides preliminary data for weekly and monthly updates once daily at 15:00 UTC. The Bitcoin ETFs covered include: * IBIT by BlackRock * GBTC by Grayscale * BTC by Grayscale (Mini Trust) * FBTC by Fidelity * ARKB by Ark/21 Shares * BITB by Bitwise * HODL by VanEck * BRRR by Valkyrie * BTCO by Invesco/Galaxy * EZBC by Franklin Templeton * BTCW by WisdomTree The Ethereum ETFs covered include: * ETHA by BlackRock * ETHE by Grayscale * ETH by Grayscale (Mini Trust) * FETH by Fidelity * CETH by 21 Shares * ETHW by Bitwise * ETHV by VanEck * QETH by Invesco/Galaxy * EZET by Franklin Templeton Source: The metric utilizes publicly available information, obtained directly from the respective ETF issuers. #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#query-parameters-3) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1w, 1month f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-200-ok-3) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-400-bad-request-3) Copy [{"t":1726790400,"o":{"ARKB":46605,"BITB":38313.3079559,"BRRR":8862.6,"BTC":33076,"BTCO":7935.181567873182,"BTCW":3705.48721115,"EZBC":7016.87,"FBTC":177066.64,"GBTC":221640.4016,"HODL":10860.334,"IBIT":357550.2143,"total":912632.0366349232}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/institutions#us-spot-etf-balances-latest-24h) US Spot ETF Balances (Latest 24h) -------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#institutions.usspotetfbalanceslatest) `GET` `https://api.glassnode.com/v1/metrics/institutions/us_spot_etf_balances_latest` This metric provides a consolidated overview of both the latest balances and flows of the leading Bitcoin and Ethereum ETFs traded in the U.S. It combines the most recent data points from the 'US Spot ETF Balances' and 'US Bitcoin ETF Flows' metrics, offering a snapshot of the current state of these ETFs. It updates hourly from 00:00 to 18:00 UTC. The Bitcoin ETFs covered include: * IBIT by BlackRock * GBTC by Grayscale * BTC by Grayscale (Mini Trust) * FBTC by Fidelity * ARKB by Ark/21 Shares * BITB by Bitwise * HODL by VanEck * BRRR by Valkyrie * BTCO by Invesco/Galaxy * EZBC by Franklin Templeton * BTCW by WisdomTree The Ethereum ETFs covered include: * ETHA by BlackRock * ETHE by Grayscale * ETH by Grayscale (Mini Trust) * FETH by Fidelity * CETH by 21 Shares * ETHW by Bitwise * ETHV by VanEck * QETH by Invesco/Galaxy * EZET by Franklin Templeton Source: The metric utilizes publicly available information, obtained directly from the respective ETF issuers. #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#query-parameters-4) Query Parameters Name Type Description a\* string asset id: BTC, ETH i string frequency interval: 24h f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-200-ok-4) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-400-bad-request-4) Copy [{"t":1743379200,"balance":{"ARKB":47501,"BITB":37997.07511047,"BRRR":5911.14,"BTC":40595.0289,"BTCO":5275.494157636876,"BTCW":1840.0324483,"FBTC":196932.78,"GBTC":193442.2302,"HODL":14275.4,"IBIT":577810.7336171301,"total":1121580.9144335368},"changes":{"ARKB":-279,"BITB":-246.14782865999587,"BRRR":0,"BTC":-0.5005000000019209,"BTCO":-14.812202233618336,"BTCW":0,"FBTC":-1113.1100000000151,"GBTC":-23.85099999999511,"HODL":0.0010000000002037268,"IBIT":0,"total":701.9238406866789}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/institutions#us-spot-etf-flows) US Spot ETF Flows -------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#institutions.usspotetfflowsall) `GET` `https://api.glassnode.com/v1/metrics/institutions/us_spot_etf_flows_all` This metric is an estimate of the daily net flow of funds within the leading Bitcoin and Ethereum ETFs traded in the U.S., reflecting the day-to-day changes in the ETF's holdings. The calculation is based on shares outstanding and Basket Crypto Amount when this information is available; otherwise it is based on the difference between today's balance data point and the previously available balance data point in native units. Each day's native net flow is then converted into USD, leveraging the closing USD exchange rate at 16:00 New York time. It updates hourly from 00:00 to 18:00 UTC to ensure timely information on the daily reported balances. Unlike the standard convention where updates are provided only after an interval has concluded, this metric also provides preliminary data for weekly and monthly updates once daily at 15:00 UTC. The Bitcoin ETFs covered include: * IBIT by BlackRock * GBTC by Grayscale * BTC by Grayscale (Mini Trust) * FBTC by Fidelity * ARKB by Ark/21 Shares * BITB by Bitwise * HODL by VanEck * BRRR by Valkyrie * BTCO by Invesco/Galaxy * EZBC by Franklin Templeton * BTCW by WisdomTree The Ethereum ETFs covered include: * ETHA by BlackRock * ETHE by Grayscale * ETH by Grayscale (Mini Trust) * FETH by Fidelity * CETH by 21 Shares * ETHW by Bitwise * ETHV by VanEck * QETH by Invesco/Galaxy * EZET by Franklin Templeton Source: The metric utilizes publicly available information, obtained directly from the respective ETF issuers. #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#query-parameters-5) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1w, 1month f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-200-ok-5) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-400-bad-request-5) Copy [{"t":1726790400,"o":{"ARKB":350,"BITB":239.70477916000527,"BRRR":81.94000000000051,"BTC":0,"BTCO":-3.748247057048502,"BTCW":0,"EZBC":0,"FBTC":415.2300000000105,"GBTC":-9.084000000002561,"HODL":0,"IBIT":0,"total":1074.0425321029034}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/institutions#us-spot-etf-net-flows) US Spot ETF Net Flows ---------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#institutions.usspotetfflowsnet) `GET` `https://api.glassnode.com/v1/metrics/institutions/us_spot_etf_flows_net` This metric shows the total net flow of funds of the leading Bitcoin and Ethereum ETFs traded in the U.S., reflecting the day-to-day changes in the ETF's holdings. It is calculated as the difference between today's balance data point and the previously available balance data point in native units. Each day's native net flow is then converted into USD, leveraging the closing USD exchange rate at 16:00 New York time. It updates hourly from 00:00 to 18:00 UTC to ensure timely information on the daily reported balances. Unlike the standard convention where updates are provided only after an interval has concluded, this metric also provides preliminary data for weekly and monthly updates once daily at 15:00 UTC. The Bitcoin ETFs covered include: * IBIT by BlackRock * GBTC by Grayscale * BTC by Grayscale (Mini Trust) * FBTC by Fidelity * ARKB by Ark/21 Shares * BITB by Bitwise * HODL by VanEck * BRRR by Valkyrie * BTCO by Invesco/Galaxy * EZBC by Franklin Templeton * BTCW by WisdomTree The Ethereum ETFs covered include: * ETHA by BlackRock * ETHE by Grayscale * ETH by Grayscale (Mini Trust) * FETH by Fidelity * CETH by 21 Shares * ETHW by Bitwise * ETHV by VanEck * QETH by Invesco/Galaxy * EZET by Franklin Templeton Source: The metric utilizes publicly available information, obtained directly from the respective ETF issuers. #### [](https://docs.glassnode.com/basic-api/endpoints/institutions#query-parameters-6) Query Parameters Name Type Description a\* string asset id: BTC, ETH s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 1month, 24h, 1w f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-200-ok-6) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/institutions#tab-id-400-bad-request-6) Copy [{"t":1726790400,"v":1074.0425321029034}] Copy unsupported asset ⚙️ [View in Studio](https://studio.glassnode.com/charts/institutions.PurposeEtfAumSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/institutions.PurposeEtfFlowsSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/institutions.PurposeEtfHoldingsSum?a=BTC) [View in Studio](https://studio.glassnode.com/charts/institutions.UsSpotEtfBalancesAll?a=BTC) [View in Studio](https://studio.glassnode.com/charts/institutions.UsSpotEtfBalancesLatest?a=BTC) [View in Studio](https://studio.glassnode.com/charts/institutions.UsSpotEtfFlowsAll?a=BTC) [View in Studio](https://studio.glassnode.com/charts/institutions.UsSpotEtfFlowsNet?a=BTC) --- # Entities | Glassnode Docs [PreviousDistribution](https://docs.glassnode.com/basic-api/endpoints/distribution) [NextETH 2.0](https://docs.glassnode.com/basic-api/endpoints/eth2) Last updated 2 months ago [](https://docs.glassnode.com/basic-api/endpoints/entities#active-entities) Active Entities ------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.activecount) `GET` `https://api.glassnode.com/v1/metrics/entities/active_count` The number of unique entities that were active either as a sender or receiver. Entities are defined as a cluster of addresses that are controlled by the same network entity and are estimated through advanced heuristics and Glassnode's proprietary clustering algorithms. Note that entity–based metrics are based on data science techniques and statistical information that changes over time and are therefore mutable – the data is stable, but most recent data points are subject to slight fluctuations as time progresses. For more information see . #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request) Copy [{"t":1726790400,"v":216035}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#entities-net-growth) Entities Net Growth -------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.netgrowthcount) `GET` `https://api.glassnode.com/v1/metrics/entities/net_growth_count` The net growth of unique entities in the network. This metric is defined as the difference between new entities and "disappearing" entities (entities with a zero balance that had a non–zero balance at the previous timestamp). Entities are defined as a cluster of addresses that are controlled by the same network entity and are estimated through advanced heuristics and Glassnode's proprietary clustering algorithms. Note that entity–based metrics are based on data science techniques and statistical information that changes over time and are therefore mutable – the data is stable, but most recent data points are subject to slight fluctuations as time progresses. For more information see . **The computation of this metric requires statistical information from several days, and is therefore only available with a lag of one week.** #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-1) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-1) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-1) Copy [{"t":1726790400,"v":4194}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#entities-supply-distribution) Entities Supply Distribution -------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplydistributionrelative) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_distribution_relative` Relative distribution of the circulating supply held by entities with specific balance bands. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-2) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-2) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-2) Copy [{"t":1726790400,"o":{"0001_001":0.0018069978728078077,"001_01":0.01226472931234207,"01_1":0.052606450131472096,"100_1k":0.17835485628461475,"10_100":0.16286225191019155,"10k_100k":0.09018715657381837,"1_10":0.10702657306090634,"1k_10k":0.1726420656662777,"above_100k":0.2220280782845113,"less_0001":0.0002208409030579876}}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#new-entities) New Entities ------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.newcount) `GET` `https://api.glassnode.com/v1/metrics/entities/new_count` **The computation of this metric requires statistical information from several days, and is therefore only available with a lag of one week.** #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-3) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-3) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-3) Copy [{"t":1726790400,"v":76401}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#number-of-whales) Number of Whales -------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.min1kcount) `GET` `https://api.glassnode.com/v1/metrics/entities/min_1k_count` #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-4) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-4) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-4) Copy [{"t":1726790400,"v":1669}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#percent-entities-in-profit) Percent Entities in Profit ---------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.profitrelative) `GET` `https://api.glassnode.com/v1/metrics/entities/profit_relative` #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-5) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-5) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-5) Copy [{"t":1726790400,"v":0.9244690091252443}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#receiving-entities) Receiving Entities ------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.receivingcount) `GET` `https://api.glassnode.com/v1/metrics/entities/receiving_count` #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-6) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-6) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-6) Copy [{"t":1726790400,"v":164611}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#sending-entities) Sending Entities -------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.sendingcount) `GET` `https://api.glassnode.com/v1/metrics/entities/sending_count` #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-7) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h f string format: csv, json timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-7) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-7) Copy [{"t":1726790400,"v":117310}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-less-than-0.001) Supply Held by Entities with Balance < 0.001 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalanceless0001) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_less_0001` The total circulating supply held by entities with balance lower than 0.001 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-8) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-8) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-8) Copy [{"t":1726790400,"v":4363.10039857}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-greater-than-100k) Supply Held by Entities with Balance > 100k ------------------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalancemore100k) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_more_100k` The total circulating supply held by entities with balance of at least 100,000 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-9) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-9) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-9) Copy [{"t":1726790400,"v":4386555.132871}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-0.001-0.01) Supply Held by Entities with Balance 0.001 - 0.01 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalance0001001) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_0001_001` The total circulating supply held by entities with balance between 0.001 and 0.01 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-10) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-10) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-10) Copy [{"t":1726790400,"v":35700.42066434}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-0.01-0.1) Supply Held by Entities with Balance 0.01 - 0.1 -------------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalance00101) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_001_01` The total circulating supply held by entities with balance between 0.01 and 0.1 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-11) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-11) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-11) Copy [{"t":1726790400,"v":242311.29564337002}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-0.1-1) Supply Held by Entities with Balance 0.1 - 1 -------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalance011) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_01_1` The total circulating supply held by entities with balance between 0.1 and 1 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-12) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-12) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-12) Copy [{"t":1726790400,"v":1039332.93315555}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-1-10) Supply Held by Entities with Balance 1 - 10 ------------------------------------------------------------------------------------------------------------------------------------------------------ #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalance110) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_1_10` The total circulating supply held by entities with balance between 1 and 10 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-13) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-13) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-13) Copy [{"t":1726790400,"v":2114498.16186002}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-10-100) Supply Held by Entities with Balance 10 - 100 ---------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalance10100) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_10_100` The total circulating supply held by entities with balance between 10 and 100 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-14) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-14) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-14) Copy [{"t":1726790400,"v":3217630.18707989}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-100-1k) Supply Held by Entities with Balance 100 - 1k ---------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalance1001k) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_100_1k` The total circulating supply held by entities with balance between 100 and 1,000 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-15) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-15) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-15) Copy [{"t":1726790400,"v":3523713.83093813}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-10k-100k) Supply Held by Entities with Balance 10k - 100k -------------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalance10k100k) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_10k_100k` The total circulating supply held by entities with balance between 10,000 and 100,000 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-16) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-16) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-16) Copy [{"t":1726790400,"v":1781805.87628642}] Copy unsupported asset [](https://docs.glassnode.com/basic-api/endpoints/entities#supply-held-by-entities-with-balance-1k-10k) Supply Held by Entities with Balance 1k - 10k ---------------------------------------------------------------------------------------------------------------------------------------------------------- #### [](https://docs.glassnode.com/basic-api/endpoints/entities#entities.supplybalance1k10k) `GET` `https://api.glassnode.com/v1/metrics/entities/supply_balance_1k_10k` The total circulating supply held by entities with balance between 1,000 and 10,000 coins. #### [](https://docs.glassnode.com/basic-api/endpoints/entities#query-parameters-17) Query Parameters Name Type Description a\* string asset id: BTC s integer since, unix timestamp u integer until, unix timestamp i string frequency interval: 24h, 1h, 10m f string format: csv, json c string currency: native, usd timestamp\_format string timestamp format: unix or humanized (RFC 3339) 200 OK [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-200-ok-17) 400 Bad Request [](https://docs.glassnode.com/basic-api/endpoints/entities#tab-id-400-bad-request-17) Copy [{"t":1726790400,"v":3410847.60607367}] Copy unsupported asset The number of unique entities that appeared for the first time in a transaction of the native coin in the network. Entities are defined as a cluster of addresses that are controlled by the same network entity and are estimated through advanced heuristics and Glassnode's proprietary clustering algorithms. Note that entity–based metrics are based on data science techniques and statistical information that changes over time and are therefore mutable – the data is stable, but most recent data points are subject to slight fluctuations as time progresses. For more information see . The number of unique entities holding at least 1k coins.Entities are defined as a cluster of addresses that are controlled by the same network entity and are estimated through advanced heuristics and Glassnode's proprietary clustering algorithms. Note that entity–based metrics are based on data science techniques and statistical information that changes over time and are therefore mutable – the data is stable, but most recent data points are subject to slight fluctuations as time progresses. For more information see . The percentage of entities in the network that are currently in profit, e.g. the entities whose funds where on average bought at prices lower than the current price. "Buy price" is here defined as the price at the time coins were transferred into addresses controlled by the entity. Entities are defined as a cluster of addresses that are controlled by the same network entity and are estimated through advanced heuristics and Glassnode's proprietary clustering algorithms. Note that entity–based metrics are based on data science techniques and statistical information that changes over time and are therefore mutable – the data is stable, but most recent data points are subject to slight fluctuations as time progresses. For more information this . The number of unique entities that were active as a receiver. Entities are defined as a cluster of addresses that are controlled by the same network entity and are estimated through advanced heuristics and Glassnode's proprietary clustering algorithms. Note that entity–based metrics are based on data science techniques and statistical information that changes over time and are therefore mutable – the data is stable, but most recent data points are subject to slight fluctuations as time progresses. For more information see . The number of unique entities that were active as a sender. Entities are defined as a cluster of addresses that are controlled by the same network entity and are estimated through advanced heuristics and Glassnode's proprietary clustering algorithms. Note that entity–based metrics are based on data science techniques and statistical information that changes over time and are therefore mutable – the data is stable, but most recent data points are subject to slight fluctuations as time progresses. For more information see . ⚙️ [this article](https://insights.glassnode.com/bitcoin_holders/) [View in Studio](https://studio.glassnode.com/charts/entities.ActiveCount?a=BTC) [this article](https://insights.glassnode.com/bitcoin_holders/) [View in Studio](https://studio.glassnode.com/charts/entities.NetGrowthCount?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyDistributionRelative?a=BTC) [this article](https://insights.glassnode.com/bitcoin_holders/) [View in Studio](https://studio.glassnode.com/charts/entities.NewCount?a=BTC) [this article](https://insights.glassnode.com/bitcoin_holders/) [View in Studio](https://studio.glassnode.com/charts/entities.Min1KCount?a=BTC) [article](https://insights.glassnode.com/bitcoin_holders/) [View in Studio](https://studio.glassnode.com/charts/entities.ProfitRelative?a=BTC) [this article](https://insights.glassnode.com/bitcoin_holders/) [View in Studio](https://studio.glassnode.com/charts/entities.ReceivingCount?a=BTC) [this article](https://insights.glassnode.com/bitcoin_holders/) [View in Studio](https://studio.glassnode.com/charts/entities.SendingCount?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalanceLess0001?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalanceMore100K?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalance0001001?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalance00101?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalance011?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalance110?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalance10100?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalance1001K?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalance10K100K?a=BTC) [View in Studio](https://studio.glassnode.com/charts/entities.SupplyBalance1K10K?a=BTC) --- # Exchange Data: Transparency Notice | Glassnode Docs [PreviousAffiliate FAQs](https://docs.glassnode.com/further-information/affiliate-faqs) Last updated 1 year ago At Glassnode, we are committed to providing you with the most precise and up-to-date on-chain data for centralized exchanges. In our continuous effort to maintain transparency and trust, the present notice aims to help you understand how Glassnode tracks on-chain addresses necessary for an accurate representation of centralized exchange balances, and how to interpret the resulting exchange data. > _**Note:**_ _Within this context, "exchange metrics" strictly refers to on-chain metrics – those that monitor exchange balances and movements by identifying, labeling, and observing blockchain addresses and wallets owned by centralized exchanges. Metrics stemming from off-chain data directly from exchanges, such as futures or spot volume, are excluded from this definition._ [](https://docs.glassnode.com/further-information/exchange-data-transparency-notice#data-acquisition) Data Acquisition --------------------------------------------------------------------------------------------------------------------------- Exchange balance data hinges on identifying network addresses or wallets linked to specific centralized exchanges. Therefore, the integrity of such data is contingent upon persistent, precise, and holistic labelling and monitoring of these addresses. At Glassnode, our methodology in monitoring exchange addresses comprises: * **Verified addresses:** Utilizing addresses officially reported and verified by exchanges, available either via public domains (e.g., Proof-of-Reserves disclosures) or through private correspondence with our team. * **External sources:** Harnessing publicly accessible address tags, which undergo a rigorous quality assurance evaluation. * **Clustering algorithms:** Implementing heuristics and (machine learning) clustering algorithms that continuously track and update the corresponding set of on-chain labels for every exchange. For a more detailed analysis, please consult and get in touch with us via contact@glassnode.com to provide a correction or report an issue. [](https://docs.glassnode.com/further-information/exchange-data-transparency-notice#data-precision) Data Precision ----------------------------------------------------------------------------------------------------------------------- Complete accuracy in regard to exchange data remains elusive, but the expertise we have built up over many years allows us to track labels and exchange patterns with a high degree of certainty. Its against exchange balances in the lead-up to their Proof-of-Reserve address disclosures. While we strive to ensure the utmost accuracy in representing exchange balances, it is important to note that these figures might not always encapsulate the entirety of an exchange’s reserves. Particularly when exchanges refrain from disclosing their official addresses, as the precision of this data is – partially – influenced by an exchange's willingness to unveil their proof of reserves and provide clarity on wallet categorization. helps evaluate the Proof-of-Reserve address provisions of supported exchanges, serving as an added assurance metric for exchange balance accuracy. [](https://docs.glassnode.com/further-information/exchange-data-transparency-notice#data-interpretation) Data Interpretation --------------------------------------------------------------------------------------------------------------------------------- Discerning the implications and limitations of our exchange data is paramount: * Reported exchange balances may not fully encapsulate the entire spectrum of digital assets maintained by an exchange. * Glassnode aims for optimizing to reduce the amount of false-positive addresses (i.e. addresses falsely categorized as belonging to an exchange). Therefore, reported exchange balances can largely be considered as lower bounds of the true balance. * As of today, our data encompass exchange balances of assets inherently housed on Bitcoin and Ethereum exclusively, and limited to assets supported on our platform. We refrain from assertions concerning assets in other L1/L2 blockchains. * Additionally, we do not present data or insights into other (non-digital) assets maintained by exchanges, nor do we incorporate information on their obligations and liabilities. * Preliminary data manifestations, such as a significant inflow or outflow, ought to be approached with caution. Exchanges can spontaneously modify their addresses and reshuffle funds internally. While our algorithms usually detect such shifts, occasional events are impossible to uncover immediately and mandate intervention and rectification by our data scientists. * While tracking exchange balances is an imperfect process due to the ever-changing nature of wallet addresses, on-chain data from exchanges continues to be an indispensable and trustworthy reference for traders, researchers, and investors. [](https://docs.glassnode.com/further-information/exchange-data-transparency-notice#exchanges-proof-of-reserves-overview) Exchanges Proof-of-Reserves Overview ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Exchange Chain Coverage Includes Verified Addresses / Proof-of-Reserves PoR Update Frequency bibox Ethereum ⛔️ N/A bigone Ethereum ⛔️ N/A binance Bitcoin, Ethereum ☑️ Monthly bitfinex Bitcoin, Ethereum ☑️ Ad hoc bithumb Bitcoin, Ethereum ⛔️ N/A bitmex Bitcoin ☑️ Bi-weekly bitstamp Bitcoin ⛔️ N/A bittrex Bitcoin, Ethereum ⛔️ N/A bybit Bitcoin, Ethereum ☑️ Every 2 months checksig Bitcoin ⛔️ N/A cobinhood Ethereum ⛔️ N/A coinbase Bitcoin, Ethereum ⛔️ N/A coinex Ethereum ⛔️ N/A coincheck Bitcoin ⛔️ N/A Bitcoin, Ethereum ☑️ Ad hoc deribit Bitcoin, Ethereum ☑️ Ad hoc Bitcoin, Ethereum ⛔️ N/A gemini Bitcoin, Ethereum ☑️ (only Bitcoin) Daily hitbtc Bitcoin, Ethereum ⛔️ N/A huobi Bitcoin, Ethereum ☑️ Monthly kraken Bitcoin, Ethereum ⛔️ N/A kucoin Bitcoin, Ethereum ☑️ N/A luno Bitcoin ⛔️ N/A nexo Ethereum ⛔️ N/A okx Bitcoin, Ethereum ☑️ Monthly poloniex Bitcoin, Ethereum ⛔️ N/A swissborg Bitcoin, Ethereum ⛔️ N/A zb.com Ethereum ⛔️ N/A > _**Legal**_ _**Disclaimer:**_ _Exchange balances presented are derived from Glassnode’s comprehensive database of address labels, which are amassed through both officially published exchange information and proprietary clustering algorithms. While we strive to ensure the utmost accuracy in representing exchange balances, it is important to note that these figures might not always encapsulate the entirety of an exchange’s reserves, particularly when exchanges refrain from disclosing their official addresses. We urge users to exercise caution and discretion when utilizing these metrics. Glassnode shall not be held responsible for any discrepancies or potential inaccuracies._ Such balances can partially hinge on addresses officially disclosed by exchanges. Where this prevails, the data's authenticity and accuracy can be deemed superior. . Inherently, reported exchange balances may undergo retrospective revisions. Automatic or manual identification and addition of addresses associated with an exchange can recalibrate the balance. Noteworthy shifts in our exchange data and the resulting metric changes are always transparently communicated via our platform – in particular, be sure to always review our . We recommend leveraging our Point-in-Time metrics if you’d like to work with immutable data points. ℹ️ [this article](https://insights.glassnode.com/exchange-metrics/) [accuracy has been validated](https://insights.glassnode.com/proof-of-reserves/) [The following table](https://docs.glassnode.com/further-information/exchange-data-transparency-notice#exchanges-proof-of-reserves-overview) [The accompanying table below offers clarity on this aspect](https://docs.glassnode.com/further-information/exchange-data-transparency-notice#exchanges-proof-of-reserves-overview) [Changelog](https://docs.glassnode.com/further-information/changelog) [crypto.com](http://crypto.com/) [gate.io](http://gate.io/) ---