> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cryptoquant.com/llms.txt
> Use this file to discover all available pages before exploring further.

# On-chain Trader Realized Price bands

> The on-chain realized price of Bitcoin between 1 to 3 months old, including the max, upper, lower and min price bands.

## What it measures

Average acquisition price (cost basis) of medium-term "traders" specifically, calculated from coins of 1 to 3 months old.

Max band: Outermost upper extreme of the Trader Realized Price channel — maximum historical profit margin level (70%).
Upper band: Fixed positive profit (40%) margin applied to the Trader Realized Price — where traders would be realizing above-average profits.
Low band: Approximately –12% margin applied to the Trader Realized Price — where traders realize moderate losses.
min band: Outermost lower extreme — maximum historical loss margin applied to Trader Realized Price (-37%).

## How to interpret it

Realized price: In bull markets (Bull Score ≥ 60), it acts as price support — traders at breakeven have little incentive to sell. In bear markets (Bull Score ≤ 40), it flips to resistance — underwater traders rush to exit at breakeven.

Max band: Historically marks blow-off top conditions. Price at or above the max band = extreme profit-taking risk. Rare to reach.

Upper band: Marks a zone of elevated profit-taking risk. Price at or above the upper band in a bull market = deep profits = increased probability of selling pressure and short-term correction.

Lower band: In bull markets: first major support below the Trader Realized Price; traders capitulate by selling at a loss, creating a buy opportunity. Breaking below the lower band in a bull cycle is a serious warning. In bear markets it becomes a near-term rally target from below.

Min band: The "ultimate support during deep price corrections." Marks bear market capitulation extremes — the level where even distressed selling finds a floor.

## Key thresholds

Realized price: \~$63K (Apr 2024) = support; ~$65.8K (Jun 2024) = support; \~$81.2K (Mar 2026) = bear market resistance; ~$91–92K (Apr 2025) = resistance. Key rule: Support when Bull Score ≥ 60, Resistance when Bull Score ≤ 40.

Price at max band = cycle top warning / sell alert.
Price reaching upper band in bull market = local top / correction risk signal.
Lower band: \~$100K (Nov 2025) = failed to hold, signaling bear market start; ~$75–78K (Mar 2025/2026) = key support/resistance; \~$71.5K (Apr 2026) = bear market rally target.
Min band: ~$63K (Mar 2025) = ultimate downside target if higher supports failed; \~\$72K (Nov 2025) = absolute downside target cited

## How to use it

Realized price: Primary dynamic support/resistance level. Regime-dependent interpretation is critical.

Max band: Use as a cycle top signal. Combine with Bull Score and MVRV Z-score for confirmation.

Upper band: Use as a profit-taking alert level. Combine with realized profit/loss metrics to confirm whether selling is materializing.

Lower band: Monitor as the first major support test during corrections. Failure to hold = escalating bear market risk.

Min band: Use as the bear market floor target. When price approaches the min band, monitor for capitulation signals (massive daily losses, extreme negative NUPL).

<Card title="Run this metric in CryptoQuant Analytics" icon="chart-line" href="https://cryptoquant.com/analytics/query/657b35ef21681e353192def5" />


## OpenAPI

````yaml openapi/v2.json GET /community/bitcoin-trader-realized-price
openapi: 3.0.0
info:
  version: 2.0.0-beta
  title: CryptoQuant Data API v2
  description: >-
    The CryptoQuant Data API v2 serves curated, research-grade indicators built
    on the v1 conventions — the `status`/`result` response envelope, Bearer
    token authentication, and the `window`/`from`/`to` time parameters. Each
    metric ships with an interpretation guide covering what it measures, key
    thresholds, and how to combine it with other metrics.
  termsOfService: https://cryptoquant.com/terms-of-service
  contact:
    name: API Support
    email: contact@cryptoquant.com
servers:
  - url: https://api.cryptoquant.com/v2
    description: Default server
