DASH MODEL
Status Operational

BTX Price data collection and public pages are operating normally after a recent service interruption.

Live update paths were refreshed, public pages were checked, and page data is refreshing on the normal cadence.

EN

Forward Market Price

BTX 12-Month Forward Market Price

The Forward Market Price is the dashboard's trade-oriented 12-month reference number. It is not an exchange quote and btxprice is not a trading venue.

Definition

Version 1.7.5 makes the security-equivalence term linear. The live BTX network MatMul rate is `getnetworkhashps(6720)`, a one-week chain-inferred rate analogous to Bitcoin Core's `getnetworkhashps(1008)` for a one-week Bitcoin window. The model no longer multiplies that rate by the live work-per-block term for pricing, because doing so squared the same difficulty signal.

Spot continuity is handled with a disclosed coefficient `matmul_security_weight`, calibrated at the v1.4 migration anchor. That preserves the then-current model floor while fixing the slope: if BTX reaches Bitcoin-equivalent computational security, the raw compute floor reaches Bitcoin price parity.

Version 1.7.5 prices the forward path from the current network MatMul rate, not from the diagnostic effective release envelope. The adoption path first creates a forward market cap, then divides that value by protocol supply projected to the horizon using BTX's 90-second block schedule.

Formula

M_BTX_1w = getnetworkhashps(6720)
SEH = matmul_security_weight · M_BTX_1w
S_now = 100 · SEH / H_BTC

progress_s(m) = (1 - 2^(-m / HL_s)) / (1 - 2^(-12 / HL_s))
terminal_growth_s = growth_12m_s · trend_multiplier(12)
headroom_s = min(cap_s, S_now · max(terminal_growth_s - 1, 0))
terminal_security_s = S_now + headroom_s
security_s(m) = terminal_security_s when m >= 12, otherwise S_now · (terminal_security_s / S_now)^progress_s(m)
E[S_m] = Σ p_s · security_s(m)

projected_blocks(m) = round(m · 30.4375 · 86400 / 90)
Q_m = BTX protocol supply at current_height + projected_blocks(m)
ForwardMarketCap(m) = P_BTC · E[S_m] / 100 · F_supply · R_BTC(m) · Q_now
ForwardMarketPrice(m) = ForwardMarketCap(m) / Q_m

Bear, base, and bull paths are computed independently and then probability-weighted. This is an expected-value model: nonlinear scenario outcomes are computed first, then weighted by their probabilities. The cap is an incremental BTX-as-percent-of-Bitcoin security headroom limit over today's observed security share, not an absolute ceiling below the current chain state. Positive and negative network-compute trends can nudge the curve when reference data is supplied, but the live chain rate remains the observable anchor.

`F_supply` is the capped float/unlock adjustment; `Q_m` is the actual projected token denominator. At `m = 0`, `Q_m = Q_now`, so the current price is continuous. At 12 months, new issuance is explicitly spread across the forward market cap.

The economic frame combines four ideas. Forward pricing starts from the same spot anchor and horizon denominator a cost-of-carry model would require, then substitutes BTX-specific carry inputs: protocol issuance, mining-regime risk premium, and chain-observed security. The security anchor follows cost-of-production research for proof-of-work networks, where sustained hash or MatMul work and miner economics constrain long-run value. The bear/base/bull adoption paths follow probability-weighted fair-value practice, and the headroom caps keep adoption bounded in the spirit of diffusion and network-effect models rather than projecting an unbounded exponential curve.

Horizon Price (USD) Price (sats) Projected supply Circ. mcap (USD) FDV (USD)
now 656.8140282837606973747640233 1047700.672000383942471429748 3573280 2346980430.985796424715296789 13793094593.95897464487004449
1m 836.8870001706722258165187143 1334939.624779748649433760371 4157680 3479508342.869600499832823528 17574627003.58411674214689300
3m 1326.448306041030785333403060 2115851.248250994218202617696 5326480 7065300373.161429657462664730 27855414426.86164649200146426
6m 2269.676383908259650099164160 3620418.216184555438737879696 7079680 16068582501.62762767961405052 47663204062.07345265208244736
12m 3872.492272214469027888576111 6177110.386202914338403560497 10543040 40827840925.64803553979037348 81322337716.50384958566009833

API Contract

Use `/api/current.json` for live systems and `/forward-market-price.md` for a compact Markdown contract. The primary fields are stable and string-valued to preserve decimal precision.

{
  "forward_market_price": {
    "horizon": "12m",
    "usd": "...",
    "sats": "...",
    "mcap_usd": "...",
    "forward_market_cap_usd": "...",
    "projected_supply": "...",
    "projected_blocks": 350640,
    "formula": "forward_market_cap[12m].usd / projected_btx_supply[12m]"
  },
  "inputs": {
    "network_matmul_rate_hps": "...",
    "effective_network_matmul_rate_hps": "...",
    "security_equiv_hashrate_hps": "...",
    "matmul_security_weight": "..."
  },
  "forecast": {
    "forward_market_price_field": "forward_market_price_usd",
    "rows": [...]
  }
}

