Skip to main content# Cryptocurrencies and the Velocity of Money

## Abstract

# 1. Introduction

# 2. Literature review

# 3. Theoretical concepts of measures for the velocity of money

# 4. UTXO-based cryptocurrencies

# 5. Self-churn and Clustering

## 5.1 Transaction volume inflated by self-churn

## 5.2 Adjustment heuristics to deflate transaction volumes

# 6. Velocity based on total money supply

# 7. Velocity of money in effective circulation

## 7.1 Formal derivation

## 7.2 Theoretical basis and practical considerations

# 8. Novel measures of velocity of money in effective circulation

## 8.1 Determining money in circulation

## 8.2 Definition of velocity measures

## 8.3 Algorithmic implementation

## 8.4 Manipulation potential

# 9. Benchmarking popular velocity proxies on the Bitcoin blockchain

## 9.1 Popular proxy variables for velocity of UTXO-based cryptocurrencies

### 9.1.1 Coin Days Destroyed

### 9.1.2 Turnover based on dormancy

## 9.2 Data sources and calculations

## 9.3 Assessing the goodness of fit of the proxies

### 9.3.1 Approximation errors

### 9.3.2 Model confidence set test

### 9.3.3 Mincer-Zarnowitz regressions

# 10. Conclusion

## Appendix

**A. Summary of on-chain velocity measures and proxy-variables**

**B. Descriptives of the entirety of raw data**

**C. Descriptives of the normalized proxy-variables and measurements**

**D. Descriptives of the standardized proxy-variables and measurements**

**E. Correlations of the entirety of raw data**

Published onApr 05, 2021

Cryptocurrencies and the Velocity of Money

The velocity of money is central to the quantity theory of money, which relates it to the general price level. While the theory motivated countless empirical studies to include velocity as price determinant, few find a significant relationship in the short or medium run. Since the velocity of money is generally unobservable, these studies were limited to using proxy variables, leaving it unclear whether the lacking relationship refutes the theory or the proxies. Cryptocurrencies on public blockchains, however, visibly record all transactions, and thus allow one to measure—rather than approximate—velocity. This paper evaluates most suggested proxies for velocity and also proposes a novel measurement approach. We introduce velocity measures for UTXO-based cryptocurrencies, focused on the subset of the money supply effectively in use for the processing of transactions. Our approach thus explicitly addresses the hybrid use of cryptocurrencies as media of exchange and as stores of value, a major distinction in recently-proposed theoretical pricing models. We show that each of the velocity estimators is approximated best by the simple ratio of on-chain transaction volume to total coin supply. Moreover, “coin days destroyed,” if used as an approximation for velocity, shows considerable discrepancy from the other approaches.

The velocity of money plays a key role in traditional monetary economics since having been popularized by [1] over a century ago. Broadly speaking, the velocity of money denotes the average number of transactions per monetary unit within a certain time period.1 In the quantity theory of money, velocity is related to the price level. While empirical studies frequently apply this concept to cryptocurrencies, surprisingly few find a significant relationship between velocity and prices. We take this discrepancy as occasion to evaluate current approaches to quantify the velocity of money for cryptocurrencies, and propose a novel one.

Until recently, meaningful measures for the velocity of cryptocurrencies did not exist, and most studies resorted to proxy variables.2 Recent years saw the first advances to measure—instead of approximate—the velocity of money. In [2] and [3], the quantity equation of money has first been considered to measure velocity as the ratio of transaction volume and money supply. In [2], however, this approach is modified to create a measure handling the change transactions in cryptocurrency systems. While [2] and later [4] focused on adjusting the transaction volume in the above ratio, we complement their approach by adjusting the money supply.

Money in effective circulation should be differentiated from money held for long-term investment or speculation. Not only does the total monetary aggregate contain technically dysfunctional money (*e.g.*, burnt coins), a major portion of cryptocurrency is stored unused over long time periods (compare [5] or [4]). Economists like [1], [6], or [7] have argued to exclude such funds and focus on money in circulation. To our knowledge, [3] and [2] were the first to apply this distinction in theoretical cryptocurrency pricing models. Both link feedback effects from speculation and price levels to a reduction of coins in effective circulation. In [3], the velocity of money is explicitly defined as based on the component of coin supply in effective circulation. In this paper, we operationalize this definition for velocity measurement.

In implementing this concept, we make common implicit assumptions explicit. For example, the separation of money into *hoarded* or *circulating* depends on the choice of a time window. Tokens can be defined as circulating if moved within the last day, month, year, or any other period. The decision of [2] and [4] to define money in circulation as the total coin supply implies an infinite time window. The other extreme might be a very restrictive definition requiring coins to be moved within the period for which velocity is measured. As the optimal time-window might depend on the respective use case, we operationalize a velocity measure for UTXO-based3 cryptocurrencies as a function of the respective time-window.

Subsequently, we apply our approach to Bitcoin and compare a variety of potential proxy variables to measures characterizing the two extremes of the design space. Measuring the goodness of fit from a variety of perspectives, we show that the most common proxy-variable (*coin days destroyed* (CDD)4), in the vast majority of tests, shows higher approximation errors than the simple ratio of unadjusted, on-chain transaction volume and total coin supply as shown by a series of Model Confidence Set (MCS) tests. As the majority of research opted for CDD, our results might suggest a reason for the unexpectedly missing relation between velocity and prices in most studies.

Our implementation is based on the open-source blockchain parser *BlockSci.*5 The codebase to calculate the evaluated velocity measures for UTXO-based cryptocurrencies is reusable and will be openly available after publication. In summary, we offer three contributions to research on cryptocurrencies:

a review of approaches to quantify velocity;6

novel measures based on money in circulation; and

an evaluation of common approximation methods.

In the early 20th century, [1][8] spawned extensive literature in monetary economics based on what he called the equation of exchange, in which velocity played a crucial role. Since this literature mostly is too specialized for applying it to cryptocurrencies, and is reviewed at length by [9], we restrict our review to the literature on the velocity of cryptocurrencies. Both theoretical pricing models and empirical studies of price determinants have addressed velocity.