security: []
tags:
  - name: Community-built Indicators
paths:
  /community/bitcoin-trader-realized-price:
    get:
      tags:
        - Community-built Indicators
      summary: On-chain Trader Realized Price bands
      description: >-
        The on-chain realized price of Bitcoin between 1 to 3 months old,
        including the max, upper, lower and min price bands.
      operationId: V2getBitcoinTraderRealizedPrice
      parameters:
        - name: window
          in: query
          required: false
          description: Time interval for aggregation.
          schema:
            type: string
            default: day
          example: day
        - name: from
          in: query
          required: false
          description: >-
            Starting time, formatted as YYYYMMDDTHHMMSS (UTC). If `window=day`,
            YYYYMMDD is also accepted.
          schema:
            type: string
        - name: to
          in: query
          required: false
          description: >-
            Ending time, formatted as YYYYMMDDTHHMMSS (UTC). If `window=day`,
            YYYYMMDD is also accepted.
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Maximum number of data rows to return. Ranges from 1 to 10,000.
          schema:
            type: integer
            default: 100
            minimum: 1
            maximum: 10000
      responses:
        '200':
          description: Bitcoin price valuation
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - result
                properties:
                  status:
                    $ref: '#/components/schemas/Status'
                  result:
                    type: object
                    properties:
                      window:
                        type: string
                      data:
                        type: array
                        items:
                          type: object
                          properties:
                            datetime:
                              type: string
                              description: >-
                                The datetime, formatted as YYYY-MM-DD HH:MM:SS
                                (UTC).
                              example: '2026-06-14 00:00:00'
                            realized_price_1m_3m:
                              type: number
                              example: 75405.79
                            realized_price_max_band:
                              type: number
                              example: 128189.84
                            realized_price_upper_band:
                              type: number
                              example: 105568.11
                            realized_price_lower_band:
                              type: number
                              example: 66357.1
                            realized_price_min_band:
                              type: number
                              example: 47505.65
      security:
        - AccessToken: []
      x-codeSamples:
        - lang: Shell
          source: >-
            curl -X GET
            "https://api.cryptoquant.com/v2/community/bitcoin-trader-realized-price?window=day"
            \

            -H "Authorization: Bearer <YOUR_API_KEY>"
        - lang: JavaScript
          source: >-
            fetch("https://api.cryptoquant.com/v2/community/bitcoin-trader-realized-price?window=day",
            { headers: { "Authorization": "Bearer <YOUR_API_KEY>"} })
              .then(response => response.json())
              .then(data => console.log(data))
        - lang: NodeJS
          source: |-
            require('axios')
              .get("https://api.cryptoquant.com/v2/community/bitcoin-trader-realized-price?window=day", { headers: { Authorization: 'Bearer <YOUR_API_KEY>' } })
              .then(response => console.log(response))
        - lang: Ruby
          source: >-
            require 'net/http'

            uri =
            URI("https://api.cryptoquant.com/v2/community/bitcoin-trader-realized-price?window=day")

            req = Net::HTTP::Get.new(uri)

            req["Authorization"] = "Bearer <YOUR_API_KEY>"

            res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) {
            |http| http.request(req) }

            puts res.body
        - lang: Python
          source: >-
            import requests

            headers = {'Authorization': 'Bearer <YOUR_API_KEY>'}

            url =
            "https://api.cryptoquant.com/v2/community/bitcoin-trader-realized-price?window=day"

            print(requests.get(url, headers=headers).json())
components:
  schemas:
    Status:
      type: object
      description: >-
        Returned with every response; indicates whether the request was
        successful.
      example:
        code: 200
        message: success
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code.
          example: 200
        message:
          type: string
          description: Text description of the error or success.
          example: success
  securitySchemes:
    AccessToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      x-default: Bearer <YOUR_API_KEY>
      description: >-
        For each API request, include the `Authorization` HTTP header with
        `Bearer <YOUR_API_KEY>`.

````