OPEN-SOURCE SCRIPT
Bitcoin Cost Of Production

Description
This indicator estimates a Bitcoin “Cost Floor” proxy using network difficulty as a substitute for direct energy costs. The goal is not to compute real-world mining costs, but to display a structural cost-pressure baseline derived from on-chain and market data.
The model is intentionally simple and uses two externally fitted parameters (alpha, k).
No fitting is performed inside Pine.
How the model works
The cost proxy is defined as:
Cost Floor = alpha ⋅ Difficulty^k / Issuance
Inputs:
• Difficulty (GLASSNODE:BTC_DIFFICULTY)
• Issuance = Subsidy ⋅ Blocks Mined + Fees_BTC
Parameters (fitted externally in Python):
• alpha: scaling factor to map the proxy into price space (USD).
• k: damping exponent on difficulty. This reduces the sensitivity of the model to long-term technological progress and efficiency gains in mining hardware.
What the indicator displays
• Smoothed Cost Floor (purple)
• Cost Zone (purple zone): Cost × 1.2
• Raw Cost Floor (yellow, optional)
How to use it
This is not a timing tool. It provides a macro context for where price trades relative to a difficulty/issuance-based cost-pressure proxy.
It may be useful for:
• cycle context (stress vs relief regimes)
• comparing price drawdowns against a structural baseline
• studying long-term support behavior during miner stress phases
Important notes
• This indicator does not repaint.
• This script is designed only for INDEX:BTCUSD.
• It does not provide trading signals or financial advice.
This indicator estimates a Bitcoin “Cost Floor” proxy using network difficulty as a substitute for direct energy costs. The goal is not to compute real-world mining costs, but to display a structural cost-pressure baseline derived from on-chain and market data.
The model is intentionally simple and uses two externally fitted parameters (alpha, k).
No fitting is performed inside Pine.
How the model works
The cost proxy is defined as:
Cost Floor = alpha ⋅ Difficulty^k / Issuance
Inputs:
• Difficulty (GLASSNODE:BTC_DIFFICULTY)
• Issuance = Subsidy ⋅ Blocks Mined + Fees_BTC
Parameters (fitted externally in Python):
• alpha: scaling factor to map the proxy into price space (USD).
• k: damping exponent on difficulty. This reduces the sensitivity of the model to long-term technological progress and efficiency gains in mining hardware.
What the indicator displays
• Smoothed Cost Floor (purple)
• Cost Zone (purple zone): Cost × 1.2
• Raw Cost Floor (yellow, optional)
How to use it
This is not a timing tool. It provides a macro context for where price trades relative to a difficulty/issuance-based cost-pressure proxy.
It may be useful for:
• cycle context (stress vs relief regimes)
• comparing price drawdowns against a structural baseline
• studying long-term support behavior during miner stress phases
Important notes
• This indicator does not repaint.
• This script is designed only for INDEX:BTCUSD.
• It does not provide trading signals or financial advice.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.