usdebt.io seal

Methodology

Where every number comes from, and what it can't tell you.

A

Principles

Every figure on this site traces to a primary government source with a visible as-of date. No number is estimated by us except the live counter, which is labeled as an extrapolation and anchored to the most recent official Treasury reading.

The full dataset, raw API pulls, fetch scripts, and this methodology live in the open Substrate US-National-Debt dataset, so anyone can re-run the pipeline and check the work.

B

Sources

WhatSourceCadenceNotes
Total debt, public vs intragovernmentalTreasury — Debt to the PennyDaily (business days)The authoritative headline number, to the cent
Debt 1790–presentTreasury — Historical Debt OutstandingAnnualFiscal-year-end values; single series across 236 years
Debt as % of GDPFRED — GFDEGDQ188SQuarterlyOMB/BEA-derived; series begins 1966
Foreign holders by countryTreasury TIC — SLT Table 5Monthly (~6-week lag)Custodial bias: holdings booked where custodied, not where owned
Federal Reserve holdingsNY Fed — SOMA holdingsWeeklyTreasury securities only (notes/bonds, bills, TIPS + inflation compensation, FRNs)
Marketable vs nonmarketableTreasury — MSPDMonthlyTable 1
Interest expenseTreasury — Interest ExpenseMonthlyFiscal-year totals summed across expense groups
Average interest ratesTreasury — Average Interest RatesMonthlyTotal interest-bearing debt
Domestic private holder categoriesFederal Reserve — Z.1 Financial AccountsQuarterly (~10-week lag)Category shares scaled to the current public-debt residual; see C
Trust fund holdingsTreasury MSPD Table 6 / trust fund reportsMonthly/AnnualLargest intragovernmental accounts, as-of dates shown in the treemap
ProjectionsCongressional Budget OfficeAnnual editionsLong-Term Budget Outlook; edition noted inline
C

Methods & caveats

The live counter is an estimate. Treasury reports the debt to the penny each business day. We take the latest official reading and extrapolate forward at the average pace of the last ~90 days of official readings. The real number moves in steps (auctions, redemptions, trust-fund accounting), not smoothly.

Who-holds-it reconciliation. Debt held by the public = Federal Reserve + foreign + domestic private. The Fed and foreign totals are directly reported (SOMA; TIC). Domestic private is the residual, broken into categories using the latest Fed Z.1 shares scaled to that residual — because Z.1 lags the daily debt figure by a quarter. Cells state their as-of dates.

Custodial bias in foreign data. TIC books holdings where they're custodied. Belgium's large figure is widely understood to include China-linked accounts at Euroclear; the UK and Cayman figures include hedge-fund and custody positions for investors elsewhere. Country rankings are best read as "where the accounts sit."

Gross vs net. The headline number is gross federal debt. Economists often prefer debt held by the public (it excludes money the government owes itself) or debt as a share of GDP (it scales to the economy). The site shows all three.

Per-person figures divide the gross debt by Census resident population and household counts; they are illustrative, not a bill anyone owes.

D

Pipeline

A deterministic fetch script pulls every source above, validates plausibility bounds, and writes raw JSON with provenance blocks. A build step merges those pulls with research-sourced context figures (each carrying its own citation) into one site-data.json, enforcing a residual-reconciliation check: the directly-reported components (Fed, foreign, listed trust funds) plus the residual buckets must sum to the reported total within 1%. This is a bookkeeping guard against a broken composition, not an independent cross-validation — the residual buckets absorb slack by construction. If any check fails, the site doesn't update.

Scripts: substrate/Data/US-National-Debt — update.ts (fetch + validate), with the site's build in the usdebt repo.