The Bitcoin Credit Stack
all rates APR, act/365 · as of 2026-09-04

Indicators · credit

Credit Surface

surface

The full two-dimensional rate surface across duration and loan-to-value buckets.

UnitsAPR (%) over the tenor x LTV grid
Computed at2026-09-05T04:00:34.363Z
Historynot served — this indicator is current-only

Reading

pairWBTC/USDC
computed_at2026-09-05T04:00:34.363Z
grid
duration_buckets
7 entries
[
  7,
  14,
  30,
  60,
  90,
  180,
  365
]
ltv_buckets
7 entries
[
  0.25,
  0.35,
  0.45,
  0.55,
  0.65,
  0.75,
  0.85
]
cells
56 entries
[
  {
    "ltv": 0.25,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 7,
    "interpolated": false
  },
  {
    "ltv": 0.35,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 7,
    "interpolated": false
  },
  {
    "ltv": 0.45,
    "rate": 4.19518873725082,
    "count": 2,
    "volume": 1376.9491739999999,
    "duration": 7,
    "interpolated": false
  },
  {
    "ltv": 0.55,
    "rate": 4.336936098505092,
    "count": 2,
    "volume": 740.120701,
    "duration": 7,
    "interpolated": false
  },
  {
    "ltv": 0.65,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 7,
    "interpolated": false
  },
  {
    "ltv": 0.75,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 7,
    "interpolated": false
  },
  {
    "ltv": 0.85,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 7,
    "interpolated": false
  },
  {
    "ltv": 0.25,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 14,
    "interpolated": false
  },
  {
    "ltv": 0.35,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 14,
    "interpolated": false
  },
  {
    "ltv": 0.45,
    "rate": 4.466560108715763,
    "count": 1,
    "volume": 505.784161,
    "duration": 14,
    "interpolated": false
  },
  {
    "ltv": 0.55,
    "rate": 5.458225896753006,
    "count": 1,
    "volume": 1363.130595,
    "duration": 14,
    "interpolated": false
  },
  {
    "ltv": 0.65,
    "rate": 5.563533800470257,
    "count": 2,
    "volume": 852.732346,
    "duration": 14,
    "interpolated": false
  },
  {
    "ltv": 0.75,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 14,
    "interpolated": false
  },
  {
    "ltv": 0.85,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 14,
    "interpolated": false
  },
  {
    "ltv": 0.25,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 30,
    "interpolated": false
  },
  {
    "ltv": 0.35,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 30,
    "interpolated": false
  },
  {
    "ltv": 0.45,
    "rate": 4.567011638924077,
    "count": 1,
    "volume": 675.401461,
    "duration": 30,
    "interpolated": false
  },
  {
    "ltv": 0.55,
    "rate": 5.51500182399262,
    "count": 3,
    "volume": 2362.276555,
    "duration": 30,
    "interpolated": false
  },
  {
    "ltv": 0.65,
    "rate": 5.883745343411361,
    "count": 2,
    "volume": 2729.2227820000003,
    "duration": 30,
    "interpolated": false
  },
  {
    "ltv": 0.75,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 30,
    "interpolated": false
  },
  {
    "ltv": 0.85,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 30,
    "interpolated": false
  },
  {
    "ltv": 0.25,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 60,
    "interpolated": false
  },
  {
    "ltv": 0.35,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 60,
    "interpolated": false
  },
  {
    "ltv": 0.45,
    "rate": 4.5665224066908,
    "count": 2,
    "volume": 1537.79531,
    "duration": 60,
    "interpolated": false
  },
  {
    "ltv": 0.55,
    "rate": 5.376702666698733,
    "count": 2,
    "volume": 1557.4542940000001,
    "duration": 60,
    "interpolated": false
  },
  {
    "ltv": 0.65,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 60,
    "interpolated": false
  },
  {
    "ltv": 0.75,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 60,
    "interpolated": false
  },
  {
    "ltv": 0.85,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 60,
    "interpolated": false
  },
  {
    "ltv": 0.25,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 90,
    "interpolated": false
  },
  {
    "ltv": 0.35,
    "rate": 4.516430672758571,
    "count": 1,
    "volume": 560.439867,
    "duration": 90,
    "interpolated": false
  },
  {
    "ltv": 0.45,
    "rate": 5.18895552723524,
    "count": 1,
    "volume": 1006.843712,
    "duration": 90,
    "interpolated": false
  },
  {
    "ltv": 0.55,
    "rate": 4.855597653017163,
    "count": 2,
    "volume": 2333.6540489999998,
    "duration": 90,
    "interpolated": false
  },
  {
    "ltv": 0.65,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 90,
    "interpolated": false
  },
  {
    "ltv": 0.75,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 90,
    "interpolated": false
  },
  {
    "ltv": 0.85,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 90,
    "interpolated": false
  },
  {
    "ltv": 0.25,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 180,
    "interpolated": false
  },
  {
    "ltv": 0.35,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 180,
    "interpolated": false
  },
  {
    "ltv": 0.45,
    "rate": 4.911839752363136,
    "count": 1,
    "volume": 765.131566,
    "duration": 180,
    "interpolated": false
  },
  {
    "ltv": 0.55,
    "rate": 6.360784085347506,
    "count": 1,
    "volume": 842.898082,
    "duration": 180,
    "interpolated": false
  },
  {
    "ltv": 0.65,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 180,
    "interpolated": false
  },
  {
    "ltv": 0.75,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 180,
    "interpolated": false
  },
  {
    "ltv": 0.85,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 180,
    "interpolated": false
  },
  {
    "ltv": 0.25,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 365,
    "interpolated": false
  },
  {
    "ltv": 0.35,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 365,
    "interpolated": false
  },
  {
    "ltv": 0.45,
    "rate": 5.7827049988415435,
    "count": 1,
    "volume": 868.670043,
    "duration": 365,
    "interpolated": false
  },
  {
    "ltv": 0.55,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 365,
    "interpolated": false
  },
  {
    "ltv": 0.65,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 365,
    "interpolated": false
  },
  {
    "ltv": 0.75,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 365,
    "interpolated": false
  },
  {
    "ltv": 0.85,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 365,
    "interpolated": false
  },
  {
    "ltv": 0.25,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 730,
    "interpolated": false
  },
  {
    "ltv": 0.35,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 730,
    "interpolated": false
  },
  {
    "ltv": 0.45,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 730,
    "interpolated": false
  },
  {
    "ltv": 0.55,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 730,
    "interpolated": false
  },
  {
    "ltv": 0.65,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 730,
    "interpolated": false
  },
  {
    "ltv": 0.75,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 730,
    "interpolated": false
  },
  {
    "ltv": 0.85,
    "rate": null,
    "count": 0,
    "volume": 0,
    "duration": 730,
    "interpolated": false
  }
]
boundary
7 entries
[
  {
    "count": 4,
    "max_ltv": 0.55,
    "duration": 7,
    "implied_floor": 43783.3
  },
  {
    "count": 4,
    "max_ltv": 0.65,
    "duration": 14,
    "implied_floor": 51743.9
  },
  {
    "count": 6,
    "max_ltv": 0.65,
    "duration": 30,
    "implied_floor": 51743.9
  },
  {
    "count": 4,
    "max_ltv": 0.55,
    "duration": 60,
    "implied_floor": 43783.3
  },
  {
    "count": 4,
    "max_ltv": 0.55,
    "duration": 90,
    "implied_floor": 43783.3
  },
  {
    "count": 2,
    "max_ltv": 0.55,
    "duration": 180,
    "implied_floor": 43783.3
  },
  {
    "count": 1,
    "max_ltv": 0.45,
    "duration": 365,
    "implied_floor": 35822.700000000004
  }
]
metadata
total_data_points25
occupied_cells16
interpolated_cells0

Where this comes from

RESThttps://api.bitcoincreditstack.com/v1/credit/surface
MCPget_indicator({ indicator: "surface" })

The payload carries more than this page renders — the full nested structure, and for most indicators a daily history this page does not chart. That asymmetry is deliberate.