Does the median transaction track purchasing power? Five chains

The Bitcoin page found that the average on-chain transaction got 150 times larger in real terms, which breaks the whitepaper's gauge. Averages are dominated by exchanges and whales. This page repeats the test on every chain with free daily data, using the median transaction wherever it is available.

Generated , commit . Sources: . Monthly medians of daily values. Elasticity is the slope of log(y) on log(x): minus one means coins per transaction fall exactly as fast as the price rises, and zero for the USD version means the real size of a transaction did not change.

1. Price up, coins per median transaction down

Each panel indexes the price and the median transaction size (in the coin's own units) to the first month, on one axis. If the median transaction tracks purchasing power, the two lines are mirror images and the elasticity in the title is close to minus one.

Price, indexedMedian transaction in coin units, indexed (chain colour)

2. What the median transaction was worth

The direct test. A flat line means people moved about the same real value per transaction regardless of the coin's price.

Table view: yearly median transaction in USD

3. Elasticities side by side

Median coins per transaction vs price

-1 = tracks purchasing power exactly; 0 = no response

Median USD per transaction vs price

0 = real size unchanged; +1 = real size moves with price

Table view: elasticities by chain and era

4. Slice of supply per median transaction vs users

The coarse fixed-supply model predicts a slope of minus one on log-log axes. This corrects for coins minted along the way by dividing by circulating supply.

5. Reading

6. Caveats

7. Reproduce

git clone https://github.com/pastacoin/pastacoin && cd pastacoin
python -m venv .venv && .venv/Scripts/pip install -e ".[dev,report]"
.venv/Scripts/python -m pasta.analysis.chains_report --figures figures         # committed data/chains/*.csv
.venv/Scripts/python -m pasta.analysis.chains_report --fetch ltc doge --figures figures   # refresh (Blockchair rate limits apply)