Empirically, CDD is commonly used as a proxy variable in regressions of cryptocurrency return patterns. Based on the quantity equation, these studies expect a significant positive relationship between prices and their chosen proxy. While [10] and [11] confirm the hypothesis, more often it is rejected [12][13][14][15][16]. Following [1], [2] estimate velocity as the ratio of adjusted on-chain transaction volume to the total Bitcoin supply when modeling the Bitcoin price. Additionally they employ the ratio of off-chain transaction volume and coin supply (both denominated in USD) as a velocity estimator.

Theoretically, [3] use velocity as a central building block of their pricing model. They decompose the velocity of money into a part for monetary units used as media of exchange, and a part for those used as long-term investment. The paper does not specify, however, how this decomposition could be implemented. Our paper is the first to offer an operationalization for UTXO-based cryptocurrencies.

In [2], a measure of the velocity of Bitcoin that acknowledges the need for adjustments addressing the transaction volume generated by change transactions is presented. [4] adopt the same concept, but provide deeper insights into its technical configuration as a byproduct of introducing a new blockchain parser for UTXO-based cryptocurrencies.

Recognizing the need for a more precise method, [17] proposed a cryptocurrency’s *turnover* as a derivation of CDD. We compare this approach to the other methods and show that, compared to CDD, the measure is indeed closer to the velocity estimates in many tests.

At its core, the velocity of money refers to the average number of turnovers per monetary unit within a period of time. This definition stems from the *transaction form* of the quantity theory of money as formalized by [1].7 The central equation of the theory equates the flows of real transactions, given by the scalar product $\langle{P_{p}},{T_{p}}\rangle,$ of prices ${P_{p}},$ and transaction volumes ${T_{p}},$ to total money flows, equal to the product of the money supply ${M_{p}}$ and its velocity ${V_{p}},$ where ${p}$ denotes the time period considered. With $n\in\mathbb{N}$ this amounts to

$\begin{aligned}
%\label{eq:fisher}
{M_{p}}{V_{p}}=\langle{P_{p}},{T_{p}}\rangle\ \text{with}\ {M_{p}}, {V_{p}}\in \mathbb{R},\
\text{and}\ {P_{p}},{T_{p}}\in \mathbb{R}^{n}.
\end{aligned}$(1)

The scalar product on the right-hand side is referred to as the *price sum*. In this product, ${P_{p}}=( {P_{p}}_{1},{P_{p}}_{2}, \cdots , {P_{p}}_{n} )$ denotes a vector of prices ${P_{p}}_t$ of transacted goods and services in transaction $t$ during period $p.$ Transaction volumes ${T_{p}}$ are given in units of goods and services. They are conceptualized as the vector ${T_{p}}=( {T_{p}}_{1},{T_{p}}_{2}, \cdots , {T_{p}}_{n} )$ with volume ${T_{p}}_t$ in transaction $t$ in period $p.$ $$ On the left-hand side, ${M_{p}}$ stands for the number of all units of money supply available in period ${p}.$ ${V_{p}}$ denotes the velocity of money.8 While ${T_{p}},$ ${V_{p}},$ and ${P_{p}}$ are measured over a time period, ${M_{p}}$ is a point-in-time measure. To simplify, we assume the money supply is fixed during period ${p}$ and record it at the period’s beginning ${p}_{\mathtt{start}}.$

To develop an intuition for velocity ${V_{p}},$ it can be viewed as the weighted average number of turnovers of all monetary units (*c.f.* [9]). The weights are derived from sorting the units into groups $g\in{}{{\mathbb{G}}_{p}}$ with respect to their number of turnovers ${v_{p}}_g$ during period ${p}.$ Velocity ${V_{p}}$ then is

$\begin{aligned}
%\label{eq:velo_concept}
{V_{p}}= \sum_{g\in{{\mathbb{G}}_{p}}}%
\Bigl(%
{v_{p}}_g \cdot \frac{{N_{p}}_g}{\sum_{g\in{{\mathbb{G}}_{p}}} {N_{p}}_g}%
\Bigr)%
,
\end{aligned}$(2)

with ${N_{p}}_g$ monetary units in group $g$ in period $p.$ Velocity thus is the sum of turnover numbers ${v_{p}}_g,$ weighted by their respective fractions.9 While this definition is intuitive, it cannot be used to measure velocity in practice. Turnover numbers per monetary unit are neither recorded for fiat currencies, nor can they be inferred unambiguously for UTXO-based cryptocurrencies (*compare* Section 4). In practice, the velocity of money is thus backed out of Equation 1: $V_{p}= \langle{P_{p}},{T_{p}}\rangle/{M_{p}}.$

For cryptocurrencies, this appears a simple task, using on-chain transaction volume and total coin supply. However, due to their technical implementation, transaction volumes recorded on-chain are distorted. The next section therefore discusses the relevant subtleties of UTXO-based cryptocurrency systems.

Bitcoin builds its transaction graph by chaining transaction outputs. This approach is followed by many altcoins, referred to as *UTXO-based cryptocurrencies*. UTXO refers to the “coins” that can be spent—*unspent transaction outputs*.10 Thus, UTXO-based cryptocurrencies record only transactions, in contrast to account-based cryptocurrencies which store a balance for each address on their blockchain. As an extensive exposition is provided by [18], we restrict ourselves to features relevant for calculating velocity measures.

