# PreReason: Financial Market Context for AI Agents Financial market context for AI agents: macro, rates, bonds, FX, commodities, companies and Bitcoin. PreReason is a Context API that returns market briefings with the interpretation done. Each briefing call delivers trends, confidence scores and cross asset correlations, and the deeper briefings add regime classification. Every figure carries its date, and each briefing names its sources. Built for AI agents, research workflows, and developers who need financial context they can cite. Website: https://www.prereason.com API Base: https://api.prereason.com MCP Endpoint: https://api.prereason.com/api/mcp npm: @prereason/mcp OpenAPI Spec: https://api.prereason.com/api/openapi/spec.yaml PreReason is a Context API, not a data API. Use it when your agent needs to reason about market conditions, not when it needs raw price feeds. --- ## Authentication Briefings and metric readings need an API key, or an x402 payment per call with no key on the routes that take one: the short URL briefings (such as `/api/btc` and `/api/cross/regime`), `/api/metrics/{metric}`, the treasury routes and the company routes (`/api/companies/{company}` and `/api/companies/{company}/{block}`), which answer a keyless call with 402 and their price. `GET /api/context` and `/api/briefings/{id}` take a key only (401 without one). No key at all for the catalogue (`GET /api/metrics`, `GET /api/briefings`), `GET /api/health`, the OpenAPI spec, the agent access claims, and over MCP `list_briefings`, `list_metrics` and `get_health` (`get_context` and `get_metric` need a key). Calls with no key count against the free limits by IP address; a paid x402 call does not. A key goes in one of two ways: 1. Bearer token (recommended): `Authorization: Bearer YOUR_API_KEY` 2. HTTP Basic: `curl -u YOUR_API_KEY: https://api.prereason.com/api/btc` API keys use the prefix `pr_live_` (production) or `pr_test_` (sandbox). Get a free API key: https://www.prereason.com/signup Agents can get one without a browser of their own (agent access claims): POST https://api.prereason.com/api/agent/claims with an optional `client_name` and `purpose`, show the human the `approve_url` from the 201 response, then GET https://api.prereason.com/api/agent/claims/{claim_code} with `Authorization: Bearer ` every 5 seconds until `status` is `approved`; that response carries the `api_key` once. The MCP bridge (`npx -y @prereason/mcp`) runs the same flow for an MCP client; the hosted MCP server never hands out a key and never asks for one. Every REST 401 carries these instructions in `how_to_get_key`. The key belongs to the account of the person who approved it. Docs: https://www.prereason.com/docs#agent-access --- ## Briefing System The primary endpoint is `GET /api/context?briefing={id}`. Returns markdown by default, JSON with `&format=json`. Each briefing fuses multiple metrics, correlations, and analysis into a single answer. Briefing IDs use dot-separated namespaces: `{asset}.{name}`. ### Free Briefings (6) **btc.quick-check**: Minimal fast context. Includes BTC price and net liquidity with 30-day correlation. Good for a quick read on Bitcoin and liquidity conditions. **btc.context**: BTC price plus liquidity, hash ribbon, difficulty, and 7d/30d momentum. A step up from quick-check with on-chain network data. **macro.snapshot**: Full macro picture. Fed balance sheet, M2 money supply, treasury yields, the dollar fund (UUP), net liquidity, with 7d/30d momentum for each. Then the release state: the latest US Employment Situation (nonfarm payrolls, the unemployment rate), Consumer Price Index and weekly jobless claims, each figure as published with its estimate, what the release revised and the next release date. The JSON carries it as `release_state`. **cross.correlations**: Pre-calculated correlations of ten pairs over 30 and 90 day windows: the 10 year Treasury yield against SPY; Bitcoin against net liquidity, SPY, QQQ, the dollar fund (UUP), VXX, EUR/USD and the hash ribbon; and net liquidity against SPY and SPY against VXX. **btc.pulse**: Quick Bitcoin price check. Bitcoin price, 24-hour change, and dominance percentage. **btc.grid-stress**: Network health focus. Mining difficulty, hash rate, and epoch pace (how fast blocks are being found vs the 10-minute target). ### Basic Briefings (14): $19.99/mo, the founding price for the first 100 subscribers, $50 a month for everyone after **btc.momentum**: Momentum over 7, 30 and 90 days. Includes percentile rankings among every stored daily close, 200-day moving average distance, and DXY (dollar strength) context. **macro.liquidity**: Liquidity deep-dive. Fed balance, TGA, RRP, M2, net liquidity, all with 7d/30d/90d directional tracking. **btc.on-chain**: Network health metrics. Hash rate, difficulty, transaction count, transaction volume, active addresses, with trend analysis. **cross.breadth**: Market breadth across US equities. SPY, QQQ, IWM, plus Bitcoin correlations to each. Shows whether a move is broad or narrow. **btc.miner-survival**: Mining economics. Hashprice (daily mining revenue per TH/s), miner stress scoring, profitability thresholds. Measures how much pressure miners are under. **btc.etf-flows**: Spot BTC ETF flow read. Net daily flows, aggregate AUM, and a per-issuer breakdown across IBIT, FBTC, GBTC and the other approved spot ETFs. Shows whether institutional money is entering or leaving through the ETF channel. **macro.auctions**: Treasury auction demand. The latest US Treasury auction of each nominal coupon maturity (2, 3, 5, 7, 10, 20 and 30 year), from Treasury's Fiscal Data results: the date, the security (a new issue or a reopening), the amount offered, the high yield, bid-to-cover, and the shares of competitive awards taken by primary dealers, direct bidders and indirect bidders. Primary dealers' share is placed by its standard deviations from the average of the same maturity's prior 12 auctions: above or below its norm beyond 1.5 standard deviations, near it between; bid-to-cover and the other two shares are printed with their own norms and set no label. Each maturity carries when its result became known, what changed since its prior auction, and the shares at which its next auction would read otherwise. Then the note and bond auctions Treasury has announced, with their sizes, and its tentative schedule for the rest. Then Treasury's newest buyback operations (up to 4 in the 30 days to the answer's date), each as Treasury's own record states it, every amount at par (the maturity bucket, the maximum, par offered and par accepted). Then the 2, 10 and 30 year Treasury yields. The JSON carries the state as `auction_state` and the buybacks as `buyback_state`. **bonds.context**: Who holds US Treasuries, in short. Three holder groups, each against its own history: foreign investors' net purchases of long term Treasuries in the month (Treasury's TIC Table 1) against the prior 24 months, primary dealers' 13 week change in net positions in Treasury coupon securities (the New York Fed's weekly statistics) against the prior 52 weeks' changes, and speculators' non commercial net position in 10 year note futures (the CFTC's Commitments of Traders) against the prior 52 weeks. Each reads above, near or below its norm at 1.5 standard deviations, and the rule line says so. Then TLT, LQD, HYG and the 10 year yield. The JSON carries the state as `bonds_state`. **eth.context**: Where Ether stands. Its price and its global 24 hour trading volume, with that volume's 30 day z score, from CoinGecko (Ether's price is CoinGecko's since 2026-10-04, with CoinGecko's own daily closes for the year before); its distance from the 200 day average, PreReason's calculation on those closes; Lido's stETH APR, its 7 day average, named as Lido's; the net positions of leveraged funds and asset managers in CME Ether futures with open interest, from the CFTC's weekly Commitments of Traders; and the funding rate on OKX's ETH perpetual, one venue, named as OKX's. Ether's volume, its z score and Lido's rate read their position (above, at or below trend). **commodities.gold**: Gold through the gold fund and gold's own price. GLD's share price (Finnhub) and the World Bank's monthly average gold price per troy ounce (the Pink Sheet, CC BY 4.0), with what is said to move them: the 10 year real Treasury rate (PreReason's calculation from Treasury's par yield curves), the dollar fund (UUP), speculators' net position in COMEX gold futures (the CFTC's Commitments of Traders) and the gold miners' fund (GDX), each with its measured relationship to GLD as measured, not a cause. **commodities.silver**: Silver through the silver fund and silver's own price. SLV's share price (Finnhub) and the World Bank's monthly average silver price per troy ounce (the Pink Sheet, CC BY 4.0), speculators' net position in COMEX silver futures (the CFTC's Commitments of Traders), and the gold fund, the 10 year real Treasury rate and the dollar, copper and silver miners' funds beside it, each with its measured relationship to SLV as measured, not a cause. **commodities.copper**: Copper through a copper futures fund. CPER's share price (Finnhub) and the World Bank's monthly average LME grade A copper price per metric ton (the Pink Sheet, CC BY 4.0), speculators' net position in COMEX copper futures (the CFTC's Commitments of Traders), and the dollar and gold funds beside it, each with its measured relationship to CPER as measured, not a cause. **commodities.wheat**: Wheat through a wheat futures fund. WEAT's share price (Finnhub) and the World Bank's monthly average US soft red winter wheat price per metric ton (the Pink Sheet, CC BY 4.0), speculators' net position in CBOT soft red winter wheat futures (the CFTC's Commitments of Traders), and the dollar fund and EIA's WTI spot price beside it, each with its measured relationship to WEAT as measured, not a cause. **macro.calendar**: The macro calendar. The scheduled dates ahead, each from its publisher's own published calendar, dates only, with no figure from them: the next Producer Price Index (U.S. Bureau of Labor Statistics), Advance Monthly Sales for Retail and Food Services (U.S. Census Bureau), Gross Domestic Product and Personal Income and Outlays (U.S. Bureau of Economic Analysis) releases, the FOMC minutes and the FOMC's next decision (the Federal Reserve Board), the ECB Governing Council's next decision, Treasury's next quarterly refunding release (U.S. Department of the Treasury), and the Treasury note and bond auctions of the week ahead on Treasury's tentative schedule, or the next one when the week has none. Then the release state of the US Employment Situation, Consumer Price Index and weekly initial claims, as the free macro snapshot serves it: for each, the latest release and when it came out, its headline figures within that one release with each figure's estimate (first, second, advance, revised), what the release revised, and the next scheduled release. Beside them the effective federal funds rate, the days to the next Treasury auction, euro area HICP and the BoJ policy rate. The JSON carries the dates as `scheduled_releases` and the releases as `release_state`. ### Pro Briefings (13): $49.99/mo, the founding price for the first 50 subscribers, $150 a month for everyone after **btc.full**: The widest Bitcoin briefing. Price, on chain and macro metrics, all momentum windows, percentiles, correlations, and a rule based note naming the factors that moved beyond their own noise band in the same window as Bitcoin's price (an association, not a cause). **btc.factors**: Multi-factor attribution. Names the factors that moved beyond their own noise band in the same window as Bitcoin's price, from liquidity, the dollar, Treasury yields, on chain activity and derivatives positioning (an association, not a cause). **cross.regime**: Market regime classification. Names current conditions expansion, contraction or transition from a weighted vote of net liquidity, the dollar (UUP), the hash ribbon, BTC's 200D MA distance, price to production and the BTC/SPY correlation, with divergence alerts, the yield curve and USDT dominance alongside. **fx.liquidity**: Currency environment. The dollar, EUR/USD and USD/CNY with their recent changes, and their 30-day correlations with net liquidity and Bitcoin's price. **btc.energy**: Mining cost model. Three-tier production cost (electricity only, OPEX, fully-loaded), gas input price pressure, and a hybrid energy measure. Tells you where BTC price sits relative to mining break-even. **btc.treasury**: Corporate Bitcoin treasury intelligence. Aggregated public company holdings from SEC EDGAR filings and CoinGecko, with financing read from the companies' own SEC and EDINET filings. Shows total corporate BTC, top holders, miner vs corporate split, and net change trends. **macro.rates**: Treasury yield curve and inflation expectations. Yields at every maturity on the par yield curve, 1M to 30Y, the 10Y-2Y and 10Y-3M spreads, 5Y and 10Y breakeven inflation, the 5y5y forward inflation expectation, and the Germany 10Y Bund for a cross-region comparison, with France's 10 year yield and its spread over Germany beside it (the ECB's monthly averages). It also carries the latest FOMC statement as state, in the Board's own words: the target range decision and how long the range has stood, the vote and each dissent with the action the dissenter preferred, each sentence changed, added or removed against the statement before, and the next scheduled meeting. A dated call sees only a statement public by its date. **cross.ai-compute**: The AI compute and power chain. Korea's semiconductor exports for the first 20 days of the month from Korea Customs Service's own release, with its stated change on the same days a year earlier, the share of all exports, and all exports with the working days. Average US grid demand over the newest 7 days for the Lower 48, ERCOT and PJM against the same dates a year earlier, the trailing 365 days against the 365 before, and the week's highest hour, calculated by PreReason from EIA-930 daily figures. The AI hosting agreements Bitcoin miners announced in their own SEC current reports, each with its megawatts, customer, term, contracted revenue and filing link. Contracted hosting revenue per gross megawatt per year beside mining revenue per gross megawatt at the current hashprice. The newest quarter's capital expenditure of Microsoft, Alphabet, Amazon and Meta, each as its own company briefing serves it from its SEC filings, with the change on the year and the date of the filing. **commodities.energy-basket**: US oil and gas stocks against the five year norm. EIA's weekly commercial crude stocks (excluding the Strategic Petroleum Reserve, in thousand barrels) and Lower 48 working gas in storage (billion cubic feet), each placed by its standard deviations from the average of the same week in the prior five years: above or below the norm beyond one standard deviation, near it between. Each stock carries its week, when EIA published it and when it became known, the week's change, what changed since the prior reports, the levels at which next week's report would read otherwise, and the next report times on EIA's schedule. Beside it: WTI, Brent and Henry Hub spot prices (EIA's daily series, posted in a weekly batch on Wednesdays), the Brent to WTI spread and WTI 30 day realised volatility (computed from EIA's spot prices, backward looking, its change in points). The JSON carries the state as `energy_state`. **bonds.full**: Who holds US Treasuries. The same three holder groups as the short form at Basic, then the Fed's own Treasury holdings (bills, notes and bonds, TIPS, floating rate notes) with their 13 and 52 week changes, debt held by the public with its 13 week and one year changes, the five largest foreign holders and the foreign official total (TIC Table 5), what changed since the prior reports, the figures at which each group's next report would read otherwise, and the next reports on Treasury's and the CFTC's schedules. Then TLT, LQD, HYG and the 10 year yield. The JSON carries the state as `bonds_state`. **commodities.oil-producers**: Crude oil and its USA producers side by side. The energy basket's state on top (US oil and gas stocks against the five year norm, EIA), WTI and Brent spot prices (EIA), then the covered USA companies EDGAR codes as crude petroleum and natural gas producers, the integrated majors, the refiners and two oil field service companies EDGAR codes as producers, each in its own group, each company with its share price (closes adjusted for splits, never for dividends, and market capitalisations from StockAnalysis.com), its change over 1, 3 and 12 months beside the anchor's over the same windows, and the 90 day correlation of its daily changes with the anchor's, as measured, not a cause, with the id of its own company briefing for its filed figures. Each group is in order of stored market capitalisation; it describes, it does not rank, and says nothing about what either price will do. A window is left out where no reading stands at its start; the windows end on the newest day on which WTI and at least 80% of the listed companies both have a reading; and a session dated today is never read. The JSON carries the producers as `oil_producers`. **commodities.gold-miners**: Gold and its USA miners side by side. The gold fund GLD's share price (Finnhub; a fund's share price, not the gold price) and the World Bank's monthly average gold price per troy ounce (the Pink Sheet, CC BY 4.0) as one dated line of context, then the covered USA gold and silver miners and the royalty and streaming companies, each checked against its own annual report, each company with its share price (closes adjusted for splits, never for dividends, and market capitalisations from StockAnalysis.com), its change over 1, 3 and 12 months beside the anchor's over the same windows, and the 90 day correlation of its daily changes with the anchor's, as measured, not a cause, with the id of its own company briefing for its filed figures. Each group is in order of stored market capitalisation; it describes, it does not rank, and says nothing about what either price will do. A window is left out where no reading stands at its start, or where the fund's start reading comes from another source than its newest, and a session dated today is never read. The JSON carries them as `commodity_producers`. **commodities.grains-agribusiness**: Wheat and USA agribusiness side by side. The wheat futures fund WEAT's share price (Finnhub; WEAT holds wheat futures contracts and is not the price of wheat, and a fund that rolls futures can move apart from the grain over months) and the World Bank's monthly average US soft red winter wheat price per metric ton (the Pink Sheet, CC BY 4.0) as one dated line of context, then the covered USA grain merchandisers and processors, seed and crop nutrient companies, farm equipment and irrigation makers and farmland REITs, a list reviewed against each company's own annual report, each company with its share price (closes adjusted for splits, never for dividends, and market capitalisations from StockAnalysis.com), its change over 1, 3 and 12 months beside the anchor's over the same windows, and the 90 day correlation of its daily changes with the anchor's, as measured, not a cause, with the id of its own company briefing for its filed figures. Each group is in order of stored market capitalisation; it describes, it does not rank, and says nothing about what either price will do. A window is left out where no reading stands at its start, or where the fund's start reading comes from another source than its newest, and a session dated today is never read. The JSON carries them as `commodity_producers`. ### Company briefings (USA on Basic and above, Japan on Pro and above, Korea on Pro and above, India on Pro and above, UK on Pro and above, France on Pro and above, Austria on Pro and above, Belgium on Pro and above, Denmark on Pro and above, Finland on Pro and above, Iceland on Pro and above, Italy on Pro and above, Lithuania on Pro and above, Netherlands on Pro and above, Slovenia on Pro and above, Slovakia on Pro and above) **equities.company**: A company briefing for one listed company, each figure dated and sourced. Live for the USA on Basic and above, for Japan, Korea, India, the UK and 11 European countries on Pro and above, with 3,002 USA company briefings as of 2026-10-07, 1,546 Japanese company briefings as of 2026-10-06, 2,533 Korean company briefings as of 2026-10-07, 232 Indian company briefings as of 2026-10-07, 464 company briefings for companies filing in the UK as of 2026-10-15 and 822 company briefings for companies filing in 11 European countries as of 2026-10-15, each a company whose briefing shows its reported figures. For a USA company the briefing gives its latest figures as filed with the SEC (its 10-Q and 10-K), each dated by its filing, what changed in its recent filings, its situations, its results against its own guidance where its guidance is read, how it is valued and financed, its next results date and the holders of 5 percent or more of its shares. Request a USA company with its ticker or CIK: `GET /api/context?briefing=equities.company/NVDA`, or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to `NVDA`. For a Japanese company the briefing gives its latest figures as filed on EDINET, from its annual securities report or, where it has filed one since, its half year report, each dated by its filing, what changed in its recent filings, its situations, and how it is valued and financed. It ends with EDINET's source citation under the Public Data License 1.0, whole: the last line of the Markdown, and `sourceCitation` in JSON. Request a Japanese company with its securities code: `GET /api/context?briefing=equities.company/7203`, or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to `7203`. For a Korean company the briefing gives its latest figures as filed on DART, from its annual business report or, where it has filed one since, its half year or quarterly report, each dated by its filing, what changed in its recent filings, its situations, and how it is valued and financed. Request a Korean company with its stock code: `GET /api/context?briefing=equities.company/005930`, or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to `005930`. Every Indian company with a results statement read is served. For an Indian company the briefing gives the latest quarter's results statement, read from the company's own published results, a share price named with its source, and a market capitalisation where a current share count is read. Request it with the company's ISIN: `GET /api/context?briefing=equities.company/INE018A01030`, or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to `INE018A01030`. For a company filing in the UK or a European company, the briefing gives the figures of its annual reports (UKSEF for a company filing in the UK, ESEF for a European company), in the company's own reporting currency, each dated by the day its report reached filings.xbrl.org. Request it with the company's LEI: `GET /api/context?briefing=equities.company/2138002P5RNKC5W2JZ46`, or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to `2138002P5RNKC5W2JZ46`. Case does not matter. With no key, one company is bought per call: `GET /api/companies/` (a USA ticker or CIK, a Japanese securities code, a Korean stock code, an Indian company's ISIN, or the LEI of a company filing in the UK or of a European company) for the whole briefing, or `GET /api/companies//` for one block (one of `header`, `what_changed`, `situations`, `against_guidance`, `numbers`, `segments`, `valuation`, `capital_structure`, `quality`, `profitability`, `news`) with the company's name, address, market and the time the briefing was computed. Both answer a keyless call with 402 and their price, serve today's briefing only (no `?date=`), and refuse before any price is quoted what no caller could be served. What a company briefing leaves out: a block or a figure that is not covered for that company is not printed. It is named once, in the closing line of the Markdown ("Not covered for this company: ...") and in the JSON field `notCoveredYet`, a list of block ids and `.` entries. A fact about the company itself stays in the briefing, for example a ratio that cannot exist because its denominator is negative. Release day results, for a USA company: the quarter as the company's own results press release states it, before its 10-Q files the same quarter. Every hour PreReason reads the newest results press releases of covered USA companies (the EX-99 exhibit of an 8-K filed under item 2.02, Results of Operations and Financial Condition) and takes four figures from the statement of operations: revenue, operating income, net income attributable to the company and diluted earnings per share, for the quarter the release reports. The JSON field `releaseResults.current` carries them with the quarter's end, the words "As released on in the company's 8-K results press release; preliminary until its 10-Q.", the document's address and the time EDGAR accepted the 8-K, in UTC; the Markdown prints the same under the company's name. The numbers block on its own (`GET /api/companies/{company}/numbers`, or MCP `get_context` with `block: "numbers"`) carries `releaseResults.current` too, printed under the company's name before its filed figures. A release figure is served only while no 10-Q of that quarter has been read: from then on the 10-Q's figures serve as every filed figure does, and the release figure is no longer current. A figure as released is never changed: where the 10-Q states another value, both values and both documents are listed in `releaseResults.differences`. A figure is left out rather than guessed: where the release's row is not the measure the company's own last 10-Q uses (the row's year ago value must equal the 10-Q's), for a fiscal fourth quarter release (no 10-Q follows it), beside a percent of sales column, and wherever no statement of operations is found. Before it was served, the reader was measured against the later 10-Qs on 1,734 results releases filed from April to September 2026: of the 2,054 figures it served, 2,053 equalled the 10-Q, and the other was a net income the company revised in its 10-Q after the release. Two answers belong to company briefings. `NOT_COVERED_YET` (HTTP 404), for an Indian company: the company is in the covered list and none of its results statements has been read, so it has no briefing. No plan changes that answer. The company is served from the first call after PreReason reads one of its statements. `BRIEFING_RESTRICTED` (HTTP 403) names the company's market and the plan that market needs. --- ## Metrics The API serves 293 metrics, listed below by category. `GET /api/metrics` and the `list_metrics` MCP tool return the same list live and need no key. Another 14 exist only inside briefings and are listed last. ### Bitcoin - **bitcoin-price**: Current Bitcoin spot price in US dollars, updated every 2 minutes (CoinGecko or Coinbase; each value names its own) - **bitcoin-market-cap**: Total Bitcoin market capitalization in USD: CoinGecko's own, or on the Coinbase path PreReason's calculation, the Coinbase price times CoinGecko's published circulating supply as of a date its sentence names - **bitcoin-volume-24h**: Total Bitcoin trading volume over the past 24 hours in USD (CoinGecko) - **bitcoin-change-24h**: Bitcoin price change percentage over the last 24 hours: CoinGecko's own, or on the Coinbase path PreReason's calculation from its stored prices, 24 hours apart - **bitcoin-dominance**: Bitcoin market cap percentage of total crypto market (CoinGecko, served from 2026-08-21, its current measure) - **bitcoin-hash-rate**: Total Bitcoin network computational hash rate in EH/s (mempool.space) - **bitcoin-difficulty**: Current Bitcoin mining difficulty (mempool.space) - **bitcoin-tx-count**: Number of Bitcoin transactions in the last 24 hours (Blockchair) - **bitcoin-tx-volume**: Bitcoin transaction output volume in the last 24 hours in USD, change included: PreReason's calculation from Blockchair's 24 hour BTC volume times Blockchair's price (Blockchain.com's own USD figure on the days it wrote one, through 2026-08-22) - **bitcoin-active-addresses**: Number of active addresses: Coin Metrics' AdrActCnt, the count of unique addresses active on the network that day (Coin Metrics) - **usdt-market-cap**: Tether (USDT) total market capitalization in USD (CoinGecko, served from 2026-10-01) - **cot-btc-cme-dealer-net**: Long minus short contracts held by dealers and other sell side intermediaries in CME Bitcoin futures (5 BTC a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-btc-cme-asset-manager-net**: Long minus short contracts held by asset managers and institutional investors in CME Bitcoin futures (5 BTC a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-btc-cme-leveraged-funds-net**: Long minus short contracts held by leveraged funds (hedge funds and CTAs) in CME Bitcoin futures (5 BTC a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-btc-cme-other-reportable-net**: Long minus short contracts held by other reportable traders in CME Bitcoin futures (5 BTC a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-btc-cme-nonreportable-net**: Long minus short contracts held by traders below the reporting threshold in CME Bitcoin futures (5 BTC a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-btc-cme-open-interest**: Open interest in CME Bitcoin futures (5 BTC a contract), from the weekly CFTC Traders in Financial Futures report, futures only. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. ### Macro - **fed-balance**: Federal Reserve total assets, in millions of US dollars: the Wednesday level from the Federal Reserve Board's H.4.1 release, published each Thursday afternoon. - **m2-supply**: United States M2 broad money supply, seasonally adjusted, in billions of US dollars: monthly, from the Federal Reserve Board's H.6 release, published on the fourth Tuesday of the following month. The Board revises earlier months with each release, and the series here is kept at its current values. - **treasury-10y**: The 10-year Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Read from FRED's copy of these rates until 2026-09-28, which is where its history before 1990 comes from. - **rrp**: The Federal Reserve's overnight reverse repurchase agreements, in billions of US dollars: the Treasury amount the New York Fed accepted in each business day's overnight reverse repo operations, from its own operation results, posted about 1:15 in the afternoon, New York time. - **eur-usd**: US dollars per euro (EUR/USD), from the Federal Reserve Board H.10 release, each business day. - **cny-usd**: Yuan per US dollar (USD/CNY), from the Federal Reserve Board H.10 release, each business day. Higher means a weaker yuan. - **krw-usd**: Won per US dollar (USD/KRW), from the Federal Reserve Board H.10 release, each business day. Higher means a weaker won. - **inr-usd**: Rupees per US dollar (USD/INR), from the Federal Reserve Board H.10 release, each business day. Higher means a weaker rupee. - **gbp-usd**: US dollars per pound sterling (GBP/USD), from the Federal Reserve Board H.10 release, each business day. - **chf-usd**: Swiss francs per US dollar (USD/CHF), from the Federal Reserve Board H.10 release, each business day. Higher means a weaker franc. - **yield-curve**: The 10-year Treasury par yield minus the 2-year, PreReason's calculation from the US Treasury's Daily Treasury Par Yield Curve Rates: its 10 Yr column minus its 2 Yr on the same day. Business days, priced at about 3:30 in the afternoon, New York time. Below zero the curve is inverted. Read from FRED's copy of this spread until 2026-09-30, which is where its history before 1990 comes from. - **tga**: The Treasury General Account at the Federal Reserve, in millions of US dollars: the week average from the Federal Reserve Board's H.4.1 release, published each Thursday afternoon. - **treasury-3mo**: The 3-month Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Front of the yield curve; key input to t10y3m-spread. Read from FRED's copy of these rates from May 2023 until 2026-09-28. - **treasury-2y**: The 2-year Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Tracks the expected near-term Fed policy path. Read from FRED's copy of these rates from May 2023 until 2026-09-28. - **treasury-5y**: The 5-year Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Belly of the curve; intermediate-term rate expectations. Read from FRED's copy of these rates from May 2023 until 2026-09-28. - **treasury-30y**: The 30-year Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Long-end real growth and inflation risk premium. Read from FRED's copy of these rates from May 2023 until 2026-09-28. - **treasury-1mo**: The 1-month Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. The shortest maturity on the curve, the closest to the policy rate. - **treasury-1-5mo**: The 1.5-month Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. A bill maturity between the 1-month and the 2-month, on the curve since February 2025. - **treasury-2mo**: The 2-month Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. A bill maturity between the 1-month and the 3-month. - **treasury-4mo**: The 4-month Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. A bill maturity between the 3-month and the 6-month, on the curve since October 2022. - **treasury-6mo**: The 6-month Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Front of the curve: the policy path over the next half year. - **treasury-1y**: The 1-year Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Front of the curve: the policy path over the coming year. - **treasury-3y**: The 3-year Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Between the 2-year and the 5-year: medium-term rate expectations. - **treasury-7y**: The 7-year Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Between the 5-year and the 10-year, in the belly of the curve. - **treasury-20y**: The 20-year Treasury par yield, in percent, from the US Treasury's Daily Treasury Par Yield Curve Rates. Business days, priced at about 3:30 in the afternoon, New York time. Long end of the curve, between the 10-year and the 30-year. - **breakeven-5y**: The 5-year breakeven inflation rate, in percent: PreReason's calculation, the US Treasury's 5-year par yield minus its 5-year real par yield on the same day, from its Daily Treasury Par Yield Curve Rates and Daily Treasury Par Real Yield Curve Rates. Business days. Read from FRED's copy of the same numbers from May 2023 until 2026-10-01. - **breakeven-10y**: The 10-year breakeven inflation rate, in percent: PreReason's calculation, the US Treasury's 10-year par yield minus its 10-year real par yield on the same day, from its Daily Treasury Par Yield Curve Rates and Daily Treasury Par Real Yield Curve Rates. Business days. Read from FRED's copy of the same numbers from May 2023 until 2026-10-01. - **real-yield-20y**: The US Treasury's 20-year real par yield, in percent, from its Daily Treasury Par Real Yield Curve Rates, which Treasury derives from the prices of its inflation-protected securities (TIPS): the yield after inflation at a 20-year maturity. Business days. - **real-yield-30y**: The US Treasury's 30-year real par yield, in percent, from its Daily Treasury Par Real Yield Curve Rates, which Treasury derives from the prices of its inflation-protected securities (TIPS): the yield after inflation at a 30-year maturity. Business days. - **breakeven-20y**: The 20-year breakeven inflation rate, in percent: PreReason's calculation, the US Treasury's 20-year par yield minus its 20-year real par yield on the same day, from its Daily Treasury Par Yield Curve Rates and Daily Treasury Par Real Yield Curve Rates. Business days. - **breakeven-30y**: The 30-year breakeven inflation rate, in percent: PreReason's calculation, the US Treasury's 30-year par yield minus its 30-year real par yield on the same day, from its Daily Treasury Par Yield Curve Rates and Daily Treasury Par Real Yield Curve Rates. Business days. - **t5yifr**: The 5-year, 5-year forward breakeven inflation rate, in percent, for the five years that begin five years from now: PreReason's calculation from the 5 and 10 year breakevens by FRED's published formula, each the US Treasury's par yield minus its real par yield (Daily Treasury Par Yield Curve Rates and Daily Treasury Par Real Yield Curve Rates). Business days. Read from FRED's copy of the same numbers from May 2023 until 2026-10-01. - **auction-bid-to-cover-10y**: Bid-to-cover ratio at the latest new issue auction of the nominal 10-year Treasury note (TreasuryDirect), named with its auction date; a reopening of that note, or the inflation protected 10-year note, does not move it. - **auction-bid-to-cover-30y**: Bid-to-cover ratio at the latest new issue auction of the nominal 30-year Treasury bond (TreasuryDirect), named with its auction date; a reopening of that bond, or the inflation protected 30-year bond, does not move it. - **indirect-bidder-pct**: Share of the total accepted, competitive and noncompetitive, at the latest note or bond auction taken by indirect bidders (often foreign central banks and asset managers): PreReason's calculation from Treasury's auction results, named with its auction. - **dealer-takedown-pct**: Share of the total accepted, competitive and noncompetitive, at the latest note or bond auction taken by primary dealers: PreReason's calculation from Treasury's auction results, named with its auction. - **next-treasury-auction-days**: Days to the next announced Treasury auction of any tenor on Treasury's Fiscal Data feed: PreReason's count, rounded up from the reading's UTC time. The date is Treasury's, and the sentence names it. - **fed-funds-rate**: The Effective Federal Funds Rate (EFFR), in percent: the New York Fed's volume weighted median of overnight federal funds lending between banks, each business day, published about 9:00 the next business day, New York time. Business days only: a weekend or holiday date reads the business day before it. Subject to the New York Fed's Terms of Use; PreReason is not affiliated with the New York Fed. Primary US monetary policy stance indicator. - **ecb-deposit-rate**: The European Central Bank's deposit facility rate, in percent: the rate paid on overnight deposits placed by euro area banks, the de facto floor of the ECB policy corridor. From the ECB's own daily series, which gives the rate in force on every calendar day; read at 11:05, 12:05 and 18:05 UTC, so a day's rate is stored by about midday UTC. - **boj-policy-rate**: The Bank of Japan's policy rate, in percent: its guideline for the uncollateralized overnight call rate, daily, as the BIS compiles central bank policy rates (it names the Bank of Japan as its source and posts about a week behind a decision). Read since 2026-10-01; until then this name served the OECD's Japan 3 month interbank rate, which ran above the policy rate. Anchors the carry trade yield differential. - **jpy-usd**: Yen per US dollar (USD/JPY), from the Federal Reserve Board H.10 release, each business day. Higher means a weaker yen. Combined with fed-boj-spread for the full carry-trade-returns-proxy calculation. - **oil-brent**: Europe Brent spot price, FOB, in USD per barrel, from the U.S. Energy Information Administration (EIA, series RBRTE), daily. A spot price, which can differ from the ICE Brent futures quote. - **oil-wti**: West Texas Intermediate crude oil spot price at Cushing OK in USD per barrel, from the U.S. Energy Information Administration (EIA), daily. The US oil benchmark. - **crude-oil-stocks**: US commercial crude oil stocks, excluding the Strategic Petroleum Reserve, in thousand barrels (EIA WCESTUS1, weekly). - **natgas-storage**: Total working natural gas in underground storage in the Lower 48 states, billion cubic feet (EIA NW2_EPG0_SWO_R48_BCF, weekly). - **etf-gld-volume**: SPDR Gold Shares (GLD) daily share volume (Yahoo Finance). Foundation for etf-gld-volume-zscore-30d. - **etf-uso-volume**: United States Oil Fund (USO) daily share volume (Yahoo Finance). Foundation for etf-uso-volume-zscore-30d. - **etf-uup-volume**: Invesco DB US Dollar (UUP) daily share volume (Yahoo Finance). Foundation for etf-uup-volume-zscore-30d. - **etf-spy**: SPDR S&P 500 ETF Trust - proxy for S&P 500 index (updates every 15 min) - **etf-qqq**: Invesco QQQ Trust - proxy for Nasdaq 100 index (updates every 15 min) - **etf-iwm**: iShares Russell 2000 ETF - small cap proxy (updates every 15 min) - **etf-vxx**: Price of the iPath Series B S&P 500 VIX Short-Term Futures ETN (VXX), an exchange traded note issued by Barclays Bank PLC that tracks short-term VIX futures: a note, not a fund, and not the VIX index level (updates every 15 min) - **etf-uup**: Share price of the Invesco DB US Dollar Index Bullish Fund (UUP), a proxy for the dollar index (DXY), not the index level (updates every 15 min) - **etf-gld**: SPDR Gold Shares, a gold fund: its share price, which follows gold but is not an ounce of gold (read every 15 minutes in US market hours) - **etf-gdx**: VanEck Gold Miners ETF - basket of senior gold mining equities. GLD/GDX ratio is a classic miner-margin proxy. - **etf-gdxj**: VanEck Junior Gold Miners ETF - basket of junior/exploration gold miners. GDXJ/GDX ratio tracks juniors against senior miners. - **etf-slv**: iShares Silver Trust - silver bullion proxy (updates every 15 min during market hours) - **etf-sil**: Global X Silver Miners ETF - silver mining equity basket. SLV/SIL ratio mirrors the GLD/GDX ratio in silver. - **etf-cper**: United States Copper Index Fund - SummerHaven Copper Index Total Return tracking ETF (updates every 15 min during market hours) - **etf-weat**: Teucrium Wheat Fund - CBOT wheat futures-tracking ETF (updates every 15 min during market hours) - **etf-tlt**: iShares 20+ Year Treasury Bond ETF - long-duration Treasury bond proxy (updates every 15 min during market hours) - **etf-ibit**: iShares Bitcoin Trust - largest spot BTC ETF, intraday quote source for btc.etf-flows briefing (updates every 15 min during market hours) - **cot-spx-noncomm-net**: Noncommercial (speculative) long minus short contracts in E-mini S&P 500 futures (CME): PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-spx-noncomm-net-percentile-26w**: Where this week's S&P 500 e-mini noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-spx-noncomm-net-percentile-52w**: Where this week's S&P 500 e-mini noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-spx-noncomm-net-percentile-156w**: Where this week's S&P 500 e-mini noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-gold-noncomm-net**: Noncommercial (speculative) long minus short contracts in COMEX gold futures: PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-gold-noncomm-net-percentile-26w**: Where this week's Gold noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-gold-noncomm-net-percentile-52w**: Where this week's Gold noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-gold-noncomm-net-percentile-156w**: Where this week's Gold noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-crude-noncomm-net**: Noncommercial (speculative) long minus short contracts in NYMEX WTI crude oil futures: PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-crude-noncomm-net-percentile-26w**: Where this week's WTI crude noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-crude-noncomm-net-percentile-52w**: Where this week's WTI crude noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-crude-noncomm-net-percentile-156w**: Where this week's WTI crude noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-jpy-noncomm-net**: Noncommercial (speculative) long minus short contracts in CME Japanese yen futures: PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-jpy-noncomm-net-percentile-26w**: Where this week's Japanese yen noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-jpy-noncomm-net-percentile-52w**: Where this week's Japanese yen noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-jpy-noncomm-net-percentile-156w**: Where this week's Japanese yen noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-eur-noncomm-net**: Noncommercial (speculative) long minus short contracts in CME euro FX futures: PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-eur-noncomm-net-percentile-26w**: Where this week's Euro FX noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-eur-noncomm-net-percentile-52w**: Where this week's Euro FX noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-eur-noncomm-net-percentile-156w**: Where this week's Euro FX noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-treasury10y-noncomm-net**: Noncommercial (speculative) long minus short contracts in CBOT 10 year Treasury note futures: PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-treasury10y-noncomm-net-percentile-26w**: Where this week's 10Y Treasury note noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-treasury10y-noncomm-net-percentile-52w**: Where this week's 10Y Treasury note noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-treasury10y-noncomm-net-percentile-156w**: Where this week's 10Y Treasury note noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-copper-noncomm-net**: Noncommercial (speculative) long minus short contracts in COMEX copper futures: PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-copper-noncomm-net-percentile-26w**: Where this week's Copper noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-copper-noncomm-net-percentile-52w**: Where this week's Copper noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-copper-noncomm-net-percentile-156w**: Where this week's Copper noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-silver-noncomm-net**: Noncommercial (speculative) long minus short contracts in COMEX silver futures: PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-silver-noncomm-net-percentile-26w**: Where this week's Silver noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-silver-noncomm-net-percentile-52w**: Where this week's Silver noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-silver-noncomm-net-percentile-156w**: Where this week's Silver noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-wheat-noncomm-net**: Noncommercial (speculative) long minus short contracts in CBOT soft red winter wheat futures: PreReason's calculation from the weekly CFTC Commitments of Traders legacy report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-wheat-noncomm-net-percentile-26w**: Where this week's Wheat noncommercial net position ranks among the prior 26 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-wheat-noncomm-net-percentile-52w**: Where this week's Wheat noncommercial net position ranks among the prior 52 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **cot-wheat-noncomm-net-percentile-156w**: Where this week's Wheat noncommercial net position ranks among the prior 156 weekly CFTC reports, 0 to 100 with ties counted half: 100 is more net long than every report in the window, 0 more net short. PreReason's rank, computed from the CFTC's own history at each release. - **nyfed-sofr**: The Secured Overnight Financing Rate (SOFR) in percent: the volume weighted median rate on overnight repo backed by Treasuries, cleared and bilateral, from the New York Fed Markets API. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-sofr-p1**: The 1st percentile of the day's volume weighted distribution of SOFR transactions (overnight repo backed by Treasuries, cleared and bilateral), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-sofr-p25**: The 25th percentile of the day's volume weighted distribution of SOFR transactions (overnight repo backed by Treasuries, cleared and bilateral), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-sofr-p75**: The 75th percentile of the day's volume weighted distribution of SOFR transactions (overnight repo backed by Treasuries, cleared and bilateral), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-sofr-p99**: The 99th percentile of the day's volume weighted distribution of SOFR transactions (overnight repo backed by Treasuries, cleared and bilateral), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-sofr-volume**: The volume of overnight repo backed by Treasuries, cleared and bilateral underlying the SOFR, in billions of US dollars. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-bgcr**: The Broad General Collateral Rate (BGCR) in percent: the volume weighted median rate on overnight general collateral Treasury repo, tri party and cleared, from the New York Fed Markets API. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-bgcr-p1**: The 1st percentile of the day's volume weighted distribution of BGCR transactions (overnight general collateral Treasury repo, tri party and cleared), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-bgcr-p25**: The 25th percentile of the day's volume weighted distribution of BGCR transactions (overnight general collateral Treasury repo, tri party and cleared), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-bgcr-p75**: The 75th percentile of the day's volume weighted distribution of BGCR transactions (overnight general collateral Treasury repo, tri party and cleared), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-bgcr-p99**: The 99th percentile of the day's volume weighted distribution of BGCR transactions (overnight general collateral Treasury repo, tri party and cleared), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-bgcr-volume**: The volume of overnight general collateral Treasury repo, tri party and cleared underlying the BGCR, in billions of US dollars. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-tgcr**: The Tri-Party General Collateral Rate (TGCR) in percent: the volume weighted median rate on overnight general collateral Treasury repo through the tri party platform, from the New York Fed Markets API. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-tgcr-p1**: The 1st percentile of the day's volume weighted distribution of TGCR transactions (overnight general collateral Treasury repo through the tri party platform), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-tgcr-p25**: The 25th percentile of the day's volume weighted distribution of TGCR transactions (overnight general collateral Treasury repo through the tri party platform), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-tgcr-p75**: The 75th percentile of the day's volume weighted distribution of TGCR transactions (overnight general collateral Treasury repo through the tri party platform), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-tgcr-p99**: The 99th percentile of the day's volume weighted distribution of TGCR transactions (overnight general collateral Treasury repo through the tri party platform), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-tgcr-volume**: The volume of overnight general collateral Treasury repo through the tri party platform underlying the TGCR, in billions of US dollars. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-effr**: The Effective Federal Funds Rate (EFFR) in percent: the volume weighted median rate on overnight unsecured federal funds lending between banks, from the New York Fed Markets API. The same rate is served as fed-funds-rate, dated by its rate day. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-effr-p1**: The 1st percentile of the day's volume weighted distribution of EFFR transactions (overnight unsecured federal funds lending between banks), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-effr-p25**: The 25th percentile of the day's volume weighted distribution of EFFR transactions (overnight unsecured federal funds lending between banks), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-effr-p75**: The 75th percentile of the day's volume weighted distribution of EFFR transactions (overnight unsecured federal funds lending between banks), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-effr-p99**: The 99th percentile of the day's volume weighted distribution of EFFR transactions (overnight unsecured federal funds lending between banks), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-effr-volume**: The volume of overnight unsecured federal funds lending between banks underlying the EFFR, in billions of US dollars. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-obfr**: The Overnight Bank Funding Rate (OBFR) in percent: the volume weighted median rate on overnight unsecured bank borrowing in federal funds and Eurodollars, from the New York Fed Markets API. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-obfr-p1**: The 1st percentile of the day's volume weighted distribution of OBFR transactions (overnight unsecured bank borrowing in federal funds and Eurodollars), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-obfr-p25**: The 25th percentile of the day's volume weighted distribution of OBFR transactions (overnight unsecured bank borrowing in federal funds and Eurodollars), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-obfr-p75**: The 75th percentile of the day's volume weighted distribution of OBFR transactions (overnight unsecured bank borrowing in federal funds and Eurodollars), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-obfr-p99**: The 99th percentile of the day's volume weighted distribution of OBFR transactions (overnight unsecured bank borrowing in federal funds and Eurodollars), in percent: the spread between the tails and the median shows how evenly the market cleared. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **nyfed-obfr-volume**: The volume of overnight unsecured bank borrowing in federal funds and Eurodollars underlying the OBFR, in billions of US dollars. Published each business day for the previous one, about 8:00 ET for SOFR, BGCR and TGCR and 9:00 ET for EFFR and OBFR; each value is stamped with its publication morning. Subject to the Terms of Use posted at newyorkfed.org; PreReason is not affiliated with the New York Fed. - **tic-treasury-holdings-total**: US Treasury bills, bonds and notes held by foreign residents at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-foreign-official**: US Treasury bills, bonds and notes held by foreign official institutions at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-japan**: US Treasury bills, bonds and notes held through Japan at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-united-kingdom**: US Treasury bills, bonds and notes held through United Kingdom at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-china**: US Treasury bills, bonds and notes held through China (Mainland) at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-belgium**: US Treasury bills, bonds and notes held through Belgium at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-cayman-islands**: US Treasury bills, bonds and notes held through Cayman Islands at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-luxembourg**: US Treasury bills, bonds and notes held through Luxembourg at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-canada**: US Treasury bills, bonds and notes held through Canada at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-ireland**: US Treasury bills, bonds and notes held through Ireland at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-france**: US Treasury bills, bonds and notes held through France at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-treasury-holdings-taiwan**: US Treasury bills, bonds and notes held through Taiwan at month end, billions of dollars, from Treasury's TIC Table 5 (Major Foreign Holders). Counted by where the custodian sits, which is not always the owner's country (TIC FAQ 7), so financial centers such as Belgium, Luxembourg, the Cayman Islands and the United Kingdom hold for others. Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-net-foreign-purchases-long-term**: Net foreign purchases of long term US securities of every type in the month, millions of dollars, from Treasury's TIC Table 1 (net US sales to foreign residents, positive when foreign holdings rise). Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-net-foreign-purchases-treasuries**: Net foreign purchases of US Treasury bonds and notes in the month, millions of dollars, from Treasury's TIC Table 1 (net US sales to foreign residents, positive when foreign holdings rise). Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-net-foreign-purchases-agency-bonds**: Net foreign purchases of US agency bonds in the month, millions of dollars, from Treasury's TIC Table 1 (net US sales to foreign residents, positive when foreign holdings rise). Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-net-foreign-purchases-corporate-bonds**: Net foreign purchases of US corporate and other bonds in the month, millions of dollars, from Treasury's TIC Table 1 (net US sales to foreign residents, positive when foreign holdings rise). Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-net-foreign-purchases-equities**: Net foreign purchases of US equities and fund shares in the month, millions of dollars, from Treasury's TIC Table 1 (net US sales to foreign residents, positive when foreign holdings rise). Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **tic-net-foreign-official-purchases-treasuries**: Net foreign purchases of US Treasury bonds and notes, by foreign official institutions in the month, millions of dollars, from Treasury's TIC Table 1 (net US sales to foreign residents, positive when foreign holdings rise). Monthly, released about six weeks after the month ends at 4 p.m. Washington time; each value is stamped with its first release. - **korea-exports-20d**: South Korea's exports for the first 20 days of the month, millions of US dollars, from Korea Customs Service's own release. Released about the 21st of each month at 09:00 Seoul time as a preliminary count by declaration acceptance date; each release is stored as its own version, stamped with its release time, and Korea Customs may correct a window until the year's statistics are final in the February after. - **korea-chip-exports-20d**: South Korea's semiconductor exports for the first 20 days of the month, millions of US dollars, from Korea Customs Service's own release (its commodity classification, 성질별 분류). Released about the 21st of each month at 09:00 Seoul time as a preliminary count by declaration acceptance date; each release is stored as its own version, stamped with its release time, and Korea Customs may correct a window until the year's statistics are final in the February after. - **eia930-demand-daily-us48**: United States Lower 48's electricity demand for a day, in megawatthours: EIA's own daily figure from its Hourly Electric Grid Monitor (Form EIA-930), the day counted in Eastern time, stored once every hour of the day is in. As PreReason read it once EIA's figures had settled, no earlier than 11:00 Eastern two days after the day; EIA may revise its hourly figures later, and a later revision is not read. - **eia930-demand-daily-erco**: Electric Reliability Council of Texas, Inc.'s electricity demand for a day, in megawatthours: EIA's own daily figure from its Hourly Electric Grid Monitor (Form EIA-930), the day counted in Central time, stored once every hour of the day is in. As PreReason read it once EIA's figures had settled, no earlier than 11:00 Eastern two days after the day; EIA may revise its hourly figures later, and a later revision is not read. - **eia930-demand-daily-pjm**: PJM Interconnection, LLC's electricity demand for a day, in megawatthours: EIA's own daily figure from its Hourly Electric Grid Monitor (Form EIA-930), the day counted in Eastern time, stored once every hour of the day is in. As PreReason read it once EIA's figures had settled, no earlier than 11:00 Eastern two days after the day; EIA may revise its hourly figures later, and a later revision is not read. - **nyfed-srf-daily**: The dollars the Federal Reserve's standing repo facility accepted on a business day, over all its operations, in US dollars: from the New York Fed's own Markets API (repo operation results), read once the day's last operation has closed. - **boc-policy-rate**: The Bank of Canada's policy rate, in percent: its target for the overnight rate, daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts its days about a week behind a decision. - **rba-cash-rate**: The Reserve Bank of Australia's cash rate target, in percent, daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts its days about a week behind a decision. - **rbnz-cash-rate**: The Reserve Bank of New Zealand's official cash rate, in percent, daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts its days about a week behind a decision. - **snb-policy-rate**: The Swiss National Bank's policy rate, in percent (it may sit at or below zero), daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts its days about a week behind a decision. - **riksbank-policy-rate**: Sveriges Riksbank's policy rate, in percent: its fixed repo rate, daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts its days about a week behind a decision. - **norges-bank-policy-rate**: Norges Bank's policy rate, in percent: the rate on banks' deposits in Norges Bank, daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts its days about a week behind a decision. - **pboc-loan-prime-rate**: China's one year Loan Prime Rate, in percent, which the BIS uses as China's policy rate since 2019-08-20 (not the People's Bank of China's seven day reverse repo rate), daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts its days about a week behind a decision. - **bok-base-rate**: The Bank of Korea's base rate, in percent, daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts Korea's days late: on 2026-10-03 its newest was 2026-08-28, about five weeks behind, so check the value's date. - **rbi-repo-rate**: The Reserve Bank of India's policy repo rate, in percent, daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts India's days very late: on 2026-10-03 its newest was 2026-07-23, about two and a half months behind, so check the value's date. - **boe-bank-rate**: The Bank of England's Bank Rate, in percent, daily, as the BIS compiles central bank policy rates (WS_CBPOL), which names the bank as its source; the BIS does not endorse PreReason. Each value is served with the day it is for. The BIS posts its days about a week behind a decision. Read from the BIS since 2026-10-03; the Bank of England's own feed stopped on 2026-09-26, and its rows stay stored and unread. - **us-core-cpi**: US consumer prices less food and energy: the CPI-U index for all items less food and energy, US city average, seasonally adjusted (1982 to 1984 = 100), monthly, from the U.S. Bureau of Labor Statistics, with every revision kept from 2026-10-04 - **u6-unemployment-rate**: The broadest US unemployment measure (U-6): the unemployed, the marginally attached and those working part time for economic reasons, as a percent of the labor force plus the marginally attached, seasonally adjusted, monthly, from the U.S. Bureau of Labor Statistics, with every revision kept from 2026-10-04 - **labor-force-participation-rate**: The share of the US civilian population aged 16 and over working or looking for work, seasonally adjusted, in percent, monthly, from the U.S. Bureau of Labor Statistics, with every revision kept from 2026-10-04 - **average-hourly-earnings**: Average hourly earnings of all employees on US private payrolls, in dollars, seasonally adjusted, monthly, from the U.S. Bureau of Labor Statistics payroll survey (first, second and third estimates and the annual benchmark), with every revision kept from 2026-10-04 - **wb-gold-usd-oz**: Gold price as the World Bank publishes it, in US dollars per troy ounce: a MONTHLY AVERAGE, never a spot quote, posted early each month for the month before. Source: World Bank, Commodity Price Data (The Pink Sheet), CC BY 4.0. - **wb-silver-usd-oz**: Silver price as the World Bank publishes it, in US dollars per troy ounce: a MONTHLY AVERAGE, never a spot quote, posted early each month for the month before. Source: World Bank, Commodity Price Data (The Pink Sheet), CC BY 4.0. - **wb-copper-usd-mt**: Copper (LME grade A) price as the World Bank publishes it, in US dollars per metric ton: a MONTHLY AVERAGE, never a spot quote, posted early each month for the month before. Source: World Bank, Commodity Price Data (The Pink Sheet), CC BY 4.0. - **wb-wheat-srw-usd-mt**: Wheat (US soft red winter) price as the World Bank publishes it, in US dollars per metric ton: a MONTHLY AVERAGE, never a spot quote, posted early each month for the month before. Source: World Bank, Commodity Price Data (The Pink Sheet), CC BY 4.0. - **bank-reserves**: Reserve balances that depository institutions hold at the Federal Reserve Banks, the week average, in millions of US dollars: weekly, from the Federal Reserve Board's own H.4.1 release, posted each Thursday afternoon. - **nyfed-soma-total**: The Federal Reserve's System Open Market Account holdings in total, at par value, in US dollars: weekly, as of each Wednesday, from the New York Fed's own Markets API. - **us-debt-total**: Total public debt outstanding of the United States, in US dollars: each business day, from the US Treasury's own FiscalData Debt to the Penny dataset. - **ecb-balance**: The Eurosystem's total assets, in millions of euros: weekly, from the European Central Bank's own statistics (SDMX), its weekly financial statement. - **eu-cpi**: The euro area's Harmonised Index of Consumer Prices, all items, an index with 2025 = 100, for the euro area of 19 countries, a fixed composition, not the euro area as it stands (21 countries since 2026): monthly, from Eurostat's own dissemination API. The newest month is Eurostat's flash estimate until the final figure replaces it, about two weeks later, and each answer names which it serves (Source: Eurostat (flash estimate), or Source: Eurostat). - **nyfed-primary-dealer-treasury-net**: The primary dealers' net positions in US Treasury securities, in millions of US dollars, weekly: PreReason's calculation, the sum of the seven maturity buckets in the New York Fed's own primary dealer statistics (Markets API). - **nyfed-soma-treasuries**: The Federal Reserve's System Open Market Account holdings of US Treasury securities, at par value, in US dollars: weekly, as of each Wednesday, from the New York Fed's own Markets API. - **us-debt-public-held**: US federal debt held by the public, in US dollars: each business day, from the US Treasury's own FiscalData Debt to the Penny dataset. - **eu-m3**: The euro area's M3 money supply, in euros: monthly, from the European Central Bank's own statistics (SDMX), posted about four weeks after the month ends. - **germany-10y**: Germany's long term government bond yield (about 10 years), in percent: the monthly average the European Central Bank publishes for convergence purposes (SDMX), not a daily close. - **france-10y**: France's long term government bond yield (about 10 years), in percent: the monthly average the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), dated the month's first day and posted within about four weeks of the month's end; not a daily close. - **italy-10y**: Italy's long term government bond yield (about 10 years), in percent: the monthly average the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), dated the month's first day and posted within about four weeks of the month's end; not a daily close. - **spain-10y**: Spain's long term government bond yield (about 10 years), in percent: the monthly average the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), dated the month's first day and posted within about four weeks of the month's end; not a daily close. - **portugal-10y**: Portugal's long term government bond yield (about 10 years), in percent: the monthly average the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), dated the month's first day and posted within about four weeks of the month's end; not a daily close. - **greece-10y**: Greece's long term government bond yield (about 10 years), in percent: the monthly average the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), dated the month's first day and posted within about four weeks of the month's end; not a daily close. - **belgium-10y**: Belgium's long term government bond yield (about 10 years), in percent: the monthly average the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), dated the month's first day and posted within about four weeks of the month's end; not a daily close. - **france-germany-10y-spread**: France's long term government bond yield minus Germany's, in percentage points: PreReason's calculation over the two monthly averages the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), for the same month, dated its first day; not a daily spread. - **italy-germany-10y-spread**: Italy's long term government bond yield minus Germany's, in percentage points: PreReason's calculation over the two monthly averages the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), for the same month, dated its first day; not a daily spread. - **spain-germany-10y-spread**: Spain's long term government bond yield minus Germany's, in percentage points: PreReason's calculation over the two monthly averages the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), for the same month, dated its first day; not a daily spread. - **portugal-germany-10y-spread**: Portugal's long term government bond yield minus Germany's, in percentage points: PreReason's calculation over the two monthly averages the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), for the same month, dated its first day; not a daily spread. - **greece-germany-10y-spread**: Greece's long term government bond yield minus Germany's, in percentage points: PreReason's calculation over the two monthly averages the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), for the same month, dated its first day; not a daily spread. - **belgium-germany-10y-spread**: Belgium's long term government bond yield minus Germany's, in percentage points: PreReason's calculation over the two monthly averages the European Central Bank publishes for convergence purposes (dataset IRS, Source: ECB statistics.), for the same month, dated its first day; not a daily spread. - **japan-10y**: The 10-year Japanese government bond yield, in percent, for each Tokyo business day, from the Ministry of Finance's JGB interest rate file (Source: Ministry of Finance, Japan (Interest Rate, JGB)). - **japan-30y**: The 30-year Japanese government bond yield, in percent, for each Tokyo business day, from the Ministry of Finance's JGB interest rate file (Source: Ministry of Finance, Japan (Interest Rate, JGB)). - **japan-40y**: The 40-year Japanese government bond yield, in percent, for each Tokyo business day, from the Ministry of Finance's JGB interest rate file (Source: Ministry of Finance, Japan (Interest Rate, JGB)). - **etf-hyg**: iShares iBoxx $ High Yield Corporate Bond ETF (HYG) share price in US dollars (Finnhub), updated every 15 minutes during US market hours. A fund's share price, not a credit spread. - **etf-lqd**: iShares iBoxx $ Investment Grade Corporate Bond ETF (LQD) share price in US dollars (Finnhub), updated every 15 minutes during US market hours. A fund's share price, not a credit spread. ### Calculated - **t10y3m-spread**: Difference between the 10-year and 3-month Treasury yields (treasury-10y minus treasury-3mo). The spread behind the NY Fed's recession probability model; below zero the curve is inverted. - **fed-ecb-spread**: Difference between the effective Fed Funds rate and the ECB Deposit Facility rate. - **fed-boj-spread**: Difference between the effective Fed Funds rate and the BOJ short-term policy rate. - **carry-trade-returns-proxy**: Proxy for short-JPY long-USD carry-trade returns: rate-differential carry from fed-boj-spread combined with USD/JPY spot performance. Positive when the carry is paying off. - **carry-trade-velocity-1d**: Change in carry-trade-returns-proxy since the last close before its newest weekly USD/JPY batch. The Federal Reserve Board publishes that FX input (H.10) each Monday for the prior week, so the value holds all week and later rate moves add in. Sharp negative readings are consistent with carry unwinds. - **iwm-spy-credit-spread**: SPY's 30 day return minus IWM's, in percentage points: positive while small caps lag the broad market, negative while they lead. - **spy-vxx-correlation-30d**: Rolling 30-day Pearson correlation of daily SPY and VXX returns. Normally strongly negative. - **regime-stability-flag**: Count of cross-regime inputs (net-liquidity, dollar strength (UUP), treasury-10y, hash-ribbon, SPY, VXX) that flipped 7d direction over the last 24h. 0 = perfectly stable; 6 = chaotic. - **real-rate-10y**: Treasury 10Y nominal yield minus 10Y breakeven inflation (treasury-10y minus breakeven-10y, both on the same day). - **gld-gdx-ratio**: The share price of the gold fund (GLD) divided by that of the senior gold miners fund (GDX), not a ratio of metal prices. Rising = miners lagging gold (miner-margin compression). Falling = miners outpacing gold. - **copper-gold-ratio**: The share price of the copper fund (CPER) divided by that of the gold fund (GLD), not the copper to gold price ratio, which is quoted in different units. Rising = copper outpacing gold. Falling = gold outpacing copper. - **slv-sil-ratio**: The share price of the silver fund (SLV) divided by that of the silver miners fund (SIL). Mirrors the GLD/GDX ratio in silver. - **gdxj-gdx-ratio**: The share price of the junior gold miners fund (GDXJ) divided by that of the senior gold miners fund (GDX). Rising = juniors outpacing seniors. Falling = seniors outpacing juniors. - **gold-silver-ratio**: The share price of the gold fund (GLD) divided by that of the silver fund (SLV), near 7, not the gold to silver price ratio near 70 that the metals markets quote. Rising = gold outpacing silver. Falling = silver outpacing gold. - **brent-wti-spread**: International (Brent) minus US (WTI) crude oil price in USD per barrel. Wider Brent premium reflects supply tightness in international waters (e.g., shipping disruptions). Negative readings (WTI > Brent) often coincide with US oversupply. - **oil-wti-realized-vol-30d**: How much WTI crude moved over the last 30 trading days, annualised, in percent. Computed by PreReason from EIA daily spot prices. Backward looking: not an implied volatility index. - **etf-gld-1h-velocity**: 1-hour percentage change in SPDR Gold Shares (GLD) intraday quote. Measures gold-spot tape acceleration during market hours. - **etf-cper-1h-velocity**: 1-hour percentage change in United States Copper Index Fund (CPER), served during market hours. - **etf-uup-velocity-1h**: 1-hour percentage change in Invesco DB US Dollar ETF (UUP), served during market hours. - **oil-inventory-zscore**: Weekly EIA crude oil ending stocks (excluding the SPR) against the same week of the year in the prior five years, in standard deviations. Positive means stocks sit above that seasonal norm, negative means below. - **natgas-storage-zscore**: Weekly EIA working gas in storage for the Lower 48 against the same week of the year in the prior five years, in standard deviations. Positive means storage sits above that seasonal norm, negative means below. - **ecb-boj-spread**: Difference between the ECB Deposit Facility rate and the BOJ short-term policy rate. - **etf-gld-volume-zscore-30d**: Rolling 30-day Z-score of GLD daily volume. Positive = above-trend volume (heavy participation); negative = below-trend (thin participation). Used to confirm a gold price move by the volume behind it. - **etf-uso-volume-zscore-30d**: Rolling 30-day Z-score of USO daily volume. Used to confirm an oil price move by the volume behind it. - **etf-uup-volume-zscore-30d**: Rolling 30-day Z-score of UUP daily volume. Used to confirm a dollar move by the volume behind it. - **net-liquidity**: Net liquidity proxy - Fed balance sheet minus reverse repo and Treasury account balances - **hash-ribbon**: Hash rate momentum indicator - 30-day vs 60-day moving average ratio - **usdt-dominance**: USDT share of total crypto market cap, as CoinGecko states it (served from 2026-10-01) - **btc-price-200d-ma**: 200-day simple moving average of BTC price - **btc-price-200d-distance**: Percentage distance of BTC price from its 200-day MA, positive above it and negative below - **btc-etf-net-flow**: Daily net inflow/outflow across all US spot Bitcoin ETFs in USD millions (Farside Investors) - **btc-etf-cumulative-flow**: Cumulative net inflows over tracked history in USD millions. NOT inception-to-date: the upstream table is a rolling window, so metadata.coverage_from states the true start and metadata.covers_launch_epoch says whether Jan 2024 is included. - **btc-etf-aum**: Aggregate assets under management across all US spot Bitcoin ETFs in USD millions: PreReason's calculation, the sum of each issuer's AUM as stockanalysis.com publishes it - **btc-etf-ibit-flow**: Daily net inflow/outflow for iShares Bitcoin Trust (IBIT) in USD millions (Farside Investors) - **btc-etf-fbtc-flow**: Daily net inflow/outflow for Fidelity Wise Origin Bitcoin Fund (FBTC) in USD millions - **btc-etf-gbtc-flow**: Daily net inflow/outflow for Grayscale Bitcoin Trust (GBTC) in USD millions - **btc-etf-other-flow**: Sum of daily flows across all spot Bitcoin ETFs other than IBIT/FBTC/GBTC in USD millions - **btc-etf-ibit-aum**: Assets under management for iShares Bitcoin Trust (IBIT) in USD - **btc-etf-fbtc-aum**: Assets under management for Fidelity Wise Origin Bitcoin Fund (FBTC) in USD - **btc-etf-bitb-aum**: Assets under management for Bitwise Bitcoin ETF (BITB) in USD - **btc-etf-arkb-aum**: Assets under management for ARK 21Shares Bitcoin ETF (ARKB) in USD - **btc-etf-btco-aum**: Assets under management for Invesco Galaxy Bitcoin ETF (BTCO) in USD - **btc-etf-ezbc-aum**: Assets under management for Franklin Bitcoin ETF (EZBC) in USD - **btc-etf-brrr-aum**: Assets under management for Valkyrie Bitcoin Fund (BRRR) in USD - **btc-etf-hodl-aum**: Assets under management for VanEck Bitcoin Trust (HODL) in USD - **btc-etf-btcw-aum**: Assets under management for WisdomTree Bitcoin Fund (BTCW) in USD - **btc-etf-gbtc-aum**: Assets under management for Grayscale Bitcoin Trust (GBTC) in USD - **btc-etf-btc-aum**: Assets under management for Grayscale Bitcoin Mini Trust (BTC) in USD - **bitcoin-price-1h-change-pct**: Percentage change in Bitcoin price over the last hour, derived from price history (hourly cadence) - **raw-hashprice-tick**: Hashprice (USD per TH/s/day) recomputed on every CoinGecko price tick using the same formula as hourly hashprice - **on-chain-velocity-30d**: Rolling 30-day on-chain transaction volume divided by current Bitcoin market cap, measuring network throughput intensity - **bitcoin-volume-zscore-30d**: D-097 confirmation/exhaustion overlay: standard-deviation distance of current 24h volume from the trailing 30-day mean - **btc-perp-oi-contracts**: Open interest expressed in BTC contracts rather than dollars (okx-btc-open-interest / bitcoin-price, timestamp-matched). The stored USD figure rises mechanically with price, so a rising dollar reading can coincide with contracts being closed. - **btc-perp-positioning-regime**: Which of four positioning regimes the last 24h sits in, from the sign of the price move against the sign of the contract change. +2 new longs, +1 short covering, -1 long liquidation, -2 new shorts, 0 no clear regime. Sign is tape direction; magnitude is whether leverage is building or closing. - **btc-perp-funding-zscore-30d**: Standard-deviation distance of the current 8-hour perpetual funding rate from its trailing 30-day mean. Reads whether a price move was paid for by crowded leverage or happened without one. - **btc-realized-vol-7d**: How much Bitcoin moved over the last 7 days, annualised, in percent. Computed by PreReason from the daily Bitcoin closes it stores (CoinGecko's, or Coinbase's or Kraken's on the days theirs was the last price), from 2025-09-01. Backward looking: not an implied volatility index. - **btc-realized-vol-30d**: How much Bitcoin moved over the last 30 days, annualised, in percent. Computed by PreReason from the daily Bitcoin closes it stores (CoinGecko's, or Coinbase's or Kraken's on the days theirs was the last price), from 2025-09-01. Backward looking: not an implied volatility index. - **btc-realized-vol-90d**: How much Bitcoin moved over the last 90 days, annualised, in percent. Computed by PreReason from the daily Bitcoin closes it stores (CoinGecko's, or Coinbase's or Kraken's on the days theirs was the last price), from 2025-09-01. Backward looking: not an implied volatility index. - **auction-dealer-share-2y**: The primary dealer share of the competitive awards at each 2 year note auction, in percent: one reading per auction, at its close, computed by PreReason from the US Treasury's own auction results (Fiscal Data, auctions query): the primary dealers' accepted amount over all competitive awards. Nominal coupon auctions only; inflation protected securities are left out. - **auction-dealer-share-3y**: The primary dealer share of the competitive awards at each 3 year note auction, in percent: one reading per auction, at its close, computed by PreReason from the US Treasury's own auction results (Fiscal Data, auctions query): the primary dealers' accepted amount over all competitive awards. Nominal coupon auctions only; inflation protected securities are left out. - **auction-dealer-share-5y**: The primary dealer share of the competitive awards at each 5 year note auction, in percent: one reading per auction, at its close, computed by PreReason from the US Treasury's own auction results (Fiscal Data, auctions query): the primary dealers' accepted amount over all competitive awards. Nominal coupon auctions only; inflation protected securities are left out. - **auction-dealer-share-7y**: The primary dealer share of the competitive awards at each 7 year note auction, in percent: one reading per auction, at its close, computed by PreReason from the US Treasury's own auction results (Fiscal Data, auctions query): the primary dealers' accepted amount over all competitive awards. Nominal coupon auctions only; inflation protected securities are left out. - **auction-dealer-share-10y**: The primary dealer share of the competitive awards at each 10 year note auction, in percent: one reading per auction, at its close, computed by PreReason from the US Treasury's own auction results (Fiscal Data, auctions query): the primary dealers' accepted amount over all competitive awards. Nominal coupon auctions only; inflation protected securities are left out. - **auction-dealer-share-20y**: The primary dealer share of the competitive awards at each 20 year bond auction, in percent: one reading per auction, at its close, computed by PreReason from the US Treasury's own auction results (Fiscal Data, auctions query): the primary dealers' accepted amount over all competitive awards. Nominal coupon auctions only; inflation protected securities are left out. - **auction-dealer-share-30y**: The primary dealer share of the competitive awards at each 30 year bond auction, in percent: one reading per auction, at its close, computed by PreReason from the US Treasury's own auction results (Fiscal Data, auctions query): the primary dealers' accepted amount over all competitive awards. Nominal coupon auctions only; inflation protected securities are left out. - **eia930-peak-demand-us48**: United States Lower 48's highest hourly electricity demand in a day, in megawatts: the highest of EIA's hourly demand figures for the day, as PreReason reads them from EIA-930 (an hour's megawatthours are its average megawatts), the day counted in Eastern time. Not a figure EIA publishes as the day's peak. As PreReason read it once EIA's figures had settled, no earlier than 11:00 Eastern two days after the day; EIA may revise its hourly figures later, and a later revision is not read. - **eia930-peak-demand-erco**: Electric Reliability Council of Texas, Inc.'s highest hourly electricity demand in a day, in megawatts: the highest of EIA's hourly demand figures for the day, as PreReason reads them from EIA-930 (an hour's megawatthours are its average megawatts), the day counted in Central time. Not a figure EIA publishes as the day's peak. As PreReason read it once EIA's figures had settled, no earlier than 11:00 Eastern two days after the day; EIA may revise its hourly figures later, and a later revision is not read. - **eia930-peak-demand-pjm**: PJM Interconnection, LLC's highest hourly electricity demand in a day, in megawatts: the highest of EIA's hourly demand figures for the day, as PreReason reads them from EIA-930 (an hour's megawatthours are its average megawatts), the day counted in Eastern time. Not a figure EIA publishes as the day's peak. As PreReason read it once EIA's figures had settled, no earlier than 11:00 Eastern two days after the day; EIA may revise its hourly figures later, and a later revision is not read. - **ethereum-volume-zscore-30d**: How far Ether's 24 hour volume sits from its own 30 day average, in standard deviations: PreReason's calculation from CoinGecko's volumes. Powered by CoinGecko. - **eth-200d-distance**: Ether's distance from its own 200 day simple moving average, in percent: PreReason's calculation from CoinGecko's prices. Powered by CoinGecko. ### Ethereum - **cot-eth-cme-dealer-net**: Long minus short contracts held by dealers and other sell side intermediaries in CME Ether futures (50 ETH a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-eth-cme-asset-manager-net**: Long minus short contracts held by asset managers and institutional investors in CME Ether futures (50 ETH a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-eth-cme-leveraged-funds-net**: Long minus short contracts held by leveraged funds (hedge funds and CTAs) in CME Ether futures (50 ETH a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-eth-cme-other-reportable-net**: Long minus short contracts held by other reportable traders in CME Ether futures (50 ETH a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-eth-cme-nonreportable-net**: Long minus short contracts held by traders below the reporting threshold in CME Ether futures (50 ETH a contract): PreReason's calculation from the weekly CFTC Traders in Financial Futures report, futures only, which prints the long and the short. Positive is net long. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **cot-eth-cme-open-interest**: Open interest in CME Ether futures (50 ETH a contract), from the weekly CFTC Traders in Financial Futures report, futures only. Positions as of Tuesday, published by the CFTC the following Friday at 15:30 ET (the next Monday after a federal holiday); each value is stamped with its release time. - **ethereum-volume-24h**: Ether's trading volume over the past 24 hours in US dollars, aggregated across venues (CoinGecko). Powered by CoinGecko. - **eth-staking-apr**: The reward rate Lido reports for staked Ether (stETH), its 7 day average, in percent: daily. Source: Lido. - **ethereum-price**: Ether's spot price in US dollars, aggregated across venues (CoinGecko), updated through the day. Powered by CoinGecko. ### Inside briefings (no endpoint) The mining and energy metrics are calculated during briefing resolution, and the published series are carried as their sources allow; all are available only inside the briefings that carry them, not standalone API endpoints. - **hashprice**: Daily mining revenue per terahash per second. The core profitability metric for Bitcoin miners. - **hashprice-7d-smoothed**: Seven-day simple moving average of hashprice. Dampens daily volatility from fee spikes and data lag. - **epoch-pace**: Percentage deviation of actual block production time from the 10-minute target. Positive (slower blocks) means downward adjustment pressure on difficulty, negative (faster) upward pressure. - **production-cost**: Estimated cost to produce one Bitcoin, calculated across three tiers: electricity-only, cash operating expenses, and fully-loaded all-in cost. - **price-to-production**: Bitcoin market price divided by the Tier 2 (cash OPEX) production cost. Shows whether miners are operating profitably. - **gas-input-cost**: Natural gas price converted to electricity-equivalent cost per kWh. Represents the energy input cost for gas-powered mining operations. - **energy-pressure**: A composite measuring whether energy input costs are rising or falling relative to their recent trend. Combines multiple cost sources into a single directional indicator. - **natural-gas-price**: Henry Hub natural gas spot price in $/MMBtu, from the U.S. Energy Information Administration (EIA), daily. The primary commodity input for gas-powered Bitcoin mining operations. - **okx-btc-funding-rate**: The funding rate OKX publishes for its BTC-USDT perpetual swap, per 8 hour period. Carried inside the Bitcoin momentum and factors briefings. - **okx-btc-open-interest**: The open interest OKX publishes for its BTC-USDT perpetual swap: the contracts outstanding. Carried inside the Bitcoin momentum and factors briefings. - **okx-eth-funding-rate**: The funding rate OKX publishes for its ETH-USDT perpetual swap, per 8 hour period. Carried inside the Ethereum context briefing. - **deribit-btc-iv-30d**: Deribit's Volatility Index for Bitcoin (DVOL): the 30 day implied volatility priced in Deribit's Bitcoin options, annualized, in percent. Carried inside the Bitcoin factors briefing. - **bis-global-liquidity-usd**: The Bank for International Settlements' global liquidity indicator for the US dollar: credit in dollars to borrowers outside the United States. Quarterly, published with a lag of about two quarters. Carried inside the macro liquidity briefing. - **boj-balance**: The Bank of Japan's total assets, monthly, as FRED publishes them from the Bank of Japan's accounts (JPNASSETS). Carried inside the macro snapshot and cross regime briefings. --- ## Signal Interpretation Each metric response includes a signal, a confidence score from 15 to 90, and trend data. Crypto series read bullish, bearish or neutral. Every other metric reads above-trend, below-trend or at-trend: where its value sits against its trend, so a 10Y Treasury yield above 5% reads above-trend. Briefings (JSON and markdown, causal factors included), /api/metrics and get_metric serve the same word for the same reading, and compute confidence with one implementation. **What confidence means:** signal clarity, how clearly the current reading supports its own label. It is not a probability that the label is right, it says nothing about what any price does next, and it has not been calibrated against outcomes. **Confidence score breakdown:** - Signal strength (40%): How far past the boundary that decided the label the reading sits, on that boundary's own scale (a value against its thresholds, a percentile against percentile bounds, a value against its Bollinger bands) - Trend consistency (30%): Whether the 7d and 30d moves point the way the label expects: a rising series supports above-trend and a falling one below-trend. Among crypto series, where a low reading is bullish (USDT dominance), a falling series supports a bullish label - Percentile score (20%): How extreme the reading is in its history, in the direction of its label - Data quality (10%): Whether the latest reading is current against the metric's own publication schedule: 100 while it is fresh or only later than usual (the data_quality block says stale: false), 60 once stale, 30 once critical. A weekly or monthly series is not marked down for being days or weeks old inside its own cycle **Trend direction:** `direction` holds the label the last live answer served in the past 6 hours: a new direction needs the 7 day change more than a quarter past the series' flat band, and a held one stays until the change falls back inside three quarters of it. A historical date has no memory. **Key thresholds:** - Hash ribbon: above 1.0 = bullish, below 0.95 = bearish - 10Y Treasury yield: above 5% = above-trend, below 3% = below-trend; the other tenors use the same band moved by their usual spread to the 10Y - In briefings, VXX (as vix) and UUP (as dxy) read against a Bollinger band of their recent history (its mean, plus or minus one standard deviation): above it = above-trend, below it = below-trend. USDT dominance reads against its band the same way, where a low share of stablecoins reads bullish - Most other series read by their percentile among every stored close: from the 85th up, or above the 70th while rising, = bullish or above-trend; from the 15th down, or below the 30th while falling, = bearish or below-trend (a live briefing takes a word only 5 points past these lines and lets it go 5 points back). etf-vxx and etf-uup, read by those names through /api/metrics and get_metric, follow this rule --- ## MCP Server Setup ### Claude Desktop Add to `claude_desktop_config.json`: ```json { "mcpServers": { "prereason": { "command": "npx", "args": ["-y", "@prereason/mcp", "--header", "Authorization:Bearer YOUR_API_KEY"] } } } ``` ### Claude Code Run: `claude mcp add prereason --transport http https://api.prereason.com/api/mcp` Or add to `.mcp.json`: ```json { "mcpServers": { "prereason": { "type": "http", "url": "https://api.prereason.com/api/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } } ``` ### Cursor / Windsurf Add a remote MCP server pointing to `https://api.prereason.com/api/mcp` with header `Authorization: Bearer YOUR_API_KEY`. ### Meta Muse Code Add to the `mcp_servers` block of `~/.config/muse/settings.json` (macOS and Linux): ```json { "mcp_servers": { "prereason": { "transport": "streamable_http", "url": "https://api.prereason.com/api/mcp", "headers": { "Authorization": "Bearer ${PREREASON_API_KEY}" }, "mode": "optional" } } } ``` Muse Code expands `${PREREASON_API_KEY}` from the environment. `"mode": "optional"` keeps a run going if PreReason is unreachable. Every tool is read only, so they run without an approval prompt. ### Meta Muse (Custom Connector) Ask Muse, Meta's AI agent, to create a Custom Connector: "Create a custom connector for PreReason. MCP server (Streamable HTTP): https://api.prereason.com/api/mcp. REST API: https://api.prereason.com/openapi.json. Authenticate with the header Authorization: Bearer followed by my PreReason API key. Call list_briefings first, then get_context." Give Muse the key when it asks for credentials. ### MCP Tools (7) - **get_context**: Fetch a briefing. Parameters: briefing (required), format (optional: json/markdown), date (optional: YYYY-MM-DD, the briefing as of the end of that day; leave it out for a period's latest figures, including later corrections). Needs a PreReason account: a signed in connection or an API key. - **get_metric**: Fetch a single metric with interpretation. Parameters: metric (required), format (optional). Needs a PreReason account: a signed in connection or an API key. - **get_changes**: The change events since your last call. Parameters: cursor (optional: the next_cursor of your previous call; without one, the last 24 hours), types (optional), companies (optional, at most 200), limit (optional, 1 to 100). Each event says what changed, when, and where to fetch it; no values. Needs a PreReason account with basic access or above: a signed in connection or an API key. - **get_news**: Dated records of what companies filed and what federal agencies and the Federal Reserve published, newest first, each with its source, its date or time and a link. Parameters: about (optional: one company, by ticker or ISIN), kind (optional: filed or official), since and until (optional: YYYY-MM-DD; the last 7 days when left out), as_of (optional, in place of until), limit (optional, 1 to 25). A filed 8-K line names the filing's substantive items in PreReason's fixed order of significance, at most three, with a count of the rest; item 7.01 (Regulation FD disclosure) and item 9.01 (financial statements and exhibits) are carriers, named only when a filing carries nothing else. Every answer names the sources it read; it states records, not reasons. Needs a PreReason account: a signed in connection or an API key. - **list_briefings**: List all available briefings with descriptions and tier info. No auth required. - **list_metrics**: List all available metrics with categories. No auth required. - **get_health**: Check API status. No auth required. --- ## REST API Examples Quick check: ``` curl -H "Authorization: Bearer YOUR_KEY" https://api.prereason.com/api/btc ``` Full context (Pro): ``` curl -H "Authorization: Bearer YOUR_KEY" "https://api.prereason.com/api/context?briefing=btc.full" ``` Single metric: ``` curl -H "Authorization: Bearer YOUR_KEY" "https://api.prereason.com/api/metrics/bitcoin-hash-rate" ``` JSON format: ``` curl -H "Authorization: Bearer YOUR_KEY" "https://api.prereason.com/api/context?briefing=macro.snapshot&format=json" ``` Historical data (Pro): ``` curl -H "Authorization: Bearer YOUR_KEY" "https://api.prereason.com/api/context?briefing=btc.momentum&date=2025-06-15" ``` --- ## Pricing and Rate Limits | Tier | Price | Requests/Hour | Briefings | Historical Data | |------|-------|---------------|-----------|-----------------| | Free | $0 | up to 100 calls a day, no more than 30 in an hour | 6 | Rolling 30 days | | Basic | $19.99/mo, the founding price for the first 100 subscribers, $50 a month for everyone after | up to 7,000 calls a day, no more than 500 in an hour | 20 | Up to 3 years, Bitcoin from Jan 2025 | | Pro | $49.99/mo, the founding price for the first 50 subscribers, $150 a month for everyone after | up to 35,000 calls a day, no more than 2,000 in an hour | All 33 | Full history (2009+) | Annual billing saves 20% on Basic and Pro. Founding prices: $19.99 a month on Basic for the first 100 subscribers and $49.99 a month on Pro for the first 50, kept while you stay subscribed. Metrics on the free tier: a free key reads the 17 metrics in the bitcoin category in full, and the latest reading of every other metric (its value, when it was taken, its source and freshness). A basic key reads 253 of the 293 metrics in full, and the latest reading of the 40 that only Pro briefings use (changed 2026-10-06, from all 224 in full; changed 2026-10-07, France's 10 year and its spread over Germany joined them, from 238 and 32; changed 2026-10-10, macro.calendar went live at Basic with the federal funds rate and the BoJ policy rate, and euro area HICP joined the catalogue, from 237 of 271 and 34; changed 2026-10-11, three series the bonds state blocks print joined the catalogue, from 240 of 272 and 32; changed 2026-10-11, fourteen series the auction, liquidity and AI compute state blocks print joined the catalogue, from 241 of 275 and 34; changed 2026-10-12, four of the Board's H.10 exchange rates joined the catalogue, from 249 of 289 and 40). Pro reads all 293 metrics in full. Changed 2026-10-01: the free tier was 60 an hour and 500 a day, with every metric in full. Free accounts that made a call in the week before keep those limits and full metric access until further notice. Company briefings: A whole company briefing counts as one call for each block it carries, up to 11. A block left out or with nothing in it counts nothing, and the rate limit headers count it the same way. Rate limit headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` Exceeded: HTTP 429 with `Retry-After` header. --- ## Short URL Aliases | Short URL | Briefing | |-----------|----------| | /api/btc | btc.quick-check | | /api/btc/context | btc.context | | /api/btc/pulse | btc.pulse | | /api/btc/momentum | btc.momentum | | /api/btc/grid | btc.grid-stress | | /api/btc/onchain | btc.on-chain | | /api/btc/miners | btc.miner-survival | | /api/btc/full | btc.full | | /api/btc/factors | btc.factors | | /api/btc/energy | btc.energy | | /api/btc/treasury | btc.treasury | | /api/btc/etf | btc.etf-flows | | /api/macro | macro.snapshot | | /api/macro/liquidity | macro.liquidity | | /api/macro/rates | macro.rates | | /api/macro/auctions | macro.auctions | | /api/macro/calendar | macro.calendar | | /api/bonds/context | bonds.context | | /api/bonds/full | bonds.full | | /api/eth/context | eth.context | | /api/commodities/gold | commodities.gold | | /api/commodities/silver | commodities.silver | | /api/commodities/copper | commodities.copper | | /api/commodities/wheat | commodities.wheat | | /api/commodities/oil-producers | commodities.oil-producers | | /api/commodities/gold-miners | commodities.gold-miners | | /api/commodities/grains-agribusiness | commodities.grains-agribusiness | | /api/cross/correlations | cross.correlations | | /api/cross/breadth | cross.breadth | | /api/cross/regime | cross.regime | | /api/cross/ai-compute | cross.ai-compute | | /api/commodities/energy-basket | commodities.energy-basket | | /api/fx | fx.liquidity | --- ## Source Attribution The 34 providers behind the values PreReason serves, with each one's attribution and update interval. The same list is at https://www.prereason.com/data-sources. - FRED: Federal Reserve Economic Data from the St. Louis Fed, read through its API: inflation and jobs. Read hourly; each series follows its release schedule. This product uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. - Federal Reserve Bank of New York: The New York Fed Markets API: the reference rates (SOFR, BGCR, TGCR, EFFR and OBFR) with their percentiles and volumes, the effective federal funds rate among them, the System Open Market Account holdings, primary dealer Treasury positions and daily reverse repo operations. Business days, read each evening. The reference rates (SOFR, BGCR, TGCR, EFFR and OBFR) are subject to the Terms of Use posted at newyorkfed.org. The New York Fed is not responsible for publication of these rates by PreReason, does not sanction or endorse any particular republication, and has no liability for your use. SOFR and BGCR data are calculated using data provided under a license granted to the New York Fed by DTCC Solutions LLC; Solutions, its affiliates and the third parties from which they obtained data have no liability for the content. PreReason is not affiliated with the New York Fed. - Board of Governors of the Federal Reserve System: The Federal Reserve Board's own site: each FOMC statement, compared sentence by sentence with the one before, with the target range decision, the vote and the next meeting's date, in macro.rates (the meeting dates in macro.calendar too); the H.10 foreign exchange rates, the euro, the yen and the yuan against the dollar for each business day, with the nominal broad dollar index; the H.4.1 release, the Fed's total assets, the Treasury General Account and bank reserves for each week; and the H.6 release, the M2 money supply for each month, kept at the Board's current values. Read every 10 minutes for a new statement; eight meetings a year. H.10 rates and the H.4.1 read each business day evening; the H.6 read each night. Source: Board of Governors of the Federal Reserve System. - U.S. Department of the Treasury: The Daily Treasury Par Yield Curve Rates and Daily Treasury Par Real Yield Curve Rates: Treasury yields at every maturity from 1 month to 30 years and the 20 and 30 year real yields, from Treasury's own files, and PreReason's calculations from them: the 10 year minus 2 year spread, and breakeven inflation (nominal minus real yields). Business days, read each evening. Treasury yields from the U.S. Department of the Treasury, Daily Treasury Par Yield Curve Rates and Daily Treasury Par Real Yield Curve Rates. - Treasury International Capital (TIC): The Treasury's TIC system: foreign holdings of US Treasury securities by country (Table 5), and net foreign purchases of long term US securities (Table 1). Monthly, read each business day evening. Source: U.S. Department of the Treasury, Treasury International Capital (TIC) system. - U.S. Treasury Fiscal Data: The Treasury's Fiscal Data API: Debt to the Penny (total public debt, debt held by the public, intragovernmental holdings), Treasury auction results (bid to cover ratios, indirect bidder and primary dealer shares, the next auction date) and Treasury's buyback operations (each operation's maturity bucket, maximum and the par amounts offered and accepted). Debt read each evening; auctions read hourly; buyback operations read every 10 minutes. Debt, auction and buyback data from U.S. Treasury Fiscal Data. - CFTC: The Commodity Futures Trading Commission's Commitments of Traders reports: noncommercial net positions in S&P 500, gold, silver, copper, wheat, crude oil, yen, euro and 10 year Treasury futures with their 26, 52 and 156 week percentiles, and positions by trader type in CME Bitcoin and Ether futures. Weekly, read each business day evening. Source: CFTC Commitments of Traders. - ECB: The European Central Bank Data Portal: the Eurosystem balance sheet (weekly), euro area M3 money supply (monthly), the 10 year government bond yields of Germany, France, Italy, Spain, Portugal, Greece and Belgium (the monthly averages, with each one's spread over Germany, PreReason's calculation over the ECB's figures) and the ECB's deposit facility rate (the rate in force each calendar day); and from the ECB's own calendar, the Governing Council's monetary policy meeting dates, in macro.rates and macro.calendar. Weekly (the balance sheet, read Tuesdays), monthly (M3 and the 10 year yields, read daily) and daily (the deposit facility rate, read at 11:05, 12:05 and 18:05 UTC). Source: ECB statistics. - EIA: The U.S. Energy Information Administration API: the daily spot prices of WTI and Brent crude oil and Henry Hub natural gas, weekly US crude oil ending stocks and working natural gas in storage in the lower 48 states. Read three times a day, at 01:36, 17:36 and 21:36 UTC; spot prices are posted in weekly batches, inventories weekly. Energy data from the U.S. Energy Information Administration (EIA). - U.S. Bureau of Labor Statistics: BLS's Public Data API: the Consumer Price Index less food and energy (core CPI), and from the Employment Situation the U-6 unemployment rate, the labor force participation rate and average hourly earnings on private payrolls, each read at 8:30 a.m. New York time on its release day, with every revision BLS publishes kept; and, in macro.snapshot's release state, total nonfarm payrolls, the unemployment rate and the CPI for all items, each as published and revised. Monthly, on each release day of the Employment Situation and the CPI. Source: U.S. Bureau of Labor Statistics. BLS.gov cannot vouch for the data or analyses derived from these data after the data have been retrieved from BLS.gov. - U.S. Department of Labor: The Employment and Training Administration's weekly Unemployment Insurance claims release: initial claims and their 4 week moving average, seasonally adjusted, each as first published and as revised the next week, in macro.snapshot's release state. Weekly, on the Thursday release. Source: U.S. Department of Labor, Employment and Training Administration, weekly claims release. - U.S. Census Bureau: The Census Data API's Economic Indicators time series (MARTS), from the Advance Monthly Sales for Retail and Food Services report (the Advance Monthly Retail Trade Report on the release schedule page): total retail and food services sales, seasonally adjusted, and the Bureau's own percent change from the prior month, each as first published and as later revised, in the release state; and from the release schedule page, the date and time of the next release, in macro.calendar's scheduled releases (dates only). Monthly, on the advance report's release morning. This product uses the Census Bureau Data API but is not endorsed or certified by the Census Bureau. Source: U.S. Census Bureau, Advance Monthly Retail Trade Report release schedule. - U.S. Bureau of Economic Analysis: BEA's release schedule: the date and time of the next Gross Domestic Product and Personal Income and Outlays releases, in macro.calendar's scheduled releases. Dates only, with no figure from either release. The year's schedule, typed from BEA's page. Source: U.S. Bureau of Economic Analysis, release schedule (https://www.bea.gov/news/schedule). - Eurostat: Eurostat's Harmonised Index of Consumer Prices for the euro area (19 countries, a fixed composition, all items, 2025 = 100), read from its own dissemination API: the newest month as Eurostat's flash estimate, named as one, until the final figure replaces it, in macro.calendar and as the metric eu-cpi. Monthly; the flash estimate about two weeks before the final figure. Source: Eurostat. - BIS: The Bank for International Settlements Data Portal: its global liquidity indicators (WS_GLI), US dollar credit, loans and debt securities, to nonbank borrowers outside the United States, quarterly; and its central bank policy rates (WS_CBPOL), the Bank of Japan's policy rate for each day, which the BIS compiles naming the Bank of Japan as its source. Quarterly, checked on the 1st of each month (global liquidity); read daily (the policy rate). Source: BIS. - Korea Customs Service: Korea Customs Service's own first 20 days release, read from its press release board: Korea's exports and semiconductor exports for the month's first 20 days, each release checked against its PDF and its page before it is kept, and stamped with the time it was released. Monthly, read on days 21 to 31 until the month is stored. Source: Korea Customs Service, each release named by its title and date. - SEC EDGAR: The Securities and Exchange Commission's EDGAR filings: the Bitcoin holdings public companies report in their own annual, quarterly and current reports, for the treasury briefing, where each company's figure names its filing; and for the USA company briefings, each company's annual and quarterly reports, its results press releases and the Schedule 13D and 13G covers filed on it, each figure dated by its filing. Weekly, read Sundays. Filed holdings from SEC EDGAR. - EDINET: The Financial Services Agency of Japan's electronic disclosure system, read through the EDINET API: the annual and half year securities reports of the treasury roster's EDINET filers (Metaplanet), from which btc.treasury's financing section reads senior claims, the part due within 24 months and the bitcoin count. The figures are served in dollars at a stated yen rate, with the senior claims also given in yen as filed. And for Japan's company briefings, each listed company's securities reports and other filings, each figure dated by its filing. Daily at 06:30 UTC. Source: EDINET site (https://disclosure2.edinet-fsa.go.jp/WEEE0010.aspx) PDL1.0 (https://www.digital.go.jp/en/resources/open_data/public_data_license_v1.0). Created by PreReason based on EDINET site (https://disclosure2.edinet-fsa.go.jp/WEEE0010.aspx). - Finnhub: Prices of 52 exchange traded products: 51 funds, from equity index, sector and factor funds to bond, currency, commodity, volatility and Bitcoin funds, and one exchange traded note, VXX. Every 15 minutes during US market hours. Market data provided by Finnhub. - Yahoo Finance: Daily trading volume for 56 exchange traded products, 55 funds and one note (Finnhub's 52 and USO, UNG, FXE and FXY), and the ETF closes stored from Yahoo Finance before Finnhub, which the price histories and percentiles still read. Business days, after the US close. ETF volume and earlier ETF closes from Yahoo Finance. - CoinGecko: Bitcoin price, market cap and 24 hour volume aggregated across exchanges, each day's closing Bitcoin price, Bitcoin dominance, Ether's price and 24 hour volume with each day's closing Ether price, Tether (USDT) market cap and dominance, and the public company Bitcoin holdings estimates in the treasury briefing. Every 30 minutes, and at each daily close (price, market cap, volume, dominance and USDT); daily (holdings). Powered by CoinGecko. - Coinbase: The Bitcoin spot price on the runs that do not ask CoinGecko, and the Ethereum spot price, from the Coinbase Exchange public API. Every 2 minutes. Price data from Coinbase. - mempool.space: Bitcoin network statistics from the mempool.space public API: hash rate, difficulty, block fees and the mempool. Every 10 to 30 minutes. On chain data from mempool.space. - Blockchair: The Bitcoin transaction count and the USD value of transaction outputs over the last 24 hours, change included. Every 30 minutes. Transaction data from Blockchair. - Coin Metrics: Bitcoin active addresses from Coin Metrics Community Data (AdrActCnt), every day from 2009-01-09. Daily. Source: Coin Metrics Community data (AdrActCnt). - Deribit: Bitcoin and Ethereum 30 day implied volatility (the DVOL indexes) from the Deribit public API. Every 6 hours. Implied volatility from Deribit. - OKX: Bitcoin and Ether perpetual swap funding rates and open interest, from OKX's public API. Every 8 hours. Derivatives data from OKX. - Farside Investors: Daily net flows of the US spot Bitcoin ETFs (IBIT, FBTC, GBTC and the rest combined), from Farside Investors' published flow table. Daily at 22:20 UTC, reconciled Saturdays. ETF flow data from Farside Investors. - stockanalysis.com: Share prices from stockanalysis.com's public list and company pages: each covered company's close, adjusted for splits and never for dividends, for the company briefings in every live market and the commodity producer briefings, with the figures built on it (market capitalisation, the price multiples and free cash flow yield), each naming stockanalysis.com; and the assets under management of the US spot Bitcoin ETFs, fund by fund and in total. Share prices every 15 minutes; ETF assets daily at 22:25 UTC. Share prices and ETF asset data from stockanalysis.com. - Lido: Lido's stETH APR, its 7 day average, from Lido's API, named as Lido's. Daily. Source: Lido. - World Bank: The World Bank's Commodity Price Data (The Pink Sheet): the monthly average prices of gold and silver per troy ounce, LME grade A copper and US soft red winter wheat per metric ton, in nominal US dollars. Monthly, read on the first seven days of each month. Source: World Bank, Commodity Price Data (The Pink Sheet), CC BY 4.0. - DART: The Financial Supervisory Service's electronic disclosure system, read through the Open DART API: Korean listed companies' disclosures and the financial statements in their periodic reports, for Korea's company briefings. Through the day, as DART lists each disclosure. Company filings from DART (Financial Supervisory Service, Korea), read through Open DART. - filings.xbrl.org: XBRL International's index of companies' annual reports in machine readable form: for the company briefings of the UK, France, Austria, Belgium, Denmark, Finland, Iceland, Italy, Lithuania, the Netherlands, Slovenia and Slovakia, each company's annual report, its figures served in the company's own reporting currency. Annual, one report a year for each company. The company's annual report, as published through filings.xbrl.org. - Ministry of Finance, Japan: The 10, 30 and 40 year Japanese government bond yields for each Tokyo business day, from the Ministry of Finance's JGB interest rate file. Daily. Source: Ministry of Finance, Japan (Interest Rate, JGB). Stored history, from providers production no longer asks: - Blockchain.com: Stored Bitcoin history from before production moved to mempool.space, Blockchair and Coin Metrics: difficulty, fees, hash rate and transaction counts from 2009, and the Bitcoin price from 2010-08-18 to 2025-08-31. Not asked since 2026-09-26. Earlier Bitcoin history from Blockchain.com. - Kraken: Bitcoin prices from 2026-08-28 and 29, written while CoinGecko was rate limited; the price history serves one of them as the 2026-08-28 daily close. Not asked since 2026-09-26. One Bitcoin daily close from Kraken. Also read, and served in no answer: Circle. --- ## Evidence: Backtest Results 7 simulated Bitcoin backtests over one window, 1 September 2025 to 21 March 2026 (202 days), measuring whether PreReason briefings change an AI agent's trading decisions, with the briefings revised between runs. Simulated results, not a forecast; past results do not promise future ones. ### Results Summary | Run | Name | Ticks | Arms | Delta | Model | |-----|------|-------|------|-------|-------| | 1 | First Run | 91 | 3 | +5.28pp | Opus 4.6 | | 2 | Second Model | 83 | 3 | +4.46pp | Sonnet 4.5 | | 3 | Briefing Restructuring | 181 | 3 | +5.34pp | Opus 4.6 | | 4 | Four Briefing Set | 185 | 3 | +14.90pp | Opus 4.6 | | 5 | Run 4 Repeated | 187 | 3 | +14.77pp | Opus 4.6 | | 6 | First 4-Arm Run | 187 | 4 | +12.69pp | Opus 4.6 | | 7 | Largest Gap | 202 | 4 | +15.97pp | Opus 4.6 | ### Key Findings - Briefings arm against the price only arm: +4.46 to +15.97 points across the 7 runs - Run 2 ran on Sonnet 4.5, the other runs on Opus 4.6 - Three arms in every run (briefings, price only, stale briefings); runs 6 and 7 added a web search arm - In the two runs with a web search arm, the briefings arm ended ahead of it: +2.24 points in run 6, +9.38 points in run 7 - All ticks run after the model's training cutoff (August 2025) - Briefings tested: btc.energy, cross.regime, cross.breadth, btc.momentum ### Methodology - Each tick runs in a fresh Claude Code agent with no memory of prior ticks - Same LLM, same rules, same fees, same tick frequency across all arms - Portfolio carryover via deterministic disk replay - No human intervention: agent decisions are never overridden - Each tick's action is recorded, with the model's reasoning where it gave one ### Evidence Pages - Evidence Hub: https://www.prereason.com/evidence - Research (three-gear system, findings): https://www.prereason.com/evidence/research - Methodology (simulated backtest design): https://www.prereason.com/evidence/methodology - Tick-by-Tick viewer: https://www.prereason.com/evidence/ticks - Individual runs: https://www.prereason.com/evidence/run/1 through /evidence/run/7 --- ## API Changes - 2026-10-16: A correction for companies whose SEC filings moved from IFRS to US GAAP. Their company briefings' numbers and statement history (`GET /api/companies/{company}/numbers?history=true`) served some IFRS figures inside US GAAP lines. No line now mixes the two standards, and the statement history says when IFRS periods are left out, so some histories, and the valuation history read from them, are shorter. Earlier answers' histories, changes and percentiles across the move differed. - 2026-10-16: `equities.company`, some companies in Japan: debt ratios, net debt, return on invested capital and the growth of debt lines now serve for dates whose balance sheet shows no borrowing, built on the zero debt served for those dates. No field changes. Earlier answers differed. - 2026-10-16: `equities.company`, USA companies: computed book value per share figures struck where the company's shares changed during the period are removed, so book value per share peer standings and medians no longer count them, and a company's own history of the measure drops those periods; earlier answers differed. No field changes. - 2026-10-16: `equities.company`, some companies in Japan: book value per share growth now compares each year with the prior year as the newest report states it, so a share split or restatement between reports no longer moves it. No field changes. Earlier answers differed. - 2026-10-16: `equities.company`, some companies in India: where the company's own results give the share count only roughly, through a share capital figure rounded to the crore, the share count is no longer served, nor the market capitalisation and other figures built on it. No field changes. Earlier answers differed. - 2026-10-16: `equities.company` and `get_news`: the documents (llms.txt, llms-full.txt, the OpenAPI file and the MCP README) now name the LEI as the address of a company filing in the UK or a European company, as the API already reads it, and say what such a briefing gives. No field changes. Earlier documents did not name it. - 2026-10-16: `equities.company`, some companies in Korea and some filing with the SEC: where a company's filing gives no gross profit line for a year, gross profit now serves as revenue less cost of revenue for that year, marked as derived; earlier answers differed. In JSON, a gross profit may now carry `derivedGrossProfit`; no other field changes. - 2026-10-15: `list_briefings`: a company search by name now finds names written with accents, and names in lower case searched on their own or hyphenated, such as "Hermès" or "rolls-royce", as it finds "Hermes" or "Rolls-Royce"; earlier answers differed. Company addresses for `get_context` are unchanged. - 2026-10-15: `equities.company`, some companies in Korea, Austria and the USA: a cost of revenue that was the company's total operating expenses is no longer served, nor the days inventory and days payable figures struck on it; earlier answers differed. No field changes. - 2026-10-15: `equities.company`: for some companies filing annual reports with the SEC on Form 20-F or 40-F, the year from their newest annual report now serves, where an older quarter served as the newest before; earlier answers differed. No field changes. - 2026-10-15: `get_news`: when `about` is not a company address PreReason reads, such as a company's name, the answer now says so and lists the address forms to use, in place of saying no covered company matches; earlier answers differed. The code `NOT_COVERED` is unchanged. - 2026-10-15: UK and European company briefings (`equities.company`): `_data_quality` counts the news, situations, guidance and segments blocks as seen, as it counts the valuation, since these markets do not read them; `health_score`, `severity`, `blocks_seen` and `blocks_unseen` change, and earlier answers differed. A company served at another address answers `unavailable.reason` "served-at-another-address", and HTTP 404 `ENTITY_SERVED_AT_ANOTHER_ADDRESS` or `COMPANY_SERVED_AT_ANOTHER_ADDRESS`, where earlier answers read "company-held". - 2026-10-15: `equities.company`, USA companies: a computed book value per share withheld since 2026-10-15 serves again unless the company's shares changed during the period; earlier answers withheld some true figures. No field changes. - 2026-10-15: `equities.company`, companies in Japan: a debt the company's own balance sheet shows as none for a date, or as a dash, is now served as zero; the none is marked as derived from the balance sheet. Leases on a sheet showing none are named beside that date's debt figures and ratios, never added into debt. In JSON, a debt figure or ratio may now carry `derivedZero` and `leasesApart`; no other field changes. Earlier answers differed. - 2026-10-15: Company briefings (`equities.company`, `GET /api/companies/{company}`): live on Pro and above for the UK, France, Austria, Belgium, Denmark, Finland, Iceland, Italy, Lithuania, the Netherlands, Slovenia and Slovakia, a company named by its LEI. Figures are from its annual report, in its own reporting currency; no share price; served for today only. Markdown ends "Source: the company's annual report (UKSEF)" or "(ESEF)", JSON `figuresSource`. A figure's day is when its report reached filings.xbrl.org, never a filing day: `newestIndexedAt` (`newestFiledAt` null), `indexedAt`. - 2026-10-15: `equities.company`, USA companies: some peer standings and cohort ranges counted ratio and growth figures of companies filing with the SEC in another currency that divided one currency by another; those figures are now left out, so the standings and ranges changed. Earlier answers differed. No company's own figures change, and no field changes. - 2026-10-15: `equities.company`: some companies filing with the SEC in another currency, among them ASML, Spotify and Ferrovial, now serve their reported figures in that currency, each read from its own SEC filings; earlier answers carried none of their reported money figures. No field changes. - 2026-10-15: `equities.company`, USA companies: a computed book value per share is withheld where the share count it was computed on differs by more than a quarter from the balance sheet count at that date; earlier answers served it. Figures within a quarter are unchanged, and no field changes. - 2026-10-15: `equities.company`, USA companies: some ratio and growth figures, and the peer standings computed from them, now follow the company's current filings and our corrected calculations; they had been kept from before those corrections, so earlier answers gave different values for them. Figures that were already current are unchanged. - 2026-10-15: `equities.company` (`GET /api/companies/{company}` and its blocks, MCP `get_context`): SAP, Deutsche Bank, BioNTech, Fresenius Medical Care, Novartis, UBS, Alcon and Logitech are now covered, each read from its own SEC filings, as other companies filing with the SEC are. SAP, Deutsche Bank, BioNTech and Fresenius Medical Care report in euros, and their figures are served in euros. No field changes. Earlier answers did not cover these companies. - 2026-10-15: MCP get_context now takes a company briefing in the form list_briefings prints, briefing "equities.company/NVDA" (or a company's Japanese, Korean or Indian code in place of NVDA), and answers it as briefing "equities.company" with entity "NVDA". Earlier answers differed: that form was refused with an input validation error, and only the two arguments worked. - 2026-10-15: API keys: when PreReason cannot check a key because of a fault on its side, the answer is now 503 (retry) or 500, not 401. A 401 `INVALID_API_KEY` now means the key itself is refused. Earlier answers could give 401 for a fault of ours. - 2026-10-15: Briefings: the figures under qqq and iwm (and etf-qqq, etf-iwm) are now named as the funds they are, Nasdaq 100 Fund (QQQ) and Russell 2000 Fund (IWM); earlier answers named the indexes, though the figures were always the funds' share prices. The Markdown headings and sentences and the JSON label change; the keys and their values do not. - 2026-10-15: `equities.company` on a past date: Indian figures are described as from the company's own published results, those filed with the SEC say so, and the SEC's filing day is never given as PreReason's reading day; earlier answers differed. They are still taken as public by the results deadline. - 2026-10-15: Company briefings (USA and Japan; `equities.company`, `GET /api/companies/{company}`, MCP `get_context`): where a company changed its accounting standard, the line naming the change now takes its year from the company's own annual reports. Where its first report under the new standard restated the year before, the line says so, and JSON adds `restatedFrom`. JSON gives `from` only where the line names a year. A dated answer reads only the reports filed by its date. Earlier answers could name a different year. - 2026-10-15: MCP tools (`tools/list`): get_context, get_metric and get_news now read "Needs a PreReason account: a signed in connection or an API key." and get_changes says the account needs basic access or above; earlier descriptions named an API key alone. get_metric's description no longer speaks of decision making. A fault on PreReason's side now answers with a request id and support@prereason.com in place of "Internal server error"; the error code is unchanged. - 2026-10-15: Briefing descriptions (`list_briefings`, the opening line of each `get_context` answer, the briefing pages): several Bitcoin and currency briefings now describe their contents in plain factual terms, without trading phrases. Factor Attribution (`btc.factors`) names every series it reads, including the 30-year Treasury yield, the S&P 500 fund and a long Treasury fund, and FX Liquidity names the pairs it correlates. Earlier descriptions left these out. The figures served are unchanged. - 2026-10-14: `equities.company`, the numbers block on a past date (`date`), in Markdown: a Korean or Japanese half year or quarter figure taken from a later report now reads "Basis: taken as public by , the day we take for such a report (see the deadline line); value as later stored." Earlier answers called that day the filing deadline, though a company's own deadline can come sooner; the deadline line names both. Year figures and Indian figures are unchanged. - 2026-10-14: Briefing answers in JSON: where a metric's short key holds another catalogue series, the metric now carries `instrument` and `label`, naming that series as printed. The key `dxy` holds the share price of the UUP dollar fund (`etf-uup`), not the level of the dollar index (DXY); the Markdown already headed it "Dollar Fund (UUP)". Earlier JSON answers named no instrument for such a key. Keys are unchanged. - 2026-10-14: Indian company briefings (`equities.company`, `GET /api/companies/{company}` and its numbers block, MCP `get_context`): where a company's figures come from its standalone results, the numbers block's basis line now reads "Figures are from the company's standalone results." The `statementBasis` field, still `standalone`, and the figures are unchanged. Earlier answers' wording differed. - 2026-10-14: Metric descriptions (`GET /api/metrics` and the metric list in llms-full.txt): the CFTC Commitments of Traders net positions, the New York Fed primary dealer Treasury net position and the summed bitcoin ETF assets under management are now described as PreReason's calculations from their publishers' data, as each figure's source line names them. Earlier descriptions called them the publishers' own figures. The values are unchanged. - 2026-10-14: Briefings in Markdown (MCP `get_context`, `GET /api/context`): the header's shared "Data as of" line now names the figures it dates. Each figure now names its own source, and a figure PreReason calculates says so and names the publishers of its inputs, so Markdown answers run a little longer. The Sources line now names those publishers too; its notices are unchanged. JSON already carried each figure's timestamp and source, and is unchanged. - 2026-10-14: Company briefings (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): a share count or earnings per share served while a newer period of it is withheld now says "a newer figure is withheld", and carries `newerWithheld` (that period) in place of `staleness`. The closing line lists a figure whose block still serves some periods under "Some periods not covered", apart from "Figures not covered". Earlier answers could call such a figure the newest stored. - 2026-10-14: USA company briefings (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): return on invested capital now serves for some fiscal fourth quarters where it read 0% or was missing. Other ratios and growth rates missing at those companies now serve too. Earlier answers differed. - 2026-10-14: Company briefings (`GET /api/companies/{company}/{block}`, MCP `get_context` with `block`): a single block answered in JSON now carries `coverageExit`, the exit notice with its statement and `cause`, as the whole briefing's JSON does, and on a past date from the exit's day. Earlier block answers in JSON omitted it; their Markdown already stated the exit. - 2026-10-14: Company briefings (`equities.company`, `GET /api/companies/{company}/numbers?date=YYYY-MM-DD`, MCP `get_context` with `block` "numbers" and `date`): on a past date, the numbers block's `newestFiledAt` is now the newest filing day, on or before that date, that its figures rest on. A figure taken from a later report for a period reported by that date now reads "Basis: period reported {day}; value as later stored". Earlier dated answers could name a later filing day there. - 2026-10-14: Companies in Japan (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): where a later annual report restates per share figures after a stock split, the restated figures serve. An earlier per share figure it does not confirm, every share count before the split, and a per share ratio on such a count are not served, and a sentence names those periods. Growth rates across the two bases leave the trend, its acceleration and its peer rank. Earlier answers could mix two bases. - 2026-10-14: Market briefings with a release state (`macro.calendar`, `macro.snapshot`; MCP `get_context` and `GET /api/context` with `date`): on a past date, initial jobless claims and their 4 week average now serve as each weekly U.S. Department of Labor release printed them, the advance figure and, from the next week's release, its revision, kept back to 2003. Earlier dated answers differed. - 2026-10-14: Company briefings (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): a filed earnings per share about a thousandth or a thousand times the company's own net income over its count of shares outstanding on its cover is now withheld also where that cover count withheld the company's share count for the same period. Answers from the change of 2026-10-13 until this one still served such a figure. No field changes. - 2026-10-14: Companies in Korea (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): the numbers block now says which statement its newest figures come from, the company's consolidated statements (the group) or its separate statements (the parent company alone), except where its line on the two statements already names both. It carries `statementBasis` (`consolidated`, `separate` or `mixed`), as an Indian company's does; `separate` is a new value. - 2026-10-14: USA company briefings (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): an acquired company leaves coverage on the day it filed an 8-K reporting a completed merger and a change in control, not when an index later drops it. The exit notice gains `cause` ("index" or "completed-merger"); `leftIndex` is null for a merger. Dated answers state an exit only from its day, counting its age to that day; earlier dated answers used today's state. - 2026-10-13: Companies in Korea (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): some companies' 2026 figures now come from their consolidated statements (the group), where earlier answers gave the parent company's separate statements. Their earlier separate figures are left out of those measures' series, and the numbers block says each measure keeps the statement of its newest figure. No field changes. - 2026-10-13: Companies in Korea (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): where a company's figures come from both its consolidated statements (the group) and its separate statements (the parent company alone), each measure now keeps the statement of its newest figure. The other statement's figures are left out of its series, nothing is compared, totalled or averaged across the two, and the numbers block says so. Earlier answers could compare the two, or named the wrong statement. No field changes. - 2026-10-13: `equities.company`, companies in the USA (`GET /api/companies/{company}` and its blocks, MCP `get_context`): the quarterly and annual reports and results releases of JPMorgan Chase, Bank of America, Morgan Stanley, Goldman Sachs, Citigroup, Jefferies and Wells Fargo now reach back five years, where they reached about one; CoreWeave's reach back to its first report. A next results estimate appears where one was missing, and a dated read lists those filed by then. No field changes. Earlier answers left these out. - 2026-10-13: Bitcoin on chain metrics (`GET /api/metrics/{metric}`, MCP `get_metric`; hash rate, difficulty, transaction count and volume, active addresses, Hash Ribbon): `data_quality.expected_frequency` and the Markdown updates line read "daily, up to 2 days behind". Earlier answers named mempool.space, Blockchair and Coin Metrics for each; each reads one of them, or for Hash Ribbon is calculated from one, and `source` says which. No field changes. - 2026-10-13: on `GET /api/companies/{company}`, `GET /api/companies/{company}/{block}` (the profitability block) and `equities.company/` (on `/api/context` and MCP `get_context`), `return_on_invested_capital` has no value for a period whose income tax expense is at least its pre-tax income, as for a period with a pre-tax loss. Earlier answers served 0% for such a period and ranked it. Its peer standings and own-history percentiles move with it. No field changes. - 2026-10-13: the `date` parameter's description on MCP `get_context`, `GET /api/context` and the numbers block's door now says what a date returns: the answer as of the end of that day for the periods released by then, each figure saying when it was public or that it may be a later revision, and that a period's latest figures come from a read with no date. Earlier descriptions said every value was the one released by then. No answer changes. - 2026-10-13: USA company briefings (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): where PreReason has read no results release from a company in 400 days, only its 10-Q and 10-K, the next results line gives an estimate from those filing days, marked as an estimate and not a date the company announced, with `detail.history` "periodic-report". No other line changes. - 2026-10-13: Company briefings (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): a filed share count or earnings per share about a thousandth or a thousand times the company's own figures (its cover count, or what its net income implies) is no longer served, nor any figure computed from it: a per share ratio, a growth rate that reads it, and that rate's peer rank. The numbers block names each figure withheld. Earlier answers could serve such a figure as the company's own. - 2026-10-13: USA company briefings (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): share count and per share growth trends no longer compare across a stock split. A stored rate whose window spans a split, or whose two figures were filed either side of one, is left out of the trend, its acceleration and its peer rank, and the split's own line names the split. Earlier answers could read a split as growth. No field changes. - 2026-10-13: `bitcoin-active-addresses` serves Coin Metrics' own active address count (AdrActCnt), one figure a day from 2009-01-09, its first nonzero day, on `GET /api/metrics/{metric}`, MCP `get_metric` and the briefings that carry it. Earlier answers served that count multiplied by 0.756, so values now read about a third higher, and its trends, percentile and correlations (btc.on-chain, with transaction volume) move with them. No field changes, and no other metric's values change. - 2026-10-13: dated answers (`/api/context` and MCP `get_context` with `date`): `known_basis` says `release_schedule` where the time is PreReason's rule from the publisher's schedule (the New York Fed's reference rates and fed funds, EIA-930's history, Korea's 20 day exports) and `fetched` where it is PreReason's own read (EIA-930's newest days); earlier answers said `released` for those. The dated line reads the same way. No time changes. - 2026-10-13: USA company briefings (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): when a company's estimated next results day has passed with no results release or periodic report read around it, the next results line says so, where it printed nothing: "no current estimate. The day estimated from the company's own reporting intervals, , has passed, and PreReason has read no results release from the company since (an 8-K under Item 2.02)." A new `detail.kind`: "estimate-passed". - 2026-10-13: company briefings of companies in the USA (`equities.company`, `GET /api/companies/{company}`, MCP `get_context`): where a company states a non controlling interests' share and no owners' figure that a second line confirms, its profit is served as "Total profit (any non controlling interests' share included)" (the measure `profit_total_stated`), and the margins, returns and payout struck on it are withheld. Earlier answers served that total as net income. No field is added. - 2026-10-13: an Indian company briefing's statement blocks (`equities.company/` on `/api/context`, `GET /api/companies/{company}` and `/{block}`): `approvedOn`, and the "approved by the board" dates, now name the approval of the statement behind each block's own newest figures. Where those figures come from statements approved on different dates, the block names no approval date and gives the day PreReason read them. Earlier answers named an older statement's approval date for some companies. - 2026-10-13: bonds.full and bonds.context: the holder groups' Markdown table heads its last column "Public by (UTC)" and marks each time by whose it is: the publisher's own release time unmarked (Treasury for foreign investors, the CFTC for speculators), PreReason's first read "(our read)" (the primary dealers), and, where PreReason first held a figure more than two weeks after its date, that date plus two weeks, "(two weeks after its date)". Earlier answers headed it "Known". No field changes. - 2026-10-13: the Range line (`stored_range`) on `GET /api/metrics/{metric}`, MCP `get_metric` and the briefings, for SPY, QQQ, IWM, UUP and VXX: a dated read's stored high and low no longer count a month's or week's close before that period ends, and a stored high or low that is such a close is named by its period, with a new `basis` and, as `date`, its month (for VXX, the week's first day). Earlier answers named such a close by its period's first day. - 2026-10-13: company briefings of companies in Japan and Korea (`equities.company`), the situations on ten filing types (share buyback, extraordinary and tender offer reports in Japan; treasury share, largest shareholder, merger or tender offer and review opinion reports in Korea): the sentence says PreReason does not read a detail from the report, where it said the form type does not state it. Situations already on record read the new sentence too. No field changes. - 2026-10-13: macro.auctions' Markdown table heads its last column "Public by (UTC)" and marks each time by whose it is: Treasury's own release time unmarked, PreReason's first read "(our read)", and, where PreReason first held the result more than a day after the auction, the close plus one day, "(one day after the close)"; a line under the table says so. Earlier answers headed it "Known" with no mark. The JSON is unchanged (`known_since`, `known_basis`). No field changes. - 2026-10-13: companies in Japan and Korea, the numbers block and its history (`equities.company`, `GET /api/companies/{company}` and `/numbers`): a year an annual report states that is not twelve months (a transition year after a change of fiscal year end) is served as a year with its days and start, in new fields `years[].periodStart`, `years[].shortYear` and a `periodUnit` of " days". Earlier answers left such years out, and a growth trend could read a half year's rate among annual rates. - 2026-10-12: `equities.company`, companies in the USA (`GET /api/companies/{company}` and its blocks, MCP `get_context`): where a company's own amendment (a 10-K/A or 10-Q/A) restates a figure of the report it amends, the figure is served as the amendment states it and cites the amendment, except where another report's figure for that date is served; and a period the amendment states is served where none was before. Earlier answers served those figures as first filed. No field changes. - 2026-10-12: in a dated read of `macro.snapshot` or `macro.calendar`, around the 2025 and 2026 federal funding lapses, a date before a revised BLS release (the Employment Situation, the Consumer Price Index) no longer names that release's date, which was not yet announced; `next` is null. Earlier answers named it. No field changes. - 2026-10-12: treasury holdings (`GET /api/treasuries`, `GET /api/treasuries/{ticker}`, `btc.treasury`, live and dated): a count PreReason read from a company's quarterly or annual report that does not match that report is no longer counted. Where an answer would use it, the company is listed in `withheld` with the reason and the filing, and left out of that answer's totals. Earlier answers counted those figures. - 2026-10-12: briefing correlations (`/api/context`, MCP `get_context`) measure a funding rate, a net flow, a net position and the carry velocity on their change (in points, US dollars or contracts), whatever their sign, as they do yields and spreads. Earlier answers read such a leg in percent while it stayed above zero. For example, commodities.gold's GLD vs the COT net position on 2026-10-11's closes read 0.25 and now reads 0.21; its label holds. No field is added or removed. - 2026-10-12: company briefings (`equities.company`, `GET /api/companies/{company}`): a debt figure that is one line the company filed, or a sum of its filed lines, prints at the filer's own precision in `valueFormatted` and the Markdown, as other filed figures do ("Long-term debt of $32,366M", where earlier answers read "$32.4B"). It covers debt due within a year, long-term debt and their parts. Any other debt figure PreReason computes keeps the house form. `value` does not change. - 2026-10-12: company briefings (`equities.company`, `GET /api/companies/{company}`), wording only, no figure changes. A growth line with a fitted slope names its window ("2.03 points a quarter across the last 8 quarters"). Every ratio over an averaged balance says so in `label` ("Return on average equity"), keys unchanged. A revised guide names its measure in words and dates both statements by their filings. Earlier answers stated the window once per block, left out "average", and dated only the new guide. - 2026-10-12: an Indian company briefing's statement blocks (`equities.company/` on `/api/context`, `GET /api/companies/{company}` and `/{block}`) serve `approvedOn`, a new field: the day the board approved the statement behind the newest figure, as the statement prints it. The markdown reads "approved by the board ". Where no approval date is read, a block carries none and reads "read by PreReason " as before. A figure from an Indian company's 6-K keeps `filedAt` and carries no `approvedOn`. Other markets are unchanged. - 2026-10-12: briefing correlations (`/api/context`, MCP `get_context`) measure a yield, breakeven, policy rate or yield spread on its daily change in points, whatever its sign; other series, funding rates and net flows too, keep their basis. Earlier answers read such a leg in percent while it stayed above zero, so some coefficients differed by at most 0.03 and one `macro.rates` label differed. The footnote names each such leg, and JSON `absolute_legs` lists it; no field is added or removed. - 2026-10-12: treasury holdings (`GET /api/treasuries`, `GET /api/treasuries/{ticker}`, `btc.treasury`): a tracked company whose count from our source is above its own reported total can be withheld. A new `withheld` field lists it with the reason and the filing; it is not in `holdings` or the totals, and the single route answers 200 with `holding: null` and `withheld`, and no mNAV. Fold Holdings (FLD) is withheld; earlier answers counted it, and dated reads from 2026-08-12 on now leave it out too. - 2026-10-12: in a dated read of `macro.snapshot` or `macro.calendar`, Release State names a next release only when it is the one right after the latest release shown. Earlier answers for dates before mid December 2025 named the first release of the calendar PreReason holds instead. Such a read now names none: `next` is null in JSON; `macro.snapshot` prints no Next release line for that program, and `macro.calendar` says the calendar starts at the December 2025 data. No field changes. - 2026-10-12: macro.calendar names Treasury's next quarterly refunding release, on the day its refunding documents page schedules: "Next release: Wednesday 2026-11-04 (the refunding policy statement and its documents).", with no time (the page gives none), the page and the day it was read. A dated answer now names no date from a page read after its day; earlier answers dated before a list was read named its dates. No field changes. - 2026-10-12: the numbers block at a past date (`GET /api/companies/{company}/numbers?date=` and MCP `get_context` with `block: "numbers"` and `date`) names a period it leaves out in new words: "Our store does not show the period ended as public by that day, so its figures are left out of this date." It read "The period ended is not dated in our store" in earlier answers. Which periods are named, and which figures are left out, is unchanged. - 2026-10-12: PreReason's descriptions no longer call its figures signals: the briefing and metric descriptions, the MCP server's instructions, `get_context`'s description and the MCP prompts, openapi.yaml, the agent card (`/.well-known/agent-card.json`), `/.well-known/ai-plugin.json`, the x402 descriptions and these files. llms.txt also no longer lists a portfolio or trading use for a briefing. A briefing carries "trends, confidence scores and cross-asset correlations", and the prompts' "Key Signals" and "Top Signals" read "Key Trends" and "Key Points". The `signal` field (`interpretation.signal`) and its values are unchanged. - 2026-10-12: `equities.company`, companies in Japan (`GET /api/companies/{company}` and its blocks, MCP `get_context`): figures for fiscal years and half years that ended on 29 February 2016, 2020 and 2024 are dated 29 February. Earlier answers dated some of them 28 February, and a few values at those dates differed. Some share counts and per share figures still stand at 28 February for now. No field changes. - 2026-10-12: every metric sentence (briefings, `GET /api/metrics/{metric}` and MCP `get_metric`) names the rule behind a direction its label memory holds, where it read "near the ±x line": "flat: a new direction needs the change more than a quarter past its ±x band", or ", held until the change falls back inside three quarters of its ±x band". The rule is stated under Signal Interpretation and on `direction` in the OpenAPI spec. No field changes. - 2026-10-12, four H.10 exchange rates by name: `krw-usd`, `inr-usd`, `gbp-usd` and `chf-usd` join the metric list, on `GET /api/metrics/{metric}` and MCP `get_metric`. Each is one of the Federal Reserve Board's own daily rates from its H.10 release, read from the same file as `eur-usd`, `jpy-usd` and `cny-usd` (the Board's FRB_h10_xml.zip, posted each Monday with the week's business days; no FRED read), stored under the Board's series and named for it: `krw-usd` (won per US dollar, USD/KRW), `inr-usd` (rupees per US dollar, USD/INR), `gbp-usd` (US dollars per pound, GBP/USD) and `chf-usd` (Swiss francs per US dollar, USD/CHF). Each answer prints the rate to the places the Board quotes it ("1345.75", "96.31", "1.3234", "0.8293") and is graded as the other H.10 rates are. Each carries the Board's daily history from 1971 for the pound and the franc, 1973 for the rupee and 1981 for the won. No briefing lists them, so a Basic key reads all four in full: 253 of the 293 metrics in full on Basic, and the latest reading of the 40 that only Pro briefings use. No metric changes tier, and no briefing's Markdown or JSON changes. - 2026-10-12: `equities.company`, companies in the USA (`GET /api/companies/{company}` and its blocks, MCP `get_context`): the rebuild in full announced on 2026-10-11 has run for derived quarters. A quarter derived from two cumulative figures that mixed two versions of a report (the larger restated in a later report, the smaller the version first filed: for example a year restated years later less nine months as first filed) now takes both figures from one basis, the report that first filed the larger figure and the smaller figure as it stood then, and cites that report: 55,815 quarters at 2,589 companies, most of them cash flow lines and expenses. 21,166 moved by more than 25% and 16,561 by more than 50%; 6,024 changed sign, 4,759 of them from below zero on a line that is never negative. Capital expenditure that PreReason composes from such a quarter was composed again: 3,296 figures at 1,221 companies. Against the counts of 2026-10-11: of the 98,954 derived quarters at 2,625 companies counted then as changing, 58,776 changed in this step and 604 already served the one basis figure. 36,424 had both figures restated in later reports; they keep the later report's basis, as served, and do not change, so the 2026-10-11 count should not have included them, and 2,801 capital expenditure figures composed from them keep it too. 171 keep the figure served before, because the one basis figure fails the check (below zero on a line that is never negative, or the smaller figure below the year's earlier cumulative), more than one figure is built for the period, or another tag's figure ranks first; 178 are served as before. Of the 1,838 quarters at 772 companies no longer built, 1,820 keep the figure served before, 12 already served the one basis figure, 2 changed in this step and 4 had none served. The other 335 figures that changed were not among the 98,954: 203 were counted on 2026-10-11 under scale breaks and other causes, 115 under amended figures, 2 among the 1,838 and 2 at an unchanged value, and 13 not at all. No served figure was withdrawn. The rebuild in full is complete for derived quarters; the amended figures it also covers follow in a separate step, announced here when it runs. No field changes. No event fires for a corrected figure: `company.figures_updated` fires only for a newer period. - 2026-10-12: `dealer-takedown-pct` and `indirect-bidder-pct` serve no signal, no confidence and no percentile (for these two, this replaces "Their rank is unchanged." in the 2026-10-12 entry where they measure no change window). Each reading is the latest note or bond auction of any term, so a trend signal or a rank would set it against auctions of other terms and compare different securities. On `GET /api/metrics/{metric}` and MCP `get_metric`, `interpretation` carries only `not_measured`, a new field: "each reading is the latest auction of any term, so a rank or a trend signal would compare different securities", with no `signal`, `confidence`, `confidence_label` or `factors`. `trend.percentile` is null, with no `percentile_label` and no `percentile_history_days`, and no `stored_range` is served. The Markdown reads "**Signal:** Not measured (each reading is the latest auction of any term, so a trend signal would compare different securities)" and "**Current Status:** Not ranked (each reading is the latest auction of any term, so a rank would compare different securities)", with no confidence, no percentile line and no range line. No briefing carries these two series. Every other series is served as before. No value changes. - 2026-10-12: for a series dated by its month or quarter, `GET /api/metrics/{metric}`, MCP `get_metric` and the briefings' JSON carry `percentile_readings` and `percentile_since` (how many stored readings the percentile was taken among, and the month or quarter of the first, for example 440 and "1990-01") wherever a percentile is served, and `change_30d_from` and `change_90d_from` (the month or quarter each measured change was measured from). Under 24 monthly or 8 quarterly stored readings no percentile is served (`percentile` is null, with no `percentile_label`, no `percentile_history_days` and no `stored_range`), and the Markdown prints no percentile line and no range line. Where no percentile is served, the signal and the confidence read the rank as the middle (the 50th), so the signal, the confidence and the percentile score (`interpretation.factors.percentile_score` on the metric routes, `confidence_factors.percentile_score` in the briefings' JSON) can change: France 10Y's signal moves from above-trend to at-trend. On 2026-10-10 that is 12 series: the ECB's 10 year yields for France, Italy, Spain, Portugal, Greece and Belgium, 11 monthly readings each since October 2025, and their six spreads over Germany. The Markdown reads, for example, "P46 of 440 monthly readings since January 1990" and "+0.12 pp from July 2026", and prints no "7d: not measured" line for such a series. Its range line names months or quarters, not days: "Highest since April 2011, when it read 3.34%. The stored high is 9.09% in October 1990, 5.90 pp above this reading." (`stored_range.statement` reads the same; its dates are unchanged), and its same value line reads "since October 2025" (`same_value.since` is unchanged). No other field changes. - 2026-10-12: `dealer-takedown-pct` and `indirect-bidder-pct` measure no change window (for these two, this replaces the percentage point changes of the earlier 2026-10-12 entry). Each reading is the latest note or bond auction of any term, so a 7, 30 or 90 day change compared two different securities (production served "30d -38.9%" for the dealer share). On `GET /api/metrics/{metric}`, MCP `get_metric` and in a briefing's JSON their `trend` now OMITS each change, `direction` and `momentum`, keeping every `change_*_available` as false and a `data_quality_note` saying why, and the Markdown Trend line reads "Not measured" (`get_metric`: "not measured"). The same holds for any series with no change window measured (one today, `carry-trade-velocity-1d`, in `cross.regime`), where the JSON served a change of 0 and "flat" and the Markdown read "Flat". A series with any window measured is served as before. Their rank is unchanged. No value changes. - 2026-10-12: a company briefing's numbers block reads a past date. `GET /api/companies/{company}/numbers?date=YYYY-MM-DD` and MCP `get_context` with `block: "numbers"` and `date` serve the block, and with `history` its statement history, as known at the end of that day in the company's market (USA Eastern, Japan Tokyo, Korea Seoul, India Kolkata); a date on or after the market's today is today's read. Every figure is chosen by today's rules from the figures known on that day, and carries two new fields. `knownBasis` is `filed` (a copy of the figure was filed by that day; the Markdown says "as filed ", the only basis said that way), `reported` (no copy was filed by that day, but the period's own report was; the value is the one stored today, "value as later stored (may include a restatement)") or `deadline` (Korea, Japan and India only, a period read from a later report alone: "taken as public by , the filing deadline (a company that filed late or with an extension made them public later); value as later stored"). `knownSince` is the filing day, the report's day, or, for `deadline`, the date our deadline rule assumes (never the date a figure became public). The deadlines err late: Korea 90 days after a year (120 for a foreign company listed in Korea) and 60 days otherwise (60 is the limit for a report on consolidated statements in its first two years, and the store does not tell one apart); Japan three months after a year and 60 days otherwise (60 is a bank's or insurer's limit, and the store does not tell one apart); India 45 days after each of the first three quarters and 60 after the fourth quarter and the year. An Indian figure from a company's site is never `filed`: our stored date is the day PreReason read it. A period that ended by that day and that the store cannot date is named, "The period ended is not dated in our store, so its figures are left out of this date.", and its figures are left out; before a company's first stored period the block says from when figures are kept. The plan's history window applies as on every dated read (Basic three years back, Pro every stored date, a paid call any stored date), and the call counts and is priced as an undated one. Where the dated read is not available, the call answers `DATED_READ_UNAVAILABLE` (HTTP 503 on the route) and nothing is charged. The whole company briefing and every other block still take no date. - 2026-10-12: `bitcoin-market-cap` on the Coinbase path changes basis: the Coinbase price times CoinGecko's PUBLISHED circulating supply, read once a day and stored with its time, replacing a fixed 19,830,000 BTC that read about 1.3% below CoinGecko's own market cap (1.26% to 1.32% over the 30 days to 2026-10-10) and fell further behind each day. Its sentence names the supply's date ("(PreReason's calculation: Coinbase's spot price times CoinGecko's circulating supply as of 2026-10-10)"), and the row carries `supply`, `supply_as_of` and `supply_source`. With no supply stored from the last 7 days, that path writes no market cap, and the last one is graded stale by its age. CoinGecko's own path writes no market cap when its answer leaves one out, where it estimated one from the same fixed supply. Rows stored before the change keep their values, and their sentence names the fixed supply they were computed with. In a briefing, such a market cap credits CoinGecko too: the metric's `source_also` (a new field, ["CoinGecko"]) and "Powered by CoinGecko" on the Sources line. - 2026-10-12: every value names its true source, and no sentence reads a yield, a spread or a breakeven as expectations, as conditions or as a cause. (1) A figure PreReason computes says so in its sentence, and over what, while `source` keeps the publisher whose figures it used: the four breakevens ("(PreReason's calculation: Treasury's 5 year par nominal yield less its 5 year par real yield)") and `t5yifr` ("(PreReason's calculation from its 5 and 10 year breakevens, by FRED's published formula)", its "(Fed-watched gauge)" gone); `yield-curve` ("(PreReason's calculation: Treasury's 10 year par yield less its 2 year par yield)", and for a row before 1990 "(the Federal Reserve Board's H.15 Treasury constant maturities, 10 year less 2 year, as FRED's T10Y2Y computes them)"); the 27 COT ranks ("(PreReason's rank of the CFTC's figures; 100 is the most net long)"); `next-treasury-auction-days` ("Next announced Treasury auction on Tuesday 2026-10-13, 3 days after this reading's UTC time (PreReason's count, rounded up; the date from Treasury's Fiscal Data feed)"); `dealer-takedown-pct` and `indirect-bidder-pct`, which had no sentence of their own ("Primary dealers took 6.62% of the total accepted at the 10-Year Note auction of 2026-10-08 (PreReason's calculation from Treasury's auction results: their accepted amount over the total accepted, competitive and noncompetitive)") and which state no 7, 30 or 90 day change, since their newest row is the latest note or bond auction of any term; and, row by row, `bitcoin-market-cap` and `bitcoin-change-24h` on the Coinbase path and `bitcoin-tx-volume` on the Blockchair path ("(PreReason's calculation: Coinbase's spot price times a fixed supply of 19,830,000 BTC)"), while a CoinGecko row keeps CoinGecko's own figure. (2) Where the rank of `yield-curve` or `treasury-10y` is served (`GET /api/metrics/{metric}`, MCP `get_metric`, the briefings), its `source` names both origins the rank counts: "PreReason's calculation from the U.S. Department of the Treasury's Daily Treasury Par Yield Curve Rates; before 1990, the Federal Reserve Board's H.15 Treasury constant maturities as FRED's T10Y2Y computes them", and for the 10 year "U.S. Department of the Treasury, Daily Treasury Par Yield Curve Rates; before 1990, the Federal Reserve Board's H.15 Treasury constant maturities as FRED's DGS10 serves it". A briefing's Sources line names the U.S. Treasury and the Federal Reserve Board for them. (3) 83 tails go. The rising and falling tails of the 14 Treasury yields, the four breakevens, `t5yifr`, the German and Japanese 10 year yields, `yield-curve`, `real-rate-10y`, the three policy spreads, the UK gilt and SONIA ("Tightening financial conditions.", "Short-end pricing Fed tightening expectations.", "Fed tightening or BOJ easing opening the gap", "the opportunity cost of holding gold") end after the changes, which name the direction. Their stable tails ("Consolidating: financial conditions holding.", "long-run inflation expectations anchored") read "Consolidating: the yield held within its band over 7 days." (the breakeven, the rate, the spread) only where the 7 day change was measured and sits inside its band, and otherwise end after the changes, as a COT rank's "Positioning held its place in its six month range." now does. The inverted curve drops "a curve that prices policy easing ahead". (4) The catalogue descriptions of these series say the same, and a Treasury yield's line in the narrative of `cross.regime`, `btc.full` and `macro.rates` prints its move alone, without "tightening financial conditions". No value changes. - 2026-10-12: `equities.company`, companies in the USA (`GET /api/companies/{company}` and its header, MCP `get_context`): announced results dates from 8-K filings. PreReason reads the press release of each covered company's new 8-K under Item 2.02, 7.01 or 8.01 once, after the filing reaches its store, and takes a date only where one sentence states, with the company as its subject, that it will release or report a named period's results on one day, on or after the 8-K's filing date and at most 120 days after it. A conference call's day, a month without a day, another company's date, or two different days are not taken. Such a date is served on the next results line as "on , announced by the company (EDGAR filing of )." (`detail.kind` "announced", `detail.source` "sec-edgar", `detail.documentId` the accession number, `detail.url` the press release), and the earnings window's estimate is not served beside it. Measured over the 8-Ks of 2026-09-11 to 2026-10-11: at least 16 covered companies stated their date this way, against 2,224 companies whose estimate fell within the next 30 days. Most companies state the date elsewhere, such as their own investor page or a newswire, which PreReason does not read. Where no date is read, the estimate's words end "not a date the company announced: PreReason reads announced dates for USA companies only from their 8-K filings, and found none for this company's next results." where they ended "not a date the company announced; PreReason reads no announced dates for USA companies." Japan, India and Korea keep their words. No field is added. - 2026-10-12: the primary dealers' and the indirect bidders' shares of Treasury auctions (`dealer-takedown-pct`, `indirect-bidder-pct`), the share of the 11 sector funds above their 200-day average (`equities-breadth-pct`) and the 30-day implied volatilities of Bitcoin and Ether (`deribit-btc-iv-30d`, `deribit-eth-iv-30d`) are percentages. Their changes are now stated as differences in percentage points, as interest rates' and yields' have been since 2026-10-08: `change_7d`, `change_30d` and `change_90d` are the difference, `change_unit` reads "absolute", and `flat_band` is in points. A move from 55% to 60% reads +5.00 pp, where it read +9.1%. What sets each one's direction is unchanged. The yen carry trade returns proxy (`carry-trade-returns-proxy`) crosses zero, so its changes were already in points and are unchanged. - 2026-10-12, a derivatives series names its instrument: `instrument` is present on a series that measures a futures, swap or options market (`futures`, `swap` or `options`), including a series PreReason calculates from one, and is absent for every other series. It is served on `GET /api/metrics` and MCP `list_metrics` (each list item), and on `GET /api/metrics/{metric}`, MCP `get_metric` and the latest reading answer. A briefing that serves any such series carries `derivatives: true`; it is absent otherwise: on `GET /api/briefings`, `GET /api/context/briefings` and MCP `list_briefings` (each entry), and in the JSON answer's `briefing_metadata`. Today the series with an `instrument` are the CFTC Commitments of Traders series (`futures`), the three `btc-perp` series PreReason calculates from OKX's perpetual swaps (`swap`), and, inside briefings, OKX's funding rates and open interest (`swap`) and Deribit's implied volatility indexes (`options`). Nine live briefings carry `derivatives: true`: btc.momentum, btc.factors, bonds.context, bonds.full, commodities.gold, commodities.silver, commodities.copper, commodities.wheat and eth.context. A fund or note that holds futures (for example UUP or VXX) is a listed security, and its series carries no `instrument`. A briefing answer cached before the change can lack `derivatives` for up to a day. No value, sentence or other field changes. - 2026-10-11: company briefings (`equities.company`, `GET /api/companies/{company}` and its blocks): a figure read as filed prints at the filer's own precision in `valueFormatted` and the Markdown ("$1,554.004M", where earlier answers read "$1.55B"); computed figures keep the house form. A guide stated as a point plus or minus prints in the company's words ("Stated as $108.0B, plus or minus 2%, for Q3 2027."). In the Markdown only, a long filed figure also carries the house scale. `value` does not change. - 2026-10-11: served sentences no longer say that something is not read, stored or covered "yet": each states what is not read, not stored or not covered, with no promise that it will be. Among them are a company briefing's 404 `NOT_COVERED_YET` message ("... none of its financial statements has been read, so it has no briefing."), the block door's 404 `BLOCK_NOT_COVERED_YET` message ("This company's briefing has no {block} block, so it is not served on its own."), the refusal of a statement history ("Statement history is not served for this company."), and absence statements in company briefings (guidance, segments, ratios, valuation, a Korean company's later quarters). `NOT_COVERED_YET`, `BLOCK_NOT_COVERED_YET` and `notCoveredYet` keep their names. No value, field, code or status changes. A briefing cached before the change can carry the old words for up to a day. - 2026-10-11: `equities.company`, companies in the USA (`GET /api/companies/{company}` and its blocks, MCP `get_context`): amendments and derived quarters. Each change reaches a company when its figures are next rebuilt, on its next filing; the counts below were taken on 2026-10-11 over the 3,006 covered USA companies read, as if each were rebuilt that day. A figure the company's own amendment (a 10-K/A or 10-Q/A) restates in the report it amends is served as the amendment states it, and its source names the amendment and its filing date: 3,216 figures at 329 companies (850 move by more than 25%, 583 by more than 50%), 3,017 of them on that rebuild and the rest with the rebuild in full below. A figure the report states itself (not a derived quarter) that an amendment repeats unchanged cites the amendment: 31,209 at 967 companies. An amendment adds no period of its own and replaces only figures from the report it amends: that report must state the period itself, and the newest original filing of that period before the amendment must be that report, so a figure served from any other filing (a later report's comparative column) keeps its source. A quarter derived from two cumulative figures takes both from one basis, the report that first filed the larger figure and the smaller figure as it stood then, so a year restated years later is no longer subtracted from nine months as first filed; the quarter cites that report, never an amendment that only repeats its figures. Where one basis gives a negative figure on a line that is never negative, or a smaller figure below the year's earlier cumulative, the quarter is built from the latest original reports, as served before, if they pass; otherwise none is served for that period, and a fiscal year with such a withheld quarter takes no year figure in its place. 98,954 derived quarters at 2,625 companies change value; most cite a report filed before the one served today, so they change when PreReason rebuilds those figures in full, a separate step announced here when it runs. 1,838 quarters at 772 companies served today are no longer built, and the served figure stays until that rebuild in full. 256 quarters at 100 companies that a scale break in the latest copies had left unserved are served on the next rebuild. A later restatement in a comparative column still does not replace a first filed figure. No field changes. No event fires for a restated figure: `company.figures_updated` fires only for a newer period. - 2026-10-11: for companies in the USA that file their long-term debt as one total holding the part due within a year: where that total equals the part due within a year the company states, long-term debt is served as zero; where the company's balance sheet also states its non-current debt with finance leases inside, below that total, and its own debt due within a year (DebtCurrent) holds the difference, that non-current line is served as long-term debt; otherwise the total stands as filed. Where long-term debt is served as zero or as the non-current line, ratios that add long-term debt and debt due within a year no longer count that part twice. Rows stored before the change follow as they are rewritten. Counted on 2026-10-09 on a copy of the stored data, 428 stored rows at 87 USA companies change when rewritten, and the ratios on them follow. No other field changes. - 2026-10-11: an Indian company's statement dates are named read, not filed. In the JSON of an Indian company briefing (`equities.company/` on `/api/context`, `GET /api/companies/{company}` and `GET /api/companies/{company}/{block}`), a block whose newest date is a statement's has `newestFiledAt: null` and `newestReadAt`, the day PreReason first read the newest statement, where the results statement gives no filing date; a value's or measure's own date is `readAt` in place of `filedAt`, and `jsonNote` says so. A share price's and a market capitalisation's date is still its close's, as `filedAt`. The markdown says "read by PreReason " where it said "recorded ". A figure from an Indian company's SEC filing (its 6-K) keeps `filedAt`, that filing's SEC date, with `filedWith: "SEC"` (and `reportedLater: true` on a prior period's figure from a later filing), and the markdown says "filed with the SEC on ". US, Japanese and Korean briefings are unchanged. - 2026-10-11, the reverse repo's frequency on the metric door: `rrp` and `nyfed-rrp-daily` (the New York Fed's overnight reverse repo, read from its Markets API; the door answers both names with `rrp`'s reading) now serve the New York Fed facilities' freshness frequency on `GET /api/metrics/{metric}` and MCP `get_metric`, in `data_quality.expected_frequency` and the Markdown's updates line: "each business day, after the facility's last operation of the day (the New York Fed's Markets API)". Both read "daily (1-day publication lag; no weekend prints)", FRED's words, for a series not read from FRED. The door answers `nyfed-rrp-daily` as `rrp`, and `rrp` was still graded on FRED's daily list, so the frequency the fourteen series entry below names for `nyfed-rrp-daily` had not reached the door; `rrp` is now graded with the facilities. Their thresholds are FRED daily's (3, 6 and 28 days) and their dated read lag the same, so no freshness status and no dated read moves. - 2026-10-11: a new MCP tool, `get_news`, and its REST door, `GET /api/news`: dated records of what companies filed (for the companies PreReason covers: 8-K items in the USA, EDINET in Japan, DART in Korea) and what federal agencies and the Federal Reserve published (the Federal Register's trade actions and export controls, Treasury buyback operations, the Federal Reserve's monetary policy releases), newest first, each with its source, its date or time and a link. `about` names one company by ticker or ISIN; `kind`, `since`, `until`, `as_of` and `limit` narrow the read; each record is in the window by the date it shows. Every answer names the sources it read, and it states records, not reasons. It needs an API key on any plan: each call counts against the plan, and a refused call (such as a company PreReason does not cover) gives its call back to the day and still counts against the hour, as with the other data tools. The MCP server now lists 7 tools. - 2026-10-11: the closing line of a company briefing's public Markdown (`/api/context`, `/api/companies/{company}` and its block door, MCP `get_context`) reads "Not covered for this company: situations, guidance and news." and "Figures not covered: peer standings and 8 valuation figures." in place of "Not covered yet for this company: ..." and "Figures not covered yet: ...". The words name what the briefing leaves out, with no promise that it will be covered. A briefing cached before the change can close with the old words for up to a day. The JSON field `notCoveredYet` keeps its name and lists the same entries. No other field changes. - 2026-10-11: `metric` in `GET /api/metrics/{metric}`, MCP `get_metric`, the latest reading answer and the late release answer carries the series' public name, the name `GET /api/metrics` lists, for example "treasury-10y", where it carried the stored identifier, "fred_treasury_10y". A request by a short name answers under the listed name it stands for: `dxy` answers as "etf-uup". The stored identifier moves to `stored_name`, a new field. A client that keyed on the stored identifiers (`fred_...`, `ecb_...`, `bis_...` and others) reads `stored_name`. `name` is unchanged and equals `metric`. The late release answer is now described in the OpenAPI document, `MetricLateRelease`. No other field changes. - 2026-10-11, fourteen state block series by name: `auction-dealer-share-2y`, `auction-dealer-share-3y`, `auction-dealer-share-5y`, `auction-dealer-share-7y`, `auction-dealer-share-10y`, `auction-dealer-share-20y`, `auction-dealer-share-30y`, `nyfed-srf-daily`, `eia930-demand-daily-us48`, `eia930-demand-daily-erco`, `eia930-demand-daily-pjm`, `eia930-peak-demand-us48`, `eia930-peak-demand-erco` and `eia930-peak-demand-pjm` join the metric list, on `GET /api/metrics/{metric}` and MCP `get_metric`. Each is a series a live briefing's state block already prints. The dealer shares: the primary dealer share of the competitive awards at each nominal coupon auction of that maturity, in percent, one reading per auction, computed by PreReason from the US Treasury's own auction results (Fiscal Data's auctions query: the primary dealers' accepted amount over all competitive awards); `macro.auctions` and `macro.liquidity` print them. The Standing Repo Facility: the dollars it accepted on a business day over all its operations, from the New York Fed's Markets API; `macro.liquidity` prints it. The Standing Repo Facility's changes are stated in dollars, never in percent, since it often sits at zero: a fall to zero reads "-$2.00M", not "-100.0%". `nyfed-rrp-daily`, the reverse repo, read from the same New York Fed operations, now serves the same freshness frequency on the metric door and its page: "each business day, after the facility's last operation of the day (the New York Fed's Markets API)", where it read "daily (1-day publication lag; no weekend prints)"; its freshness thresholds are unchanged. EIA-930: the Lower 48's, ERCOT's and PJM's electricity demand for a day, in megawatthours, EIA's own daily figure from its Hourly Electric Grid Monitor, and the day's highest hour, in megawatts, the highest of EIA's hourly figures as PreReason reads them (not a figure EIA publishes as the day's peak); `cross.ai-compute` prints them. Each answer prints its unit ("13.19%", "$1.00M", "11,592,622 MWh", "572,123 MW") and is graded by its own cadence: a dealer share stays fresh 38 days after its auction (two auctions of one maturity are up to 37 days apart), an EIA-930 day 4 days after it begins (PreReason stores each day, settled, about 65 hours after it begins; a later EIA revision is not read). The state block series set their tier as listed metrics do, and render nothing: no briefing's Markdown or JSON changes. A Basic key reads the eight `macro.auctions` and `macro.liquidity` print in full; only `cross.ai-compute` (Pro) prints the six grid series, so a Basic or free key reads their latest reading: 249 of the 289 metrics in full on Basic, and the latest reading of the 40 that only Pro briefings use. No metric changes tier. - 2026-10-11: in the markdown, a correlation footnote names each rate leg it read in percent changes ("The 10 year yield's leg is its daily percent change, not a change in points."), on every briefing that measures one: the 10 year yield, the 10 year breakeven, the 10 year real yield, and the 10 year minus 3 month and minus 2 year spreads (today btc.full, macro.rates, commodities.gold, commodities.silver, cross.regime and cross.correlations). A leg read in absolute changes keeps the absolute changes note, whose words now say what holds: "'s window holds a value at or below zero, so it is correlated on absolute daily changes, not percent returns." (it read " reads zero or below, ..."; btc.etf-flows prints it today). Where cross.correlations' 30 and 90 day reads take a leg on different bases, each note names its window. In the JSON, `longer_window.absolute_legs` appears only when that read used points for a leg; nothing else changes. In `cross.regime`, the lean body's Divergence Analysis leaves out its "Correlation Status" line where the Correlation Regime Analysis already prints BTC-SPY's same two readings in its normal range line. - 2026-10-11: a company briefing asked by a listed line that is not the common stock (a preferred share, a note, a warrant, a unit or a right; for example `BHR-PD`, Braemar Hotels & Resorts' Series D preferred) names the line in `secondaryLine`, a new field: "BHR-PD is not Braemar Hotels & Resorts Inc.'s common stock: it is its Preferred Stock, Series D, as the cover of its 10-Q 0001574085-26-000130 lists it. This briefing describes the company." In the Markdown it is a line under the company's heading. Its `valuation` block carries no figures, with the absence kind `cannot_exist` and the reason `not-the-common-line`, a new value, since every figure there is struck on the common stock's close, and the 52 week price extreme of the common is not served for it. A line its company's newest report cover does not list (an OTC ordinary, an unregistered class) is served the same way. Classes of the common shares (GOOG, BRK-A) are unchanged. A code no covered company holds answers `_data_quality.severity: "not_covered"`, a new value, with `health_score` null, where it read 100 and "ok"; the status stays 200. No other field changes. - 2026-10-11, three state block series by name: `nyfed-primary-dealer-treasury-net`, `nyfed-soma-treasuries` and `us-debt-public-held` join the metric list, on `GET /api/metrics/{metric}` and MCP `get_metric`. Each is a series the bonds briefings' state block already prints, stored under its own name and named for its publisher: the primary dealers' net positions in Treasury securities (the New York Fed's primary dealer statistics, weekly), the Federal Reserve's System Open Market Account Treasury holdings at par (the New York Fed's Markets API, weekly, as of each Wednesday) and federal debt held by the public (Treasury's Fiscal Data, Debt to the Penny, each business day). The bonds briefings' state block series now set their tier as listed metrics do, and render nothing: no briefing's Markdown or JSON changes. A Basic key reads `nyfed-primary-dealer-treasury-net` in full, since `bonds.context` prints it; only `bonds.full` prints `nyfed-soma-treasuries` and `us-debt-public-held`, so a Basic or free key reads their latest reading: Basic read 241 in full of the catalogue's 275 at the time (from 240 of 272), and the latest reading of the 34 that only Pro briefings used. No metric changes tier. - 2026-10-11: `GET /api/metrics/{metric}` and MCP `get_metric`, in full and as the latest reading (and a late release), print the notice each row's source requires, read from that source's terms record: `notices`, a new JSON field (a list, absent when none is required), and a "**Notice:**" line in the Markdown, such as "Powered by CoinGecko." for CoinGecko's figures and "Source: U.S. Department of the Treasury, Daily Treasury Par Yield Curve Rates." for a Treasury yield (each row names its own table). Korea Customs' notice names the release ("Source: Korea Customs Service, , ."). The New York Fed's reference rates carry their notice as their source, as before. No value changes. - 2026-10-11: the numbers block of a USA company (`GET /api/companies/{company}/numbers`, and MCP `get_context` with `block: "numbers"`) carries the release day results the whole briefing carries, as `releaseResults.current`, with the same fields (`statement`, `periodEnd`, `filingDate`, `acceptedAt`, `documentUrl`, `accessionNo`, `exhibit`, `figures`), taken from the same composed briefing: served while the whole briefing serves them and gone once that quarter's 10-Q is read. `releaseResults.differences` stays with the whole briefing. The Markdown prints the figures under the company's name, before the block's filed figures, in the whole briefing's words. They are never a figure of the block or of its statement history, and no ratio, growth or per share figure reads them. Every other block, and a numbers block with no current release, answers as before. The header block on its own (`GET /api/companies/{company}/header`, and MCP `get_context` with `block: "header"`) now carries the whole briefing's `releaseResults` in its JSON too, `current` and `differences`, as its Markdown has printed them since 2026-10-05. - 2026-10-10: `release_state` (in `macro.snapshot`) no longer carries `notices`, and its Markdown no longer prints the publishers' notice sentences: BLS's, the Department of Labor's and the Census Bureau's notices are shown once, on https://www.prereason.com/data-sources, in the API docs' Source Attribution and in this file's Source Attribution line, and each answer's Sources line still names every publisher whose figure it shows. `release_state` also serves the Census Bureau's Advance Monthly Sales for Retail and Food Services (total retail and food services sales, seasonally adjusted, and the Bureau's own percent change from the prior month, each as published) from the first release PreReason stores. No other field changes. - 2026-10-10: `cross.correlations` adds a tenth pair, the 10 year Treasury yield against the S&P 500 fund (SPY), over both its windows, and shows the yield among its metrics. In the JSON, `correlations` gains `treasury-10y_vs_spy` and `metrics` gains `treasury-10y`. Its footnote adds "The 10 year yield's leg is its daily percent change, not a change in points." The description counts 10 metric pairs. No other pair's figures change. - 2026-10-10, macro.calendar live at Basic: a new Basic briefing, `GET /api/macro/calendar` or `GET /api/context?briefing=macro.calendar`, a draft until today (the owner's "promote macro.calendar"). It serves the scheduled dates ahead, each from its publisher's own calendar and dates only (`## Scheduled Releases`, `scheduled_releases`: the next Producer Price Index, retail sales, GDP and Personal Income and Outlays releases, the FOMC minutes, the FOMC's and the ECB's next decisions, and the Treasury coupon auctions of the week ahead on Treasury's tentative schedule, or the next one when the week has none, each tentative until Treasury announces it); the release state of the Employment Situation, the CPI and weekly initial claims as macro.snapshot serves it since 2026-10-09 (`## Release State`, `release_state`), where a release PreReason has not stored for the date is left out; and the effective federal funds rate, the days to the next Treasury auction, euro area HICP and the BoJ policy rate. `eu-cpi` (Eurostat's HICP for the euro area of 19 countries, a fixed composition, as "Euro Area HICP (19 countries)"; the newest month is Eurostat's flash estimate, named as one, until the final figure replaces it) joins the metric list, on `GET /api/metrics/eu-cpi` and MCP `get_metric`. A Basic key now reads `fed-funds-rate`, `boj-policy-rate` and `eu-cpi` in full, since a live Basic briefing lists them (the rule of 2026-10-06: a metric is Pro only when only live Pro briefings list it): Basic read 240 in full of the catalogue's 272 at the time (from 237 of 271), and the latest reading of the 32 that only Pro briefings used. The U.S. Census Bureau and the U.S. Bureau of Economic Analysis are credited on the data sources page for their release dates. No other briefing changes. - 2026-10-10: a refused call no longer counts against a plan's daily limit. A call the plan's limiter let in and then answered with HTTP 400 to 499 other than 429 (a briefing above the plan, a date outside it, a request PreReason could not read, a company with no statement read yet), or over MCP a `get_context`, `get_metric` or `get_changes` result that refuses the call (`TIER_RESTRICTED`, `DATE_RESTRICTED`, `VALIDATION_ERROR`, `NOT_COVERED_YET` and the like), gives its call back to the day once it is answered and still counts against the hour, so a run of refused calls is held by the hourly limit as before. A company briefing for an address that names no covered company (`GET /api/context?briefing=equities.company/` or MCP `get_context` with `entity`) is answered as before, HTTP 200 with its explicit state ("No covered company has the code ...; search list_briefings by the company's name"), and counts against neither the day, a call pack nor the usage meters, and still counts against the hour; `GET /api/companies/` already refuses such an address before any price. So the refused company calls that the 2026-10-09 and 2026-10-08 entries below say count as one call on a plan (a dated company briefing, a part not covered yet, the numbers history, a `block` on a briefing with no parts) now count against the hourly limit only. The rate limit headers a refused call is sent with read the windows before its call is given back. A call paid per call is never counted against a plan. - 2026-10-10: in a briefing's JSON, each correlation pair's `effective_window_days` states the days its returns can cover: the shorter of its two series' reads and its window. A pair of a weekly series (net liquidity, the Fed's balance sheet, the Treasury General Account, reverse repo) or a monthly one (M2) with a daily series used to state the weekly or monthly widening, 90 or 365 days, while its returns covered the daily series' window; it now states that window (cross.correlations' Bitcoin vs Net Liquidity and Net Liquidity vs SPY: 30, was 90). A pair of two weekly series is unchanged. No coefficient, count or date changes. - 2026-10-10: `cross.correlations` measures each of its nine pairs over 90 days as well as 30. In the markdown, each pair's line adds "over 90 days:" with the pair's strength words, its coefficient and its count of daily returns, or the reason no coefficient was measured. The footnote names the 90 day window's return counts and its first and last dates. In the JSON, each pair carries `longer_window` (window_days 90, value, interpretation, observations, window_start, window_end, return_cadence; value null where no coefficient is measured). The 30 day figures and fields are unchanged. - 2026-10-10: for a series dated by its month or quarter, `GET /api/metrics/{metric}` and MCP `get_metric` serve `period`, a new field: the month or quarter the figure describes (`period`, such as "2026-09" or "2026-Q1", and `period_words`), its basis where the source states one (`basis`, "monthly average"), and its release where the row carries one (`released`, with `released_as` naming it as the release or the file's date), with a `description` such as "September 2026, the monthly average (World Bank, in its file of 2026-10-02)". The series: the World Bank's four monthly prices (`wb-gold-usd-oz`, `wb-silver-usd-oz`, `wb-copper-usd-mt`, `wb-wheat-srw-usd-mt`); the ECB's monthly long term rates, `germany-10y` and the 10 year yields of France, Italy, Spain, Portugal, Greece and Belgium (`france-10y` and the like) with their spreads over Germany (`france-germany-10y-spread` and the like); four of BLS's monthly series (`us-core-cpi`, `average-hourly-earnings`, `u6-unemployment-rate`, `labor-force-participation-rate`); `m2-supply`, `eu-m3`, `eu-cpi` and `boj-balance`; and the BIS's quarterly `bis-global-liquidity-usd`. For those series `data_quality.age_display` counts from that release ("released 7 days ago"), or names the period when no release is stored, never days since the period's first day, and the Markdown reads "Data for: ..." in place of "Updated: ...". `timestamp` is unchanged and freshness is graded as before. No other field changes. - 2026-10-10: each tentative item in `macro.auctions`' next auctions (`auction_state.next_auctions`, `tentative: true`) carries `scheduled_announcement`, a new field: the announcement day Treasury's tentative auction schedule gives that auction (YYYY-MM-DD), and the line names it as the schedule's tentative day, for example "The schedule's tentative announcement day for all three is Wednesday 2026-11-04." for the November 2026 refunding, or, where the days differ, the auctions grouped by day ("Thursday 2026-10-15 for the 20 year bond (reopening) and the 5 year inflation protected note; Thursday 2026-10-22 for the 2 year note ..."). An auction Treasury has announced carries `announced`, the day it did, and no `scheduled_announcement`. The cadence note no longer names a usual weekday for announcements: it said "usually on a Thursday", and the November refunding is announced on a Wednesday on the schedule. No other field changes. - 2026-10-10: in a company briefing's `valuation` block, where no full year of earnings per share is stored, the price to earnings ratio divides the market capitalisation by net income to common shareholders, where the company files it for the same year and its net income is a profit, in place of net income. Its reading names the figure ("Market capitalisation against net income to common shareholders for ..."), and a year earlier figure is compared only when struck on the same figure. Where the company files a loss to common shareholders while its net income is positive, the ratio is refused with its own reason. The refusal reads "Price to earnings: the company files a loss to common shareholders for the year to 2026-06-30, though its net income is positive, and a negative multiple is not a valuation." Counted on 2026-10-10 on a copy of the stored data, the ratio moved for 245 USA companies (Vornado's four quarters to 2026-06-30: 67.9M of net income, 5.8M to common shareholders, so 92.5x became 1,086x) and 8 are refused. No other field changes. - 2026-10-10: for a series whose every stored reading holds the same value, `GET /api/metrics/{metric}`, MCP `get_metric` and the briefings serve no percentile and no percentile label: `trend.percentile` is null, with no `percentile_label` and no `percentile_history_days`, and `trend.same_value`, a new field, carries `readings` (how many stored readings) and `since` (the first stored day). The Markdown reads "The same value in all 105 of its stored readings, since 2026-05-08." where the rank was, and prints no Range line, since a range of one value says nothing more. A rank that counted every reading equal to the current one against it read 0 for such a series, "0th percentile" and "(the lowest of its stored readings)", though the reading is lower than none of them. The rank no longer decides the series' signal or confidence. Today that is six policy rates read from the BIS: `boc-policy-rate`, `boe-bank-rate`, `pboc-loan-prime-rate`, `rba-cash-rate`, `riksbank-policy-rate` and `snb-policy-rate`. No other field changes. - 2026-10-10: `GET /api/metrics/{metric}`, MCP `get_metric`, and the latest reading answers (the free metric door and a late release) serve `name`, a new field: the series' public name, the name `GET /api/metrics` lists, under which the answer is worded, for example "germany-10y"; a request by a short name answers under the listed name it stands for (`dxy` answers as "etf-uup"). `metric` is unchanged and carries the stored identifier, "ecb_germany_10y". The Markdown of `GET /api/metrics/{metric}` states each change in the unit its sentence uses, where it keyed the unit on the stored identifier: "+0.42 pp over 30 days" for the 10-year Treasury yield, where it read "+0.4 points", and "-4.13 pp" for `eth-200d-distance`, where it read "-$4.13". 59 of the 270 served names moved; a percent change is unchanged. No other field changes. - 2026-10-10: a briefing id is read in any case: `GET /api/context?briefing=equities.company/NVDA` (and `/api/v1/context`, `/api/briefings/{id}`) answers as `equities.company/nvda` does, the same briefing from the same cache, where an uppercase ticker or ISIN answered HTTP 400 `VALIDATION_ERROR`. An id holding anything but letters, digits, hyphens, dots and slashes still answers 400. - 2026-10-10: `GET /api/events` (and MCP `get_changes`): a read that holds no events and names no companies now carries `note`, saying what to ask instead and how many market wide events from the last 30 days the read can reach. No other field changes. - 2026-10-10: `japan-10y` joins the metric list beside `japan-30y` and `japan-40y`: Japan's 10 year government bond yield for each Tokyo business day, from the Ministry of Finance's JGB interest rate file, on `GET /api/metrics/japan-10y` and MCP `get_metric`. No live briefing lists it, so a basic key reads it in full and a free key its latest reading; Basic read 237 in full of the catalogue's 271 at the time (from 236 of 270). - 2026-10-10: `macro.auctions` serves Treasury's buyback operations: the newest (up to 4) in the 30 days to the answer's date, each as Treasury's own record states it (Fiscal Data's buyback record: the operation type, security type, maturity bucket, maximum, par offered and par accepted, the issues eligible and accepted, and the settlement date, every amount at par). In the markdown after the auction demand state, and in the JSON as `buyback_state` (as_of_date, window_days, operations, note, record_read_at, sources). A dated read shows an operation only from its record time (the operation date at its close, Eastern). With no operation in the 30 days the block says so; for a date before PreReason's copy of the record starts, the block is left out, and it is served only while PreReason's last read of the record is within a day of the answer. - 2026-10-10: `macro.snapshot` serves the release state: the latest Employment Situation (total nonfarm payrolls and the unemployment rate, U.S. Bureau of Labor Statistics), Consumer Price Index (CPI-U all items and its change from the month before and over 12 months) and weekly Unemployment Insurance claims (initial claims and their 4 week moving average, U.S. Department of Labor), each figure as its release published it, with its estimate (first, second, advance, revised), what the release revised, and the next release date. Changes and percentages are PreReason's calculations within one release; levels, rates and claims are the publishers' own. In the markdown as `## Release State`, and in the JSON as `release_state`. A release PreReason has not stored for the date is left out. MCP `get_metric` answers `nonfarm-payrolls`, `unemployment-rate`, `us-cpi` and `initial-jobless-claims` with where to read them (`served_as: "release_state"`, `briefing: "macro.snapshot"`); no trend, percentile or correlation is served for them. - 2026-10-09: in `cross.regime`, `indicators.ma_200d_distance.zone` names the band the BTC 200-day moving average distance is in: `above_15_plus`, `above_5_15`, `within_5`, `below_5_15`, `below_15_25` or `below_25_plus` (more than 15% above, 5% to 15% above, within 5%, 5% to 15% below, 15% to 25% below, more than 25% below), in place of `overextended_above`, `above_ma`, `near_ma`, `below_ma`, `extended_below` and `capitulation`, on the same bands. The markdown's Market Regime table says the band in those words. The sentences of `btc-price-200d-distance`, `btc-price-200d-ma` and `eth-200d-distance` no longer end in a fixed band legend; `eth-200d-distance` prints its sign. No other field changes. - 2026-10-09: statement history (`GET /api/companies/{company}/numbers?history=true`, and MCP `get_context` with `block: "numbers"` and `history: true`) adds gross profit, right after revenue: the company's own gross profit as filed, over the same eight quarters and five fiscal years, a derived fourth quarter marked as revenue's is. A gross margin is gross profit divided by revenue for the same period: the history states both figures and computes no margin. A company that files no gross profit (a bank, an insurer, or a statement without that line) has no gross profit line, and it is never computed as revenue less cost of revenue. Every other line is unchanged. - 2026-10-09: a company briefing (`equities.company/` on `/api/context`, or MCP `get_context` with `entity`) asked with a `date` other than today's (UTC) answers HTTP 400 `VALIDATION_ERROR` (on MCP, `error: "VALIDATION_ERROR"`), as `GET /api/companies/{company}` has since 2026-10-03: it composes nothing, charges no part and counts as one call on a plan, never more. Until now a dated company briefing served the company's current situations and index memberships under that date and listed every other part as not covered yet. A `date` equal to today's serves today's briefing, as before, and every other briefing's `date` is unchanged. MCP's `BLOCK_DATE_UNSUPPORTED` no longer suggests reading the whole briefing on that date. - 2026-10-08: the changes of a rate or a yield are stated as differences in percentage points: every Treasury yield, the other governments' long term yields, the real yields, the breakeven inflation rates and the 5 year, 5 year forward inflation expectation rate (`t5yifr`), Ethereum's staking yield and the unemployment rate. `change_7d`, `change_30d` and `change_90d` are the difference, `change_unit` reads "absolute", and `flat_band` is in points: the 10-year Treasury yield from 4.80% to 5.28% reads +0.48 pp, where it read +10.0%. What sets each one's direction is unchanged (the relative change against the 2% band). No other field changes. This entry was added on 2026-10-10: the change shipped on 2026-10-08 without one. - 2026-10-08: statement history for Indian companies. `GET /api/companies/{company}/numbers?history=true`, and MCP `get_context` with `block: "numbers"` and `history: true`, serve an Indian company's last eight calendar quarters from its quarterly results statements, a quarter not stored shown as a gap, each figure with its statement and the statement's address; the March quarter is marked as derived by the company, the audited year less the nine months (the balancing figure SEBI's format asks for), and keeps its diluted EPS. A year is the sum of four stored quarters, marked as one, and is not served where a quarter is missing. Operating income, cash flows and total liabilities are not read from Indian results statements, so those lines are not served; a company with no revenue line says so. - 2026-10-08: statement history for Korean companies. `GET /api/companies/{company}/numbers?history=true`, and MCP `get_context` with `block: "numbers"` and `history: true`, serve a Korean company's last five fiscal years as its annual business reports filed them, diluted EPS included, and the first and second quarters stored from its quarterly and half year reports, each filing named. Its third and fourth quarters and its quarterly cash flows are not stored yet, and a quarter that is a later report's comparative figure is said to be one; a company with no revenue line says so. - 2026-10-08: statement history for Japanese companies. `GET /api/companies/{company}/numbers?history=true`, and MCP `get_context` with `block: "numbers"` and `history: true`, serve a Japanese company's last five fiscal years as its annual securities reports filed them, diluted EPS included, and its last four half years where its semiannual reports are stored. Japanese companies no longer file quarterly securities reports, so no quarter is served. Each filing is named. Each line keeps to the accounting standard and equity basis of its newest figure, and says when older periods are left out. In every market a stored full year figure is served as filed, and a period's JSON no longer carries `periodStart`: its `days`, the days it holds, give its start. - 2026-10-08: `GET /api/companies/{company}/numbers?history=true`, and MCP `get_context` with `block: "numbers"` and `history: true`, add the numbers block's statement history: revenue, operating income, net income, diluted EPS, operating cash flow, free cash flow, total assets, total liabilities, shareholders' equity and cash, over the last eight quarters and five fiscal years as filed, each period with its filing date and accession (USA companies first). A year of a flow line is its full year figure as filed, the one its fourth quarter was derived from, with its days and filing; where none is stored, it is the sum of its four stored quarters, marked as a sum. Diluted EPS has no year, and a derived quarter carries no diluted EPS. One call, as any block; never in the whole briefing. `HISTORY_NEEDS_NUMBERS` beside the whole briefing or any other block, and `HISTORY_NOT_COVERED_YET` for a company with none: each reads nothing and counts as one call on a plan, never more; a call paid per call is not charged for either. Dated changes to what a response serves, newest first. - 2026-10-08, MCP, block refused where a briefing has no parts: `get_context` answers `BLOCK_NOT_APPLICABLE` to a `block` on any briefing other than `equities.company`, reading nothing and counting as one call, never more; until now the `block` was ignored and the whole briefing was served and counted. - 2026-10-08, MCP, one part of a company briefing and companies found by name: `get_context` takes an optional `block` with `briefing=equities.company` and `entity`, one part of the company briefing (the parts `GET /api/companies/{company}/{block}` serves), cut from the whole briefing, for today only, counting one call where the whole briefing counts one for each part it carries (`BLOCK_NOT_COVERED_YET` where the company's briefing has no such part yet, `BLOCK_DATE_UNSUPPORTED` beside a `date`). `list_briefings`' `search` adds `companies` when the question names one: at most five covered companies whose name or code matches, each with its `name`, the `entity` to pass to `get_context`, its `market` and its `tier`. - 2026-10-08, MCP, each briefing read once and a search: `list_briefings` answers `by_tier` with briefing ids only, each briefing's entry being in `briefings`; a new optional `search` returns the briefings whose words match a question, best first, at most five, with a `note` when none matches; its description counts the 32 fixed briefings with the company briefing named beside them, and `get_health`'s verbose `data_coverage.briefings` counts the same 32. `get_metric`'s description no longer lists every metric name (its `metric` enum carries them; `list_metrics` lists and searches them). A company refusal (`TIER_RESTRICTED` from `get_context` with `equities.company`) adds `plan_reads`, the company markets the caller's own plan reads. - 2026-10-07, briefing markdown, each thing said once: a rank that was not measured is named once after the metric groups, beside the 90 day footer ("Percentile: not measured for A, B (fewer than 5 stored readings to rank against)"), where it was a line under each metric; the 90 day footer leaves out a metric whose own sentence already says "7d, 30d and 90d changes not measured"; the Market Regime paragraph ends before "BTC-SPY correlation: 0.32.", which the table's BTC/SPY row prints just below; each Correlation Regime Analysis line names its pair once ("BTC-SPY: 0.58 (29 returns / 42d), near 0.32 (62 returns / 89d)."); the Hash Ribbon history leaves out a "Current Value" its metric row prints to the same four places; the divergence line drops "Assets are tracking as expected."; and the "Context:" line beside a narrative that listed no factor, which restated it, is left out. No figure, stamp or source leaves the markdown, and the JSON (`regime_text`, the narrative's `context` field, each metric's rank) is unchanged. - 2026-10-07, company briefings, three more fields said once: the JSON leaves out a trend's `periodUnit` where it is its measure's own `periodUnit`, a currency measure's `currency` where every currency measure of its block shares it (said once as the block's new `currency` field, present only then), and a value's `filedAt` where it is its block's `newestFiledAt` (in a block whose every value carries one; a null stays). `jsonNote` states each rule, and appears wherever one of them leaves a field out. Every figure and date is still served, each rebuilt exactly by the note's rule; the markdown is unchanged. - 2026-10-07, one figure and one unit for the euro area spreads: `value_formatted` of the six spreads over Germany (`france-germany-10y-spread`, `italy-germany-10y-spread`, `spain-germany-10y-spread`, `portugal-germany-10y-spread`, `greece-germany-10y-spread` and `belgium-germany-10y-spread`) is in percentage points, for example "0.82 pp", the unit each sentence names ("at 0.82 percentage points"), in place of "0.81%". And a stored value on a half way digit at the printed decimals rounds the same in `value_formatted` as in its sentence: France's spread, stored at 0.815, read "0.81%" beside a sentence of "0.82 percentage points", and Belgium's, stored at 0.575, read "0.57%" beside "0.58"; each now reads 0.82 and 0.58 on every route, the latest reading included. The six yields keep "%". The sentences, the changes beside them ("30d +0.03 pp") and every other field are unchanged. - 2026-10-07, company briefings, three ratio corrections: (1) the effective tax rate (computed) is income tax expense over the company's own filed pre-tax income for the period where one is filed, and over net income plus tax only where none is; such a rate's measure carries `struckOn: "net-income-plus-tax"` (a new value of the field added today beside `"filed-pretax"`) and its sentence adds ", struck on net income plus tax, since no pre-tax income is filed for the period". (2) Days sales outstanding, days inventory outstanding and days payable outstanding are scaled by the days the period holds, its end less its start plus one, where they were a day short (90 for a quarter of 91). A quarter derived as one cumulative figure less a shorter one (a fourth quarter as the year less its nine months) is stored from the day the shorter figure ends, so it holds its end less that day: the one stored from 2010-02-28 to 2010-05-31 holds 92 days, 03-01 to 05-31. (3) A ratio that averages a balance (return on assets, return on equity, asset turnover, the accrual ratio) averages the period's closing balance with its OPENING balance, the balance at the day before the period begins (within ten days, for 52 and 53 week years); before, a year with quarterly balances was averaged with its third quarter's. Where no opening balance is on record the ratio is not served and the block says so. The stored values follow as they are rewritten. No other field changes. - 2026-10-07, company briefings, the effective tax rate against the filed pre-tax income: the effective tax rate (computed) divides tax by net income plus tax, and net income is the parent's share, after noncontrolling interests and discontinued operations, so where either is material the sum is not pre-tax income. In the `profitability` block, where the stored rate is 5 or more points away from tax over the company's own filed pre-tax income for the same period, the rate is struck on the filed pre-tax income instead: the measure carries `struckOn: "filed-pretax"`, a new field, its sentence reads "... for the period ended , struck on the company's filed pre-tax income", and it carries no peer standing and no change on the year (the cohort and the earlier rates are struck on net income plus tax). Where the filed pre-tax income is a loss, or the rate on it is past the rate's bounds, the rate is not served and the block's note reads "Effective tax rate (computed) is not served: it is struck on net income plus tax, which is not the company's own filed pre-tax income for the period." Every other rate is served as before. No other field changes. - 2026-10-07, company briefings, a segment change past a hundredfold: in the `segments` block, where a segment's change on the year is past a hundredfold (more than +9,900 percent), the member is not compared with the year before. Its entry in the event's `detail.members` carries `yearOverYearWithheld: "past-ceiling"`, a new member field, and its `growthPct`, `priorValue`, `priorShare` and `shareChangePoints` are null; its sentence reads "not compared with the year before, since a change past a hundredfold is not served as a rate", in place of its rate and its share a year earlier. A fall, however large, is served as before. The other members of the breakdown are served as before. No other field changes. - 2026-10-07, a held company on the company routes: `GET /api/companies/{company}` and `GET /api/companies/{company}/{block}` refuse a company held from serving before any price is quoted, as they refuse a company with no statement read. The answer is HTTP 404 with `{"error": "COMPANY_HELD", "message": , "market": }`: the same words its briefing serves on every other door, and no PAYMENT-REQUIRED header, no MPP challenge and no charge, whether or not a payment rode along and for a key holder who opts in to pay. Until now these routes quoted such a company at the company price and served only its statement. Today the held companies are six in Korea: 021880, whose stored periods are dated against a fiscal year end that is not its own, and five that report in a currency other than the won. Every other company answers as before. - 2026-10-07, company briefings: live for Korea on Pro and above, as `GET /api/context?briefing=equities.company/` or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to the stock code, and with no key per call at `GET /api/companies/{company}`. The catalogue description names Korea; `equities.company` stays listed at Basic, the lowest plan of a live market. A Korean company's figures are from its annual business report or, where it has filed one since, its half year or quarterly report, as filed on DART. The USA, Japan and India are unchanged. No other response changes. - 2026-10-07, company briefings, one change for one figure, the footer's plan and the read together verbs: (1) where a computed figure is served beside the company's own filed figure at the same date, the computed line keeps its level and gives no change on the year; the filed line gives it. Today that is Japan's "Book value per share (computed)" (equity at the period end over the period's weighted average diluted count) beside the filed book value per share, which can move apart across a year of share buybacks. The measure carries `yearOverYearWithheld: "filed-beside"`, a new value of an existing field (beside `"debt-footing"`), and its sentence reads "the change on the year is not given here, since the company's own filed figure gives it". (2) The Markdown footer names the plan the company's market is sold on (Pro for Japan, Korea and India; Basic for the USA); `briefing_metadata.tier` in the JSON is unchanged. (3) The "read together" sentences say "rose X%" or "fell X%" (the size of the move) or "was unchanged", in place of "grew" with a signed rate; a rate given as a value ("against revenue at +12.0%") keeps its sign. No other field changes. - 2026-10-07, France in macro.rates: `macro.rates` serves France's 10 year yield (`france-10y`) and its spread over Germany (`france-germany-10y-spread`, France's monthly average minus Germany's, PreReason's calculation over the ECB's figures) beside `germany-10y`. Both are the ECB's monthly averages (its long term interest rate statistics), and each sentence says so. Both are used only by Pro briefings, so a Basic key reads each as its latest reading on `GET /api/metrics/{metric}` and MCP `get_metric`, like `germany-10y`: Basic read 236 in full of the catalogue's 270 at the time (from 238), and `pro_only_metrics` on `GET /api/metrics` lists both. No other response changes. - 2026-10-07, stored range on the metric routes: `GET /api/metrics/{metric}` and MCP `get_metric` serve where a reading sits in its stored daily history, the line a briefing with percentiles has served under each rank since 2026-10-06. The JSON carries `stored_range`: `statement`, `highest_since` or `lowest_since` (a day, or `stored_history` when no stored day is at or past the reading), `stored_high` and `stored_low` (each a formatted value and its date) and `history_from` (the first stored day read). The Markdown prints the statement as a "Range:" line under the rank, for example "Highest since 2002-05-14, when it read 5.32%. The stored high is 15.84% on 1981-09-30, 10.53 pp above this reading." for the 10 year Treasury yield at 5.31%. It is absent where nothing is said: under two years of stored history, a "since" date less than a year back, a series that grows by construction, a nominal stock of money or debt (M2, EU M3, US total debt, BIS global liquidity), and an answer served as the latest reading alone. The words state stored dates and levels only. No other field changes. - 2026-10-06, company briefings: live for Japan on Pro and above, as `GET /api/context?briefing=equities.company/` or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to the securities code, and with no key per call at `GET /api/companies/{company}`. The catalogue description names Japan; `equities.company` stays listed at Basic, the lowest plan of a live market. A Japanese company's figures are its latest securities report's as filed on EDINET: its annual securities report, or its half year report where it has filed one since. A Japanese company's briefing carries `sourceCitation`, EDINET's PDL1.0 notice. The USA and India are unchanged. No other response changes. - 2026-10-06, metric percentile wording: the Markdown of `GET /api/metrics/{metric}` states a measured rank as "th percentile (higher than N% of its stored readings)"; it read "(stronger than N% of historical readings)", a judgement the rank does not make (a VIX or an unemployment rate at its 90th percentile is not stronger). No field, type or shape changes. - 2026-10-06, policy rate lines: the Fed, ECB and BOJ policy rate sentences in a briefing's `context` text read " at ; ." and no longer add a posture (for example "Fed on hold", "in tightening posture"); the Pro trend note's factor lines drop the same stances. A policy rate moves in steps, so a posture read from its 7 day change said "on hold" between decisions, 20 days after the Fed's 25 basis point rise of 2026-09-16. The BOJ's "rare for the lowest-rate G10 central bank" also goes: the Swiss National Bank held its rate at 0% on 2026-09-24. No field, type or shape changes; live today in cross.regime's three rate lines. - 2026-10-06, percentile not measured: where no rank was measured (fewer than 5 stored readings to rank against), `trend.percentile` is `null` and `trend.percentile_label` reads `not measured`, in place of a placeholder 50, in `GET /api/metrics/{metric}`, MCP `get_metric`'s JSON and a briefing's JSON view; `percentile_history_days` is then absent, and the Markdown says "Percentile: not measured (fewer than 5 stored readings to rank against)". Until now the trend layer's placeholder 50 was served as a measured rank, for example "Percentile: P50 stored history (estimated)" on cross.regime's Fed Funds minus BOJ Policy Rate, a series read from 2026-10-02. - 2026-10-06, commodities.oil-producers, .gold-miners and .grains-agribusiness: new Pro briefings `commodities.oil-producers` (`/api/commodities/oil-producers`), `commodities.gold-miners` (`/api/commodities/gold-miners`) and `commodities.grains-agribusiness` (`/api/commodities/grains-agribusiness`): a commodity beside the covered USA companies tied to it, side by side: WTI (EIA) with the oil producers, the gold fund GLD with the gold and silver miners and royalty companies, and the wheat futures fund WEAT with the grain merchandisers and processors, seed and crop nutrient companies, farm equipment makers and farmland REITs, each company with its share price, its 1, 3 and 12 month changes beside the anchor's over the same windows and the measured 90 day correlation of its daily changes with it, in order of stored market capitalisation within each group. It describes, it does not rank. The JSON carries them as `oil_producers` and `commodity_producers`. - 2026-10-06, commodities.gold, .silver, .copper and .wheat: new Basic briefings `commodities.gold` (`/api/commodities/gold`), `commodities.silver` (`/api/commodities/silver`), `commodities.copper` (`/api/commodities/copper`) and `commodities.wheat` (`/api/commodities/wheat`): each commodity through its fund's share price (GLD, SLV, CPER, WEAT) and its own monthly average price from the World Bank's Pink Sheet (CC BY 4.0), with speculators' net position in its futures (the CFTC's Commitments of Traders) and what is said to move it, each with its measured relationship to the fund. - 2026-10-05, company briefings: live for the USA on Basic and above, as `GET /api/context?briefing=equities.company/` or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to the ticker or CIK, and with no key per call at `GET /api/companies/{company}` and `GET /api/companies/{company}/{block}`. The catalogue lists `equities.company` at Basic, the lowest plan of a live market, and its description names both live markets. India is unchanged, on Pro and above. No other response changes. - 2026-10-05, release day results: a USA company briefing (`GET /api/context?briefing=equities.company/` or MCP `get_context`) carries `releaseResults` when there is something to show. `releaseResults.current` holds a quarter's revenue, operating income, net income attributable to the company and diluted earnings per share as the company's 8-K results press release states them (`key`, `label`, `asPrinted`, `value`, `currency`, `perShare`, `valueFormatted`), with `periodEnd`, `filingDate`, `acceptedAt` (EDGAR's acceptance time, UTC), `documentUrl`, `accessionNo`, `exhibit` and the `statement` "As released on in the company's 8-K results press release; preliminary until its 10-Q."; it is served only while no 10-Q of that quarter has been read. `releaseResults.differences` lists each release figure whose 10-Q stated another value, with both values, both documents and both dates. The Markdown prints both under the company's name. New; no earlier response changes. - 2026-10-05, Sources lines: each publisher is named once, by a short name: "U.S. Treasury" for Treasury's par curves, TIC and Fiscal Data, "Federal Reserve Board" for its releases, "New York Fed", "BIS", "CFTC", "Deribit", "FRED". The dataset and release titles are on the data sources page, and every value's own `source` in JSON is unchanged. The notices the terms require stay word for word: "Powered by CoinGecko", Coin Metrics' line and the New York Fed's notice with each reference rate. btc.treasury names "EDINET" on the line; its PDL 1.0 notice prints whole in the financing section. The bonds and auctions lines shorten the same way. - 2026-10-05, bitcoin-dominance: reads CoinGecko's own rows from 2026-08-21, the first whole day of CoinGecko's current measure (CoinGecko changed its method on 2026-08-20; before, its figure ran about 2.25 points under CoinMarketCap's). Since 2026-10-01 it read from that day only, so its 7 and 30 day changes and its rank read not measured; they are measured again, and its 90 day change from about 2026-11-06. CoinMarketCap's rows stay unread. No stored value changed. - 2026-10-05, eth.context: a new Basic briefing, `GET /api/eth/context` or `GET /api/context?briefing=eth.context`. Ether's price (CoinGecko's, stored from 2026-10-04 with CoinGecko's daily closes for the year before), its global 24 hour volume and z score, its distance from the 200 day average, Lido's stETH APR (named as Lido's), the CFTC's CME Ether positioning and OKX's ETH funding rate. Ether's volume, z score and Lido's rate read their position (above, at or below trend), not bullish or bearish. - 2026-10-05, source names: btc.treasury's Markdown Sources line names every source its figures come from: "Powered by CoinGecko" for the holdings estimates and the universe total, SEC EDGAR for filed figures, EDINET's PDL 1.0 notice for a yen filer's report and the Federal Reserve Board's H.10 for the rate it is converted at. Before, it named only the Bitcoin price's source. In JSON, `treasury.sources` lists the holdings' providers. boj-balance's `source` reads "FRED (Federal Reserve), Bank of Japan data" (FRED's copy of the Bank of Japan's series). Two sources print as their provider's name in place of an endpoint's: "OKX" for "OKX v5 public" (the funding rate and open interest) and "U.S. Treasury Fiscal Data" for "Treasury FiscalData debt_to_penny" (us-debt-total). No value changed. - 2026-10-03, macro.liquidity: the latest auction line (`liquidity_state.auction`) now reads macro.auctions' own state, so the two briefings print one set of figures for one auction. It names the newest note or bond auction (`maturity`, `security_type`, `auction_date`, `reopening`), each bidder class's share of competitive awards (`shares.dealers`, `shares.direct`, `shares.indirect`, with `basis`), and primary dealers' `label` against that maturity's prior auctions. It replaces `security`, `dealer_takedown_pct` and `indirect_bidder_pct`, which were shares of the total accepted from another series: 10.76% and 49.13% for the 7 year note of 2026-09-24, where macro.auctions prints 12.53% and 57.20% of competitive awards. - 2026-10-03, company briefings per call: `GET /api/companies/{company}` (the whole briefing) and `GET /api/companies/{company}/{block}` (one block) sell a company briefing with no key, over x402 or MPP, for a company of a market that is live (India today, addressed by ISIN). The whole briefing is the public form `/api/context` serves a key whose plan reaches the market. A block is that block of the public form with `company` (`name`, `address`, `market`), `computed_at`, `notCoveredYet` (the block's own figures left out) and `briefing_used`; its Markdown is the block under the company's name and one line naming its address, market and computed time, and nothing of the header block comes with another block. Both serve today's briefing only: a `?date=` or `?time=` answers 400 before any quote. Refused before any quote, with no payment taken: a malformed address (400), an unknown block (404), an address that names no company sold here (404 `NOT_FOUND`) or one with no statement read (404 `NOT_COVERED_YET`). A block the briefing leaves out for that company answers 404 `BLOCK_NOT_COVERED_YET` and is not charged. A key holder is never charged on these routes: the plan decides and counts, as on `/api/context` (a whole briefing by the blocks it carries, one block as one call), and a 403 for a plan below the company's market now names `/api/companies/
` under `alternatives.x402`. All are new; no earlier response changes. - 2026-10-03, bonds.context and bonds.full: two new briefings, `GET /api/bonds/context` (Basic) and `GET /api/bonds/full` (Pro), or `GET /api/context?briefing=bonds.context` and `?briefing=bonds.full`. Each opens with a state of who holds US Treasuries: foreign investors' net purchases of long term Treasuries (Treasury's TIC Table 1, against the prior 24 months), primary dealers' 13 week change in net positions in Treasury coupon securities (the New York Fed, against the prior 52 weeks' changes) and speculators' non commercial net position in 10 year note futures (the CFTC, against the prior 52 weeks), each above, near or below its norm at 1.5 standard deviations. bonds.full adds the Fed's own Treasury holdings, debt held by the public, the five largest foreign holders, what changed since the prior reports, the figures that would change each reading and the next reports. The JSON carries the state as `bonds_state`. - 2026-10-03, company briefings count by their blocks: a whole company briefing (`GET /api/context?briefing=equities.company/` or MCP `get_context` with `briefing` set to `equities.company`) counts against a plan's hourly and daily limits as one call for each block it carries, up to 11. A block left out (listed in `notCoveredYet`) or kept with nothing in it counts nothing. The door takes one call as before, so an account at its limit is refused before anything is composed; the rest is added once the briefing is composed, so a call that ends at a limit can pass it by up to 10, and the next call is refused. `X-RateLimit-Remaining` and `X-RateLimit-Remaining-Day` on the response count the whole briefing. A refused company call's message ends with the counting sentence. Before, a whole company briefing counted as one call. A call paid per call (x402, MPP) is never counted against a plan. - 2026-10-03, macro.auctions: a new Basic briefing, `GET /api/macro/auctions` or `GET /api/context?briefing=macro.auctions`. It opens with a state of Treasury auction demand: for each nominal coupon maturity, 2 to 30 years, its latest auction (date, security, amount offered, high yield, bid-to-cover, and the shares of competitive awards taken by primary dealers, direct and indirect bidders), with primary dealers' share above, near or below the average of that maturity's prior 12 auctions by 1.5 standard deviations, when each result became known, what changed since the prior auction, the shares at which the next auction would read otherwise, and the note and bond auctions Treasury announced and scheduled next. The JSON carries the same as `auction_state`. Then the 2, 10 and 30 year Treasury yields. - 2026-10-03, commodities.energy-basket: a new Pro briefing, `GET /api/commodities/energy-basket` or `GET /api/context?briefing=commodities.energy-basket`. It opens with a state of US oil and gas stocks: EIA's weekly commercial crude stocks and Lower 48 gas storage, each above, near or below the average of the same week in the prior five years by one standard deviation, with its level, its week, when EIA published it and when it became known, the week's change, what changed since the prior reports, the levels at which next week's report would read otherwise, and the next report times on EIA's schedule. The JSON carries the same as `energy_state`. Then WTI, Brent and Henry Hub spot prices, the Brent to WTI spread and WTI 30 day realised volatility (its change in points). - 2026-10-03, EDINET's citation on treasury financing: a financing reading read from EDINET (Metaplanet's) carries `citation`, the source citation EDINET's terms ask for under the Public Data License 1.0, on `GET /api/treasuries/{ticker}` (`financing.citation`), on `GET /api/treasuries` (`financing_summary.citation`) and in btc.treasury's financing section (`treasury.financing.citation`, printed under its table). It is `null` for an SEC filing. - 2026-10-02, cross.ai-compute: `ai_compute` gains `chips` (`window`, `semiconductors`, `exports`, `text`, `source`, `known_since`, `basis`): Korea's semiconductor exports for the newest stored first 20 days release, every figure and the change on the same days a year earlier as Korea Customs Service states them. The markdown section opens with a "Chips:" line. The block is left out when no stored release can be read. - 2026-10-02, pay per call dates: a briefing bought per call through x402 or MPP (the short URL routes) serves today or any `?date=YYYY-MM-DD` on record, one briefing and one date a call, whatever its class; the class sets only the price ($0.02, $0.03 or $0.05). Before, a paid call was held to the window of the briefing's class (the last 30 days, from 2025-01-01, or every date), and a payer with no key was refused every date older than 30 days. A key holder who sends the pay header for a date outside the key's own window is charged and served. A 403 `DATE_RESTRICTED` on a keyed call names the priced route under `alternatives.x402`, with `dates` stating what one call costs. Date windows apply to subscriptions only; a series or a range in one call is not sold per call. - 2026-10-02, company briefings: live for India on Pro and above, as `GET /api/context?briefing=equities.company/` or MCP `get_context` with `briefing` set to `equities.company` and `entity` set to the ISIN. In JSON a company briefing carries `notCoveredYet`, the blocks and figures left out because they cannot be seen yet for that company, and its Markdown names them in one closing line. A listed company with no results statement read yet answers HTTP 404 `NOT_COVERED_YET`. All are new; no earlier response changes. - 2026-10-02, cross.ai-compute: a new Pro briefing, `GET /api/cross/ai-compute` or `GET /api/context?briefing=cross.ai-compute`. It serves US grid demand for the Lower 48, ERCOT and PJM against a year earlier (from EIA-930), the AI hosting agreements Bitcoin miners announced in their SEC filings (megawatts, customer, term, contracted revenue), and hosting against mining revenue per gross megawatt. In JSON the block is `ai_compute` (`power`, `hosting`, `tie`, `would_change`); a block PreReason cannot read is left out rather than served empty. - 2026-10-02, corporate treasuries: `GET /api/treasuries/{ticker}` gains `financing` (what the company's own latest periodic filing states at its balance sheet date: debt, preferred stock at its liquidation preference, the maturity split, the filing's bitcoin count and the senior claims these add up to; `null` with `financing_note` where none is served), and, at the top level, `mnav` with `mnav_note` (market value over the value of the bitcoin held: `basis` is `in house` or, for a company with no in house figure, `CoinGecko`, named as CoinGecko's; shown only at 10 or less, and a CoinGecko figure only at 0.25 or more). Each row of `GET /api/treasuries` gains `financing_summary` and `mnav_summary`. A company that files in yen on EDINET (Metaplanet) is served in dollars, converted at the Federal Reserve Board's H.10 rate of its balance sheet date, with `filed_currency` carrying that rate, its source and date and each amount as filed. Every field named here is new; the holdings fields are unchanged. mNAV was served as `financing.mnav` for about an hour on 2026-10-02 before it moved to the top level, and carried no figure in that place. - 2026-10-02, cross.regime: `regime.regime_text` names the band the regime vote read, inside each bracket (for example "Liquidity falling (-1.3% 7d, outside the regime vote's ±0.5% band)."), and the dollar clause prints its 7 day change in a quiet week where it printed the 30 day change. Each sentence opens as before. The markdown adds one note line under the regime table. - 2026-10-01, Bitcoin price history: `GET /api/metrics/bitcoin-price/history` names the source of each close. Every point gains `source` (and `interpolated_from` on three filler days, 2024-01-12 to 14), and a new `sources` array lists each source served with its `points`, `first_date`, `last_date` and any `notice` its terms require. The top level `source`, which read `CoinGecko` for every close, is still one string and now lists every source served, newest first (for example `Coinbase, CoinGecko`). `attribution`, which read `Data provided by CoinGecko`, now reads `Sources: .` followed by each required notice (`Powered by CoinGecko.` whenever a CoinGecko close is served). No price changed. - 2026-10-01, cross.regime: `regime.current_regime` reads `expansion`, `contraction` or `transition`, from the same weighted vote as before. The first two were served as `risk_on_expansion` and `risk_off_contraction`; `transition` is unchanged. Through 2026-12-31 the JSON regime block also carries the old name as `current_regime_legacy`, with `current_regime_legacy_until: "2026-12-31"`; from 2027-01-01 both fields are gone. The markdown prints the new name only. --- ## Links - Website: https://www.prereason.com - Documentation: https://www.prereason.com/docs - Evidence: https://www.prereason.com/evidence - Source Attribution: https://www.prereason.com/data-sources - Sign Up: https://www.prereason.com/signup - API Status: https://status.prereason.com - OpenAPI Spec: https://api.prereason.com/api/openapi/spec.yaml - MCP Discovery: https://www.prereason.com/.well-known/mcp/server.json - npm: https://www.npmjs.com/package/@prereason/mcp - GitHub: https://github.com/PreReason - X/Twitter: https://x.com/Pre_Reason - Metric Directory: https://www.prereason.com/metrics (every tracked metric: the 293 metrics the API serves, and 14 metrics that exist only inside briefings) - Briefing Directory: https://www.prereason.com/briefings - Market Insights: https://www.prereason.com/insights (regime classification, context engineering, indicator deep dives, API comparisons)