Open Source Artifacts

The same model is published as source code and a workbook so OTC participants can reproduce the number locally before referencing it.

Hardware Context

Local BTXE benchmarks on this M4 Max Mac Studio show the current live-mainnet-like Metal solve path in the approximate 14.5k-17k nonces/sec band. Those numbers are hardware context only. The Forward Market Price does not price a single workstation; it prices the chain-observed BTX network MatMul rate recorded by btxprice.

benchmark shape: block_height=61000, epsilon_bits=18, nbits=503725172
observed artifacts: product_digest_active=true, freivalds_payload_mining=true
local M4 Max band: ~14.5k-17k live-like nonces/sec

Full Public Formula String

nonce_seed_v2_activation_height = 125000; nonce_seed_v3_activation_height = 130500; v03211_activation_height = 132000; network_matmul_rate_hps = getnetworkhashps(6720) and is the compute-equivalent BTX MatMul/sec field used for charts, security, and valuation; btx_nonce_rate_raw is the legacy-compatible protocol audit field; for btx_block_height <= 124999, btx_nonce_rate_raw = max(getnetworkhashps(6720), getnetworkhashps(6720) * work_per_block / 2^pre_hash_epsilon_bits); for btx_block_height >= 125000, btx_nonce_rate_raw is the one-week height-weighted protocol-era transition: legacy window blocks use the pre-125000 shared-seed transform, and nonce_seed_v2/nonce_seed_v3/v0.32.11-v3-fix window blocks use getnetworkhashps(6720) without shared-seed amortization; v3 and v0.32.11 change seed binding/solver correctness, not the Bitcoin-style chainwork formula; security_equiv_hashrate_hps = matmul_security_weight * network_matmul_rate_hps; btx_security_percent = 100 * security_equiv_hashrate_hps / btc_hashrate_hps; compute_floor_usd = btc_price_usd * (security_equiv_hashrate_hps / btc_hashrate_hps); equivalence invariant: when security_equiv_hashrate_hps == btc_hashrate_hps, btx_security_percent == 100 and compute_floor_usd == btc_price_usd; btx_supply_multiplier = clamp(float_multiplier * unlock_drag_multiplier, supply_multiplier_min, supply_multiplier_max); model_compute_floor_usd = compute_floor_usd * btx_supply_multiplier; spot.usd = model_compute_floor_usd * (1 + risk_index * risk_spot_weight); effective_network_matmul_rate_hps remains an audit/diagnostic release-envelope field only: if network_matmul_rate_hps >= prior_effective_network_matmul_rate_hps then effective_network_matmul_rate_hps = network_matmul_rate_hps else release_retention = 2^(-elapsed_seconds / nonce_release_half_life_seconds) and effective_network_matmul_rate_hps = network_matmul_rate_hps + (prior_effective_network_matmul_rate_hps - network_matmul_rate_hps) * release_retention; effective_network_matmul_rate_hps does not drive model_compute_floor_usd, spot.usd, or forward_market_price; trend_multiplier(m) uses network_matmul_rate_hps / network_matmul_rate_reference_hps over network_matmul_rate_reference_months when at least forward_trend_reference_min_span_days of valid one-week MatMul history exists, with bounded positive and negative monthly log-rate weights; for each scenario s in {bear, base, bull}: progress_s(m) = (1 - 2^(-m / scenario_half_life_s)) / (1 - 2^(-12 / scenario_half_life_s)); terminal_growth_s = scenario_growth_12m_s * trend_multiplier(12); scenario_headroom_s = min(scenario_cap_s, btx_security_percent * max(terminal_growth_s - 1, 0)); scenario_terminal_security_s = btx_security_percent + scenario_headroom_s; scenario_security_s(m) = if m >= 12 then scenario_terminal_security_s else btx_security_percent * (scenario_terminal_security_s / btx_security_percent)^progress_s(m); btx_security_percent_forward[m] = sum(probability_s * scenario_security_s(m)); btx_security_percent_12m = btx_security_percent_forward[12]; projected_blocks[m] = round(m * 30.4375 * 86400 / 90); projected_btx_supply[m] = protocol_supply_at(btx_block_height + projected_blocks[m]); forward_market_cap[m].usd = btc_price_usd * (btx_security_percent_forward[m] / 100) * btx_supply_multiplier * R_BTC(m) * btx_circulating_supply; forward_market_price[m].usd = forward_market_cap[m].usd / projected_btx_supply[m]; forecast.rows[m] = {t = computed_at + m model_months, forward_market_price_usd = forward_market_price[m].usd, forward_market_cap_usd = forward_market_cap[m].usd, projected_supply = projected_btx_supply[m], btx_security_percent_forward = btx_security_percent_forward[m]}