UTXO-based cryptocurrency protocols ensure an ordered transaction history using a linked chain of so-called *blocks* (*compare* Figure 1). These blocks contain a hash (** BlockHash**) fingerprinting the information of all transactions recorded in the block, a timestamp (

Generally, transactions contain a hash as identifier (** TxHash**) as well as inputs and outputs. Coinbase transactions are exceptions as they include an output but no input. This effectively increases the amount of spendable outputs, and thus money, in the system. Inputs are recorded as links back to outputs of a previous transaction identified by an index (

We refer to all outputs sent to an address controlled by the sender, following [4], as *self-churn*. Since the concept of *user identities* does not exist in UTXO-based cryptocurrencies, there is no direct way to clearly separate self-churn from outputs transferred to third parties (*c.f. *[19]). Moreover, no relation between elements of the set of inputs and those in the set of outputs of a transaction is determined. In other words, no technical link between individual outputs and inputs exists; unspent outputs are fully fungible. Therefore, velocity measures cannot be calculated by following “coins” or UTXOs through their transactions: due to splitting and rejoining within blocks there exists no “path” the money took.

As discussed in the last section, by construction many cryptocurrency transactions contain outputs sending a fraction of the value back to the sender. Such change outputs, as well as other self-churn, ought to be excluded from transaction volume: “What is desired is the rate at which money is used for purchasing goods, not for making change [8].”

While the transaction volume can, in principle, be calculated by accumulating the output values ${\mathtt{valOut}}(o)$11 of all transactions $t$ recorded within period ${p},$ this yields an inflated aggregate $\langle{P_{p}}',{T_{p}}'\rangle$ when defined as

$\begin{aligned}
\langle{P_{p}}',{T_{p}}'\rangle = \sum_{t\in{\mathbb{T}_{p}}}\sum_{o\in{\mathbb{O}}_\mathtt{t}} {\mathtt{valOut}}(o),
\end{aligned}$(3)

with $o\in{\mathbb{O}}_{{p}_t}$ as the set of all outputs of transaction $t$ in period ${p}$ and ${\mathbb{T}_{p}}$ the set of all transactions $t$ recorded within period $p.$ Thus, this volume needs to be adjusted. Defining ${\mathbb{O}}^{{\mathtt{selfchurn}}}$ as the set of all self-churn outputs, the accumulated transaction volume from these outputs ${O_{p}}$ can be obtained by summing the individual self-churn outputs $c \in {\mathbb{O}}^{{\mathtt{selfchurn}}}$ as

$\begin{aligned}
{O_{p}}= \sum_{t\in{\mathbb{T}_{p}}} \sum_{o\in{\mathbb{O}}^{{\mathtt{selfchurn}}}} {\mathtt{valOut}}(o).
\end{aligned}$(4)

Hence a corrected transaction volume can be calculated as $\langle{P_{p}},{T_{p}}\rangle= \langle{P_{p}}',{T_{p}}'\rangle - {O_{p}}$.

Note that in practice we only observe the above transaction volume in terms of monetary units rather than the full vector of prices and transacted units.

As discussed in Section 4, only addresses but no identities are recorded in the transaction ledger. This complicates the classifications of self-churn, needed to calculate adjusted (deflated) transaction volume. However, statistical properties have been used to classify outputs as likely belonging to the same individual user as the transactions inputs (*compare* [19]). While *heuristics*, such procedures are now commonly employed to create *user clusters* of addresses. Outputs are classified as self-churn if the cluster of their destination address equals the cluster of their input addresses.

As our empirical analysis builds on a blockchain parser proposed by [4], we follow their choice of heuristics. They employ one heuristic first proposed by [19] and one accounting for *peeling chains*. Peeling chains are transaction patterns where large unspent transaction outputs are split into smaller amounts in a chain of transactions. Upon manual inspection, [4] concluded that outputs created and spent within a relatively short time period often belong to the same user cluster. The heuristics used are thus:

All inputs in a transaction stem presumably from one person.12

Outputs created and spent within 4 blocks are classified as self-churn transactions.

The quantity equation (Equation 1) requires a measure of the money supply ${M_{p}}.$ To our knowledge, all prior work has employed the sum total of ever-mined coins as its measure. We denote this money-supply measure ${{M_\mathtt{total}}_{p}}$ and calculate it at the beginning of each period $p.$13 In all common UTXO-based cryptocurrencies, it is a deterministic function of block height. Technically, ${{M_\mathtt{total}}_{p}}$ can be calculated as the aggregate of outputs from the set of coinbase transactions ${\mathbb{T}^{\mathtt{coinbase}}_{\mathbb{P}}}$ belonging to the set $\mathbb{P}$ of all periods with a maximum block time smaller ${p}_{\mathtt{start}}$ and thus

$\begin{aligned}
{{M_\mathtt{total}}_{p}}= \sum_{t \in {\mathbb{T}^{\mathtt{coinbase}}_{\mathbb{P}}}} {\mathtt{valOut}}(o).
\end{aligned}$(5)

Based on the quantity equation (Equation 1), the simplest measure of velocity arises from dividing total transaction volume $\langle {P_{p}}'{T_{p}}' \rangle$ by total coin supply ${{M_\mathtt{total}}_{p}},$ which was described in [3] and adopted by [20]. Formally,

$\begin{aligned}
{{V_\mathtt{triv}^{\mathtt{msr}}}_{p}}= \frac{\langle{P_{p}}',{T_{p}}'\rangle}{{{M_\mathtt{total}}_{p}}}.
\end{aligned}$(6)

${{V_\mathtt{triv}^{\mathtt{msr}}}_{p}}$ offers the advantages of providing a theoretically sound interpretation and extremely simple calculation. Moreover, data for calculating ${{V_\mathtt{triv}^{\mathtt{msr}}}_{p}}$ (raw on-chain transaction volume and total coin supply) are widely available.14 However, the result is biased: Self-churn transactions lead to an overestimation of transaction volume.

[2] and [4] propose a similar velocity measure. However, they clean the price sum from self-churn and get

$\begin{aligned}
{V_\mathtt{total}^{\mathtt{msr}}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_\mathtt{total}}_{p}}}.
\end{aligned}$(7)

In line with Section 3, both measures can interpreted as the turnover of coins during period ${p}$ averaged over the total coin supply.

While these measures advanced quantifying the velocity of cryptocurrencies, they suffer from inaccuracy, as money supply is defined as “the aggregate of all monetary units ever issued” (${{M_\mathtt{total}}_{p}}$). We therefore propose a measure based on the component of money that circulates effectively. Denoting this circulating amount ${{M_{\mathtt{circ}}}_{p}}$, our measure yields

$\begin{aligned}
%\label{eq:vcirc_concept}
{{V_{\mathtt{circ}}^{\mathtt{msr}}}_{p}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_{\mathtt{circ}}}_{p}}}.
\end{aligned}$(8)

