Skip to main content
GET
/
indicator
/
price-models
/
metcalfe-price
Bitcoin Metcalfe's Price
curl --request GET \
  --url https://api.cryptoquant.com/v2/indicator/price-models/metcalfe-price \
  --header 'Authorization: Bearer <token>'
{
  "status": {
    "code": 123,
    "message": "<string>"
  },
  "result": {
    "window": "<string>",
    "data": [
      {
        "date": "<string>",
        "active_addresses_squared_price": 123,
        "active_addresses_squared_50_price": 123,
        "active_addresses_squared_25_price": 123,
        "active_addresses_squared_10_price": 123,
        "active_addresses_squared_3x_price": 123,
        "active_addresses_squared_2x_price": 123
      }
    ]
  }
}

What it measures

Fair value derived from Metcalfe’s Law: market cap ÷ active addresses². Different A-coefficients produce a family of upper/lower valuation bands.

How to interpret it

Central Metcalfe Price = network-activity-based fair value. Higher A bands (3x, 2x) = upper valuation limits historically acting as resistance in bull markets. Lower A bands (0.5, 0.25, 0.1, 0.04) = lower support/fair value range. Bands themselves move with network activity levels.

Key thresholds

Red band (higher A): price resistance in bull markets, short-term rally targets; A=2x band: key support/resistance (~$91K in Nov 2025); Blue band (lower A): lower fair value support; Price between red and blue bands since Feb 2024 = “fair value range”

How to use it

Assess whether price is fundamentally supported by user activity. Price above red band = overvalued vs. network usage. Price bouncing off blue band = fundamental support. Watch bands shift downward when network activity (e.g. OP_RETURN, transactions) declines.

Run this metric in CryptoQuant Analytics

Authorizations

Authorization
string
header
required

For each API request, include the Authorization HTTP header with Bearer {access_token}.

Query Parameters

window
string
default:day

Time interval for aggregation.

from
string

Starting time, formatted as YYYYMMDDTHHMMSS (UTC). If window=day, YYYYMMDD is also accepted.

to
string

Ending time, formatted as YYYYMMDDTHHMMSS (UTC). If window=day, YYYYMMDD is also accepted.

limit
integer

Maximum number of data rows to return.

Response

200 - application/json

Bitcoin price valuation

status
object
required

Returned with every response; indicates whether the request was successful.

result
object
required