To see how excluding hoarded money relates to the quantity theory, expand the sum in Equation 2 and differentiate the set of all monetary units treated as investment, $h$, from its complement ${{\mathbb{G}}'_{p}}\coloneqq{{\mathbb{G}}_{p}}\setminus\{h\}$:

$\begin{aligned}
{4}
{{V_\mathtt{total}}_{p}}
\ & = &\ & {v_{p}}_h \frac{
{N_{p}}_h
}{
\bigl( {N_{p}}_h+\sum_{g\in{{\mathbb{G}}'_{p}}} {N_{p}}_g \bigr)
}\\
\ & \ + &\ & \sum_{g\in{{\mathbb{G}}'_{p}}} {v_{p}}_g \frac{
{N_{p}}_g
}{
\bigl( {N_{p}}_h+\sum_{g\in{{\mathbb{G}}'_{p}}} {N_{p}}_g \bigr)
}.
\end{aligned}$(9)

By definition, $h$ encompasses only non-transferred units, and thus ${v_{p}}_h=0$ in period $p.$ Consequently

$\begin{aligned}
%\label{eq:disentangle_vcirc}
{{V_{\mathtt{circ}}}_{p}}
= \sum_{g\in{{\mathbb{G}}'_{p}}} {v_{p}}_g
\frac{{N_{p}}_g}{\sum_{g\in{{\mathbb{G}}'_{p}}} {N_{p}}_g }.
\end{aligned}$(10)

Hence, the measure can be interpreted as the average number of turnovers of units effectively circulating in period $p.$ Dropping non-circulating money in Equation 10 amounts to an adjustment of the money supply ${M_{p}}$ in the quantity equation (Equation 1).

An advantage of basing velocity on money in effective circulation is higher information content. To begin with, it is questionable whether ${V_\mathtt{triv}^{\mathtt{msr}}}$ and ${V_\mathtt{total}^{\mathtt{msr}}}$ capture more information than transaction volumes $\langle{P_{p}},{T_{p}}\rangle,$ respectively $\langle{P_{p}}',{T_{p}}'\rangle.$ After all, for most UTXO-based cryptocurrencies, money supply is just a simple function of block height.15 Thus, the two former measures appear very close to merely scaled versions of their price-sums.

Moreover, the total coin supply used in ${V_\mathtt{triv}^{\mathtt{msr}}}$ and ${V_\mathtt{total}^{\mathtt{msr}}}$ includes money that is technical dysfunctional (*e.g.*, burnt coins). Yet, coins held unused as storage of wealth16 or speculation17 also do not fulfill one of the key functions of money: use as medium of exchange.

Furthermore, the amount of money frozen in speculative investments might not be neutral to money flows or prices. Since the beginnings of monetary economics, currency speculation has been associated with patterns in price levels. In [21] and [22], the illiquid component is considered a reservoir for neutralizing demand shocks and excluded from the money supply. For [7] and [6], hoarded money, as destroyed money, is *leakage* which must be compensated to stabilize the price level. [1] associates the rise in market prices for one of the early fiat U.S. banknotes with a relation of speculation and circulating money as well: “speculation acted as a regulator of the quantity of money.”

Our proposed measure captures precisely this velocity of money in effective circulation. This perspective is already present in current theoretical research on cryptocurrency prices. For instance, the model of [3] distinguishes demand for transactions from demand for rational speculation. When using the quantity equation, they deduct coins bought and held as speculative investment. Their modified quantity equation relates the exchange rate between fiat and cryptocurrency $S_{{p}}$ to the velocity of cryptocurrency in effective circulation ${{V_{\mathtt{circ}}}_{p}}$ and the volume of transactions ${T_{p}}^{\ast}$ denominated in units of cryptocurrency as

$\begin{aligned}
S_{{p}} = \frac{{T_{p}}^{\ast} / {{V_{\mathtt{circ}}}_{p}}}{{{M_{\mathtt{circ}}}_{p}}}.
\end{aligned}$(11)

The speculators in the model purchase cryptocurrency units if traded prices lie below their risk-adjusted, discounted expected future price. With increasing aggregate speculative positions, the risk of marginal speculative investments rises, lowering the price speculators are willing to pay. On the other hand, higher speculative positions imply reduced ${{M_{\mathtt{circ}}}_{p}}$ and increase current price according to their modified quantity equation. A similar relation between money in circulation and speculation is modelled in [2] as well.

Hence, implicitly or explicitly theoretical research already employs velocity based on circulating money rather than the total money supply. We close the gap in empirical research by operationalizing the circulation-based velocity measure for UTXO-based cryptocurrencies.

Based on the concept of velocity of money in effective circulation as clarified in the last section, we now propose algorithms to calculate velocity for UTXO-based cryptocurrencies.

Conceptually, a monetary unit has circulated in a period if and only if it has been used as a medium of exchange. Therefore, first a time window must be specified with respect to which monetary units are to be classified as *circulating* or not. Money is referred to as circulating if it has been moved economically within the last day, month, year, or generally any time period ${w}$ covering $[{w}_{\mathtt{start}}, {w}_{\mathtt{end}}].$

To identify the fraction of the money supply which circulated within ${w}$, we step through every transaction recorded in period $w.$ Transactions spending outputs generated before ${w},$ as well as outputs from coinbase transactions (seignorage), have the interpretation of bringing an amount into circulation that corresponds to the value of spent outputs. All inputs referring to UTXOs generated *within* period $w,$ on the other hand, re-spend money which has already been counted as circulating.18

Note that we define the time window ${w}$ within which spent coins are considered as *circulating* distinct from the period ${p}$ for which the velocity measure is calculated, $[{p}_{\mathtt{start}}, {p}_{{\mathtt{end}}}].$ This distinction can be parametrized via a maximum length ${\ell}$ of the look-back window ${w}$, where ${w}_{\mathtt{start}}= {p}_{\mathtt{start}}- {\ell}$ and ${w}_{\mathtt{end}}= {p}_{\mathtt{end}}.$

The approach as characterized so far, however, does not account for two technical properties of UTXO-based cryptocurrencies: First, transactions always spend prior transaction outputs in full. Second, there exists no attribution of individual outputs to the inputs of a transaction; thus it remains undefined which input corresponds to which output(s).

The first property raises the question of how to deal with transactions which send back change: Should the sum of all inputs be considered *in circulation,* as technically all was transferred—or should only the fraction sent to third parties be considered? We analyze both choices, naming the first the *whole-bill approach *(WBA) and the second the *moved-coin approach* (MCA). They are visualized in Figure 2. The moved-coin approach considers only output $\mathsf{Out_1}$ of transaction $\mathsf{Tx_C}$ as circulating, not the change output. This approach captures the net economic value transferred to a third party. The WBA classifies the whole input of transaction $\mathsf{Tx_C}$ as circulating. This approach captures the amount of money that has technically been moved; it can also be interpreted as revealed to be available for transactions.

In the MCA, the sum of inputs is counted as circulating only net of change outputs. However, due to the second property of UTXO blockchains ambiguous constellations can occur: If for a given transaction one input was generated within and one before ${w}$, it remains unspecified which one corresponds to the change output.

Transaction $\mathsf{Tx_F}$ in Figure 2 illustrates the point. It has two inputs: $\mathsf{Inp_1}$ originated before period ${w}$ and $\mathsf{Inp_2}$ originated within ${w}$. If only amounts sent to third parties matter, it remains unclear which of the two inputs funded the change output. For $\mathsf{Inp_1}$, the transaction would not increase money in circulation. In contrast, if $\mathsf{Inp_2}$ funded the change output, the transaction would increase the amount in circulation by $\mathsf{Inp_1}$.

To resolve the ambiguity, an assignment rule between transaction inputs and outputs is required. We consider both endpoints on the spectrum of the age of the input assigned to the change transaction and thus differentiate between “*last-in-first-out*”(LIFO), where oldest inputs get assigned to outputs first, and “*first-in-first-out*” (FIFO), where it is the other way around.

Naturally, with the WBA this differentiation is void. Hence, we have three definitions of money in circulation, each a function of the activity window length ${\ell}$: Money in circulation for period ${w}$ adopting the WBA (${{M_{\mathtt{circWba}}}_{{p}[{\ell}]}}$), and both the MCA with the LIFO rule (${{M_{\mathtt{circMcaLifo}}}_{{p}[{\ell}]}}$) and the MCA with the FIFO rule $({{M_{\mathtt{circMcaFifo}}}_{{p}[{\ell}]}}).$

Based on the above definitions of money in circulation, three variations of velocity can be calculated in accordance with Equation 8—one per money aggregate. All measures capture the average number of peer-to-peer coin turnovers of effectively-circulating monetary units in period $p.$ They concur in capturing on-chain liquidity; they differ with regard to definitions of *circulating monetary units* and assignment rules linking transaction inputs to outputs. The first measure is based on ${{M_{\mathtt{circWba}}}_{p}}$ and simply calculated as

$\begin{aligned}
%\label{equ:VCircWbEstPWl}
{{V_{\mathtt{circWba}}^{\mathtt{msr}}}_{{p}[{\ell}]}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_{\mathtt{circWba}}^{\mathtt{msr}}}_{{p}[{\ell}]}}}.
\end{aligned}$(12)

${{V_{\mathtt{circWba}}}_{p}}$ is recommended if a conservative measurement of coin turnover is sought or additional assumptions about how to link inputs to outputs should be avoided. The second and third measures are based on ${{M_{\mathtt{circMcaFifo}}}_{{p}[{\ell}]}}$ and ${{M_{\mathtt{circMcaLifo}}}_{{p}[{\ell}]}},$ respectively:

$\begin{aligned}
%\label{equ:VCircMfEstPWl}
{{V_{\mathtt{circMcaFifo}}^{\mathtt{msr}}}_{{p}[{\ell}]}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_{\mathtt{circMcaFifo}}^{\mathtt{msr}}}_{{p}[{\ell}]}}}, \\
\end{aligned}$(13)

$\begin{aligned}
%\label{equ:VCircMfEstPWl}
{{V_{\mathtt{circMcaLifo}}^{\mathtt{msr}}}_{{p}[{\ell}]}}= \frac{\langle{P_{p}},{T_{p}}\rangle}{{{M_{\mathtt{circMcaLifo}}^{\mathtt{msr}}}_{{p}[{\ell}]}}}.%
%\label{equ:VCircMlEstPWl}
\end{aligned}$(14)

${{V_{\mathtt{circMcaFifo}}^{\mathtt{msr}}}_{p}}$ and ${{V_{\mathtt{circMcaLifo}}^{\mathtt{msr}}}_{p}}$ are more stringent on the definition of money in circulation. Their monetary aggregates do not count “touched” funds, but only amounts transferred to somebody other than the sender. However, this comes at the cost of the additional assumption with respect to the assignment rule between transaction inputs and outputs.

Having defined three velocity measures, we now detail our technical approach and the implementation.

Money in circulation under the WBA is measured as in Algorithm 1. For every period ${w}$, we loop over all transactions $t\in{\mathbb{T}_{w}}$ and add their inputs to circulating money if they either reference outputs from coinbase transactions, denoted by ${\mathtt{genByCoinbase}}(i)$, or outputs with timestamps ${\mathtt{dateGen}}(i)$ before the first timestamp ${w}_{\mathtt{start}}$ of period $w.$

Measuring money in circulation under the MCA is depicted in Algorithm 2. As in Algorithm 1, for time window ${w}$ we loop over all transactions $t\in{\mathbb{T}_{w}}$ and add inputs based on the same core condition (compare lines 2-13 of Algorithm 2 and lines 1-6 of Algorithm 1). This time, however, only those inputs are regarded for further counting, which add up to the amount sent to third parties. Therefore, the calculated amount of money in circulation per transaction can be less than or equal to the amount sent to third parties, but never more. The order of inputs to consider is determined by the LIFO or FIFO principle. For every transaction $t$ in time window $w,$ the amount sent to third parties is determined net of self-churn as ${\mathtt{valOut}}^{\mathtt{toOthers}}(t) = \sum_{o\in{}{\mathbb{O}}'_{t}} {\mathtt{valOut}}(o)$ where ${\mathbb{O}}'_{t}$ denotes non-self-churn outputs of transaction $t.$ If all outputs are identified as self-churn, ${\mathtt{valOut}}^{\mathtt{toOthers}}(t) = 0$ and the algorithm continues with the next transaction. If ${\mathtt{valOut}}^{\mathtt{toOthers}}(t) > 0,$ the algorithm collects input values in a vector ${\mathbb{I}^{\mathtt{sort}}_{t}};$ they are sorted in either ascending (LIFO) or descending (FIFO) order with regard to the timestamp when the UTXOs were generated. Then, looping over inputs $i,$ input values ${\mathtt{valInp}}(i)$ are added to ${{M_{\mathtt{circMca}}}_{{p}[{\ell}]}}(t)$ if they meet the core condition (compare line 17 of Algorithm 2) introduced in line 6 of Algorithm 1.19 However, one additional condition applies: If the last added input would increase the summand ${{M_{\mathtt{circMca}}}_{{p}[{\ell}]}}(t)$ beyond the value of outputs sent to third parties ${\mathtt{valOut}}^{\mathtt{toOthers}}(t),$ we only add up to the latter amount.

One important concern with any measure of economic activity asks, how amenable is it to manipulation? In the case of velocity, the question is specifically asking whether the measure can be inflated by a single agent (or a small group) of limited means. After all, one proxy variable for velocity has been designed as a manipulation-proof alternative to turnover (*see* Section 9.1.1). How easy would it be to create fake velocity in order to inflate our measures?

Indeed, no direct technical impossibility prevents generating transactions affecting Equation 12–Equation 14. Nonetheless, there exist reasonably tight limits to the manipulation potential of our measures, in particular compared to trading volumes on exchanges.

First and foremost, calculating our measure on on-chain transactions puts an upper limit to fake transfers. First, a fake transaction needs to be committed to the blockchain, and thus can be repeated only once per block time. As long as the manipulator is not the miner confirming the next block (a random and unlikely outcome even for large pools), the on-chain settlement is also costly, incurring fees.

Second, the manipulator must fully fund her fake transactions: she cannot send more than she owns once per block. The question then turns to how she should structure the fake transfers. Send the entire amount in a single transaction, or split it up into as many as can fit into a block? In the latter case, the fees rise. In the former, should she minimize or maximize the number of outputs? If she maximizes, the fees rise again, and she quickly fragments her wealth across a diverging multitude of wallets, reducing the funds available in each for the next round (block) of manipulation.

In this context it is critical that we follow the literature in clustering user addresses: As long as the clustering works, the manipulator cannot combine her funds ever again, lest she would be deconspired as a single agent and all her fake transactions disregarded. It follows that her strategy minimizes the number of outputs, generating a chain of fresh addresses across which a large sum, tied up in the manipulation, traverses indefinitely to make-believe “newcomers.” This, however, matches peeling transactions, which we also exclude. She would thus need to break frequently enough in order to escape this classification, slowing her manipulation further.

In sum, manipulation attempts are both technically elaborate and relatively straightforward to detect and exclude in the future. We thus do not consider manipulation a serious concern for our current results, nor for our measures.

Equipped with our proposed velocity measures that are calculated on a level of detail of each output in each transaction in each block on the blockchain, we can now use these measures to empirically assess the quality of popular proxies for velocity.

To this end, we first review the most common proxies in Section 9.1, then implement the proposed estimators to calculate velocity measures for Bitcoin in Section 9.2, and finally run tests in Section 9.3 to evaluate the goodness of fit of the proxies with regard to the measures.

Since turnover can be gamed via repeated transfers of an agent to herself,20 the CDD measure was introduced as a manipulation-proof alternative on bitcointalk.org in 2011.21 For each input, *coin days* refer to the product of its monetary value and the number of days “since it was last spent” (*i.e.* how many days the funding output had remained a UTXO). CDD then is defined as the sum of coin days over all transactions within a period ${p}$:

$\begin{aligned}
{{V^{{\mathtt{app}}}_{\mathtt{cdd}}}_{\!{p}}}= \sum_{t\in{\mathbb{T}_{p}}} \mathtt{cdd}(t),
\end{aligned}$(15)

where

$\begin{aligned}
\mathtt{cdd}(t) = \sum_{i\in{\mathbb{I}_{\mathtt{t}}}} \Delta(i) \cdot {\mathtt{valInp}}(i)
\end{aligned}$(16)

with $\Delta(i)$ denoting the number of days since the respective input originated as output (or coinbase transaction) in a prior block, and ${\mathtt{valInp}}(i)$ the value of input $i$ of transaction $t$ in period $p.$

The CDD measure puts larger weight on the reactivation of long-dormant coins compared to ones frequently spun, a feature clearly differing from the concept of velocity.

In [17], a proxy for velocity, aiming at “the average number of times the actively used [coins] can be expected to turn over,” was proposed. While named “turnover” in [17], this is not to be confused with the classical *turnover* that refers to the simple sum total of transacted amounts within a period ${p}$:

$\begin{aligned}
{{V^{{\mathtt{app}}}_{\mathtt{turnover}}}_{{p}}}= \sum_{t\in{\mathbb{T}_{p}}} \sum_{i\in{\mathbb{I}_{\mathtt{t}}}} {\mathtt{valInp}}(i).
\end{aligned}$(17)

In contrast, the measure in [17] is constructed as the inverse of average dormancy $\mathtt{dorm}_{p}$ multiplied by the time period, where dormancy amounts to CDD scaled by the sum of inputs spent during the period ${p}$ (*c.f.* [17]):

$\begin{aligned}
%
{{V^{{\mathtt{app}}}_{\mathtt{turn}}}_{{p}}}= \frac{1}{\mathtt{dorm}_{p}} \cdot \delta,
\end{aligned}$(18)

with

$\begin{aligned}
%
\mathtt{dorm}_{p}= \frac{{{V^{{\mathtt{app}}}_{\mathtt{cdd}}}_{\!{p}}}}{\sum_{t\in{\mathbb{T}_{p}}} \sum_{i\in{\mathbb{I}_{\mathtt{t}}}} {\mathtt{valInp}}(i)}.
\end{aligned}$(19)

Here $\delta$ refers to the length of the period for which turnover is calculated. To illustrate the concept, assume the coins spent today stayed unused on average for six hours before their transaction. Hence, circulating coins are turned over $\frac{24h}{6h} = 4$ times per day on average. Dormancy-based turnover, however, remains an approximation depending on transactions distributed homogeneously over time.

We collect a dataset spanning from June 2013 until June 2019, starting with the rise of the first cryptocurrency exchanges and thus reliable trading data.

For the proxy variables, we tap existing sources as far as possible. CDD data is gathered via API from Blockwatch,22 trading data taken from CoinMarketCap.23

To calculate the velocity measures, however, access to the atomic units of cryptocurrency transactions is needed. We rely on the open-source blockchain parser *BlockSci* introduced by [4]. We also provide the code of our paper at https://github.com/wiberlin/ccurr_velocity/. In replicating the clustering approach of [4] (*see* Section 5.2), in order to mitigate the amount and effect of false positives, we exclude one unreasonably large cluster with over 297 million addresses.24

We calculate our velocity measures based on a time window for money in active circulation ${\ell}$ equal to period ${p}= 1 \text{ day}$.25 Therefore, a *coin* is in circulation if it is transferred at least once within the day for which velocity is computed. This daily measure can be interpreted as average turnover of monetary units which are part of the daily circulating money supply. While our choice for the window ${\ell}$ within which moved coins are considered actively in circulation is short, this allows us to flesh out the difference between velocity based on the total money supply and our proposed measures based on circulating supply most clearly. Moreover, since [4] provide results with an implicitly26 infinite ${\ell},$ we provide evidence on the opposite endpoint on the spectrum. Naturally, neither the BlockSci parser nor our approach are restricted to these choices and can be extended both to other time windows and other UTXO-based cryptocurrencies.

Table 1 shows descriptive statistics for the proxies and the measures. ${V^{{\mathtt{app}}}_{\mathtt{cdd}}}$ denotes CDD in million coin days, while ${V^{{\mathtt{app}}}_{\mathtt{turn}}}$ denotes *active turnover* in expected on-chain coin transfers. For both proxy variables, means exceed medians, suggesting outliers in the skewed distribution. According to ${V_\mathtt{triv}^{\mathtt{msr}}},$ a monetary unit of the total coin supply is turned over 0.11 times on average, while the more sophisticated measure ${V_\mathtt{total}^{\mathtt{msr}}}$ results in turnover of 0.09. The difference stems from the deflated transaction volume used by ${V_\mathtt{total}^{\mathtt{msr}}}$ being strictly lower then the inflated one (*see* Section 5). According to the measure ${V_{\mathtt{circWba}}^{\mathtt{msr}}},$ which is based on the WBA, coins in effective circulation during the day reach turnover of around 5.83. Assuming the clustering heuristics work well, coin transfers correspond to peer-to-peer hops. Accordingly, ${V_{\mathtt{circWba}}^{\mathtt{msr}}}$ estimates that monetary units in circulation change owners 5.83 times per day, while ${V_{\mathtt{circMcaFifo}}^{\mathtt{msr}}}$ and ${V_{\mathtt{circMcaLifo}}^{\mathtt{msr}}}$ give an estimate of around 6.09 peer-to-peer hops. The reason for the higher turnover estimate is the more conservative operationalization of the concept of *being in circulation* (*see* Section 8.3).

The different levels can be disentangled by looking at the components of the velocity measures. Figure 3a exemplarily shows this for the components of ${V_\mathtt{total}^{\mathtt{msr}}}$ and ${V_{\mathtt{circWba}}^{\mathtt{msr}}}.$ While ${M_\mathtt{total}}$ increases steadily over time, the subset of coins transacted at least once per day, with an average 1.5% of the total supply, is minuscule but volatile in comparison.27 The deflated on-chain transaction volume varies widely—clearly always below total supply, yet above the supply in circulation. While the volatility in the transaction volume feeds fully into ${V_\mathtt{total}^{\mathtt{msr}}},$ for ${V_{\mathtt{circWba}}^{\mathtt{msr}}}$ the relation is less obvious. In Figure 3b, the components’ co-variation with bitcoin price indicates that not only deflated on-chain transaction volume $\mathtt{Vol}$, but also the monetary aggregates are positively correlated with price changes. Somewhat surprising, however, the velocity measures show a slightly negative correlation with prices.

Comparing maxima and minima across time series, as Table 1 shows, requires scaling. We use two methods: normalization and standardization. Normalization is based on the usual $X^{norm} = (X-X_{min})/(X_{max}-X_{min})\in[0, 1].$ Standardization is based on Z-scores $X^{stand} = \frac{X-\mu(X)}{\sigma(X)},$ with mean $\mu(\cdot)$ and standard deviation $\sigma(\cdot).$ Both are sensitive to outliers (*c.f. *[23]), so we truncate at 10 standard deviations around the mean.28 Figure 4 shows the time series of proxy variables for velocity. The scaling leads to a visible difference, relevant when comparing proxies to measurement results. A first indication of the quality of the proxy variables is their diversity. Not only spikes, but also general trends, vary across methods. Figure 5 depicts the different velocity measures. Differences across measures are smaller; highs and lows correspond more. The next section provides quantitative evidence.

We now turn to evaluating the proxy variables for velocity based on our estimated measures. In so doing, we include the trivial velocity measure ${V_\mathtt{triv}^{\mathtt{msr}}}$ in the set of proxies, as it is calculated on very high-level inputs (raw on-chain transaction volume and total coin supply) that are similarly easy to obtain as CDD or *turnover*.

In order to evaluate the quality of proxy variables perfectly, the “true” velocity ought to be known. At the same time, we have proposed three novel measures, in addition to those suggested by [2] and [4]. We do not view this a contradiction: after all, the measures capture different concepts of velocity. Ours, for example, address the velocity of money in circulation. Therefore, we do not horserace all proxies against one benchmark, but rather evaluate the goodness of fit of the proxy variables with any of the measures. We do, however, take the position that the measures are more precise estimators of “true velocity” (its respective concepts) than the proxies, and thus evaluate the latter in terms of their fit to the former.

Perhaps surprisingly, the results do not vary qualitatively much across different measurement approaches.

A common approach assesses approximation errors by comparing mean squared errors (MSE) or mean absolute errors (MAE). MSE, by squaring them, punishes large deviations more rigorously than the linear MAE. We provide both, not only to the standardized and normalized time series, but also on their first differences. This is motivated, as in econometric studies like those in Section 2, by doubts about the stationarity of the time series.

Table 2 shows that the above transformations differ in their assessment of the goodness of fit of approximation methods. When judging by the normalized but undifferenced dataset, *turnover* ${V^{{\mathtt{app}}}_{\mathtt{turn}}}$ (as alternatively defined by [17]) achieves the lowest error in approximating velocity measures based on effectively-circulating money supply. However, for all other constellations we find that the trivial measure ${V_\mathtt{triv}^{\mathtt{msr}}}$ provides the closest fit to all ways to measure velocity.

To understand if the approximation methods indeed differ significantly, we perform Model Confidence Set (MCS) tests. [24] introduced MCS tests to measure the performance of forecasting methods, but they are applicable more generally. The method uses equivalence tests and an elimination procedure to determine which set of models significantly outperforms the rest of the models. For an intuitive understanding of the test, one might think of a set $M$ of models (here, the different approximation methods). The models are indexed using $i \text{ and } j \in 1,..,m.$ When comparing model $i$ to a benchmark, for each period ${p}$ model $i$ leads to loss functions $L_{i {p}} = L(V^{{\mathtt{msr}}}_{p}, V^{{\mathtt{app}}}_{i {p}}),$ where $V^{{\mathtt{msr}}}_{p}$ denotes the benchmark velocity measure and $V^{{\mathtt{app}}}_{i {p}}$ the approximation method $i.$

To compare the performance of the models in $M$, relative performance metrics $d_{ij {p}}$ are defined as

$\begin{aligned}
d_{ij {p}} = L_{i {p}} - L_{j {p}}
\end{aligned}$

for all $i,j \in M$ where $i \neq j$. We use absolute and squared errors for the loss function $L$, so that it takes the forms

$\begin{aligned}
d_{ij {p}} = \bigl| V^{{\mathtt{msr}}}_{p}
- V^{{\mathtt{app}}}_{i {p}} \bigr|
- \bigl| V^{{\mathtt{msr}}}_{p}
- V^{{\mathtt{app}}}_{j {p}} \bigr|
\end{aligned}$

or

$\begin{aligned}
d_{ij {p}} = \bigl( V^{{\mathtt{msr}}}_{p}
- V^{{\mathtt{app}}}_{i {p}} \bigr)^{2}
- \bigl( V^{{\mathtt{msr}}}_{p}
- V^{{\mathtt{app}}}_{j {p}} \bigr)^{2}
\end{aligned}$

respectively.

The relative performance of model $i$ compared to all other models then is

$\begin{aligned}
d_{i \boldsymbol{\cdot}} = \frac{1}{m-1} \sum_{j \in M \setminus i} d_{ij},
\end{aligned}$

with $i = 1,...,m.$ The null hypothesis states

$\begin{aligned}
H_{0M}: E(d_{i \boldsymbol{\cdot}}) = 0,\ \forall i \in M.
\end{aligned}$

If it can be rejected for set $M$, there exist models in the set that are significantly outperforming the remaining ones. The above equivalence test is then re-iterated after elimination of the worst-performing model(s) until the null hypothesis cannot be rejected. For details, see [24].

Table 2 displays the MCS tests’ results, denoting significance at the 1% level with $\dag$. Results for the differenced dataset are clear: the MCS tests select, even at the tight 1 % significance levels, a single winning approximation method for each constellation. This evidence confirms Section 9.3.1 at high significance levels. ${V_\mathtt{triv}^{\mathtt{msr}}}$ is the single best element of the 1%-MCS for all constellations. For the normalized undifferenced dataset, the *turnover* ${V^{{\mathtt{app}}}_{\mathtt{turn}}}$ is the single best proxy for velocity based on circulating money for all but one of the constellations. If velocity is measured as ${V_\mathtt{total}^{\mathtt{msr}}}$, however, the trivial measure ${V_\mathtt{triv}^{\mathtt{msr}}}$ again performs significantly better than all other proxies. In summary, MCS tests mostly support the trivial measure ${V_\mathtt{triv}^{\mathtt{msr}}}$. Only in cases with time trends and less focus on outliers than on smaller changes might *turnover* be the better choice. Again, ${V^{{\mathtt{app}}}_{\mathtt{cdd}}},$ the most common proxy, is significantly outperformed in all constellations.

The Mincer-Zarnowitz (MZ) approach regresses estimates on the benchmark in simple ordinary-least-squares regressions [25]. In order to avoid spurious regression results, we only use the first differences of the standardized and normalized series. The regression structure for proxy $i$ can be expressed as:

$\begin{aligned}
\Delta V^{{\mathtt{msr}}}_{i {p}} = \alpha_{i} + \beta_{i} \Delta V^{{\mathtt{app}}}_{i
{p}} + u_{i {p}}.
\end{aligned}$

An ideal proxy would yield an intercept of 0 and a $\beta$ equal to 1 with an adjusted $R^{2}$ of 1. The results of the MZ regressions in Table 3 confirm the simple ratio of inflated on-chain transaction volume to total coin supply ${V_\mathtt{triv}^{\mathtt{msr}}}$ as superior. This simple ratio yields an adjusted $R^{2}$ between 0.34 and 0.53; other proxies’ $R^{2}$ is much lower for all measurement methods of velocity. While for none of the approximations did a significant intercept indicates bias, the slope coefficients $\beta$ for most constellations are significant and positive. Furthermore, with respect to the $\beta$ coefficients, ${V_\mathtt{triv}^{\mathtt{msr}}}$ performs best. The latter shows coefficients between 0.99 and 1.07 for normalized and between 0.78 and 0.8 for standardized data.

The MZ regressions are in line with the evidence in prior sections. Again, the trivial measure approximates the more sophisticated velocity measures better than the two commonly used proxy variables.

We analyzed approaches quantifying the velocity of money for cryptocurrencies; moreover, we introduced novel measurement methods based on money in effective circulation.

Our implementation shows that velocity as a function of the period within which money is considered as *effectively circulating* can be more informative than prior velocity measures. Our results also raise questions for future research: Is velocity for certain time spans more related to price? If so, can such a relationship be exploited in the construction of stablecoins (*c.f.* [26])? What is the effect of including off-chain transactions?

In addition, we analyze goodness of fit for common velocity approximations. In most tests we find that the common proxy variable *coin days destroyed *delivers higher approximation errors than the simple ratio of unadjusted, on-chain transaction volume to total coin supply.

On a broader scale, by publishing our code we hope to foster research on the economic properties of cryptocurrencies.