# Seiche

> Track US dollar funding stress and money markets around the world with Seiche's free public data. Get a daily 0-100 funding-stress reading and briefing, stress readings for 40 money markets, official ECB and Federal Reserve exchange rates and their history, central bank rates and government bond yields for over 30 countries, currency and commodity pressure, and over 100 downloadable time series from oil prices to Treasury yields. Every value carries its own date and official source. No account or API key required.

App · 16 actions. Web page: https://docs.lodol.com/docs/integrations/seiche

## Actions

### Calculate gold financing cost

Work out what it costs to hold gold bought with borrowed money: the gold's value, the interest over the holding period, the total in US dollars and Indian rupees, the cost per gram and the gold price you need to break even. You supply every price and rate. No API key required.

**Inputs**

- Quantity (kg) (`quantity_kg`, number, required): How much gold, in kilograms, for example 10.
- Purity (`purity`, number, required): How pure the gold is. 0.995, 99.5 and 995 all mean 99.5% pure.
- Gold price (USD per ounce) (`gold_price_usd_per_oz`, number, required): The gold price in US dollars per troy ounce.
- Interest rate (% a year) (`annual_interest_rate_percent`, number, required): The yearly interest rate on the loan, for example 6.5. From 0 to 1000.
- Rupees per US dollar (`rupees_per_us_dollar`, number, required): How many Indian rupees one US dollar buys.
- Days held (`days`, number, required): How many days the gold is held and financed. From 0 to 3660.
- Fees (USD) (`fees_usd`, number): One-off fees in US dollars, such as vaulting or arrangement fees. They are added, not financed. None by default. At least 0. Default: `0`.
- Interest year (`day_count`, text): How many days make a year when interest is worked out. 360 by default, the usual choice for US dollar loans. One of: `360` (360-day year (usual for US dollar loans)), `365` (365-day year). Default: `360`.

**Outputs**

- `assumptions` (list): What the calculation assumes.
- `break_even_price_usd_per_oz` (number): The gold price per ounce at which selling covers every cost.
- `cost_inr_per_gram` (number): All-in cost per gram of pure gold, in rupees, before taxes, duties, delivery and insurance.
- `day_count` (number): The days in a year used for interest.
- `days` (number): The days held.
- `fees_usd` (number): The fees you entered, in USD.
- `fine_gold_grams` (number): Grams of pure gold.
- `fine_gold_troy_ounces` (number): Troy ounces of pure gold.
- `gold_value_usd` (number): What the gold is worth, in USD.
- `interest_cost_usd` (number): Interest over the holding period, in USD.
- `total_cost_inr` (number): The total cost in Indian rupees.
- `total_cost_usd` (number): Gold value plus interest plus fees, in USD.

**Example output**

```json
{
  "assumptions": [
    "Simple interest on metal value using ACT/360; fees are paid separately and are not financed."
  ],
  "break_even_price_usd_per_oz": 2440.56,
  "cost_inr_per_gram": 6591.14,
  "day_count": 360,
  "days": 90,
  "fees_usd": 500.0,
  "fine_gold_grams": 9950.0,
  "fine_gold_troy_ounces": 319.8999,
  "gold_value_usd": 767759.83,
  "interest_cost_usd": 12476.1,
  "total_cost_inr": 65581817.72,
  "total_cost_usd": 780735.93
}
```

### Get country interest rates

Get a country's latest central bank rates, overnight money market rates and banking-system cash figures, each with its date, recent change, a plain description and the official source it comes from. No API key required.

**Inputs**

- Country (`country`, text, required): The country to look up. The list holds every country Seiche covers; a two-letter code such as JP from an earlier step works too.
- Include figures with no value (`include_unavailable`, true/false): Also list figures Seiche tracks but has no current value for. Off by default. Default: `false`.

**Outputs**

- `as_of` (text): The date of the latest data.
- `available_count` (number): How many figures have a current value.
- `count` (number): How many figures are listed.
- `country_code` (text): The two-letter country code.
- `country_name` (text): The country's name.
- `currency` (text): The country's currency code.
- `headline` (text): Seiche's one-line title for the page.
- `notes` (list): Known gaps in the country's data.
- `rates` (list): The figures, grouped by kind.

**Example output**

```json
{
  "as_of": "2026-10-14",
  "available_count": 1,
  "count": 1,
  "country_code": "JP",
  "country_name": "Japan",
  "currency": "JPY",
  "headline": "Japan funding and sovereign references",
  "notes": [],
  "rates": [
    {
      "as_of": "2026-10-13",
      "change_1_day": 0.1,
      "change_20_day": 25.1,
      "change_unit": "bp",
      "description": "The rate on overnight cash without pledged collateral.",
      "freshness": "aging",
      "group": "Money market rates",
      "id": "JP.BOJ.TONA",
      "name": "TONA",
      "publisher": "Bank of Japan",
      "source_url": "https://www.stat-search.boj.or.jp/",
      "unit": "%",
      "value": 1.228
    }
  ]
}
```

### Get currency and commodity pressure

See which currencies are weakening fastest against the US dollar and which commodities are moving most, each scored from 0 to 100, with a one-line verdict on whether that pressure is reaching dollar funding costs. No API key required.

**Inputs**: None.

**Outputs**

- `as_of` (text): The date of the reading.
- `commodities` (list): The commodities under most pressure.
- `commodity_count` (number): How many commodities.
- `commodity_pressure` (number): Pressure from commodity prices, 0 to 100.
- `currencies` (list): The currencies under most pressure.
- `currency_count` (number): How many currencies.
- `currency_pressure` (number): Pressure from weakening currencies, 0 to 100.
- `funding_pressure` (number): How much of the pressure dollar funding costs already show, 0 to 100.
- `overall_pressure` (number): Combined currency and commodity pressure, 0 to 100.
- `pressure_gap` (number): Overall pressure minus funding pressure. A large gap means the pressure has not reached funding costs yet.
- `state` (text): The reading in words, such as 'Pressure held upstream'.
- `verdict` (text): One line summing up the reading.

**Example output**

```json
{
  "as_of": "2026-10-14",
  "commodities": [
    {
      "as_of": "2026-10-06",
      "category": "Energy",
      "change_unit": "$/bbl",
      "code": "BRENT",
      "direction": "Higher",
      "name": "Brent crude",
      "pressure": 92.5,
      "price": 125.44,
      "recent_change": 11.48,
      "unit": "$/bbl"
    }
  ],
  "commodity_count": 1,
  "commodity_pressure": 45.9,
  "currencies": [
    {
      "as_of": "2026-10-09",
      "change_20_day_percent": 8.42,
      "change_5_day_percent": 1.14,
      "change_60_day_percent": 5.57,
      "code": "MXN",
      "direction": "Weaker vs USD",
      "group": "Emerging markets",
      "name": "Mexican peso",
      "per_us_dollar": 18.399,
      "pressure": 85.5
    }
  ],
  "currency_count": 1,
  "currency_pressure": 82.9,
  "funding_pressure": 35.8,
  "overall_pressure": 66.2,
  "pressure_gap": 30.4,
  "state": "Pressure held upstream",
  "verdict": "Mexican peso and Brent crude carry the strongest upstream cash pressure, while SOFR \u2212 IORB remains materially less repriced. The gap is open; transmission is a risk, not a forecast."
}
```

### Get daily funding briefing

Get Seiche's daily briefing on US dollar funding: a headline, the main reason behind today's reading, the evidence for it, the counterpoints against it, and the dates to watch. Each finding carries its own date and source. No API key required.

**Inputs**: None.

**Outputs**

- `confidence` (text): How confident Seiche is, such as 'Guarded'.
- `confidence_note` (text): Why it is that confident.
- `counterpoints` (list): Findings that argue against the reading.
- `dates_to_watch` (list): Coming dates that could add pressure.
- `evidence` (list): Findings that support the reading.
- `evidence_count` (number): How many findings.
- `fresh_source_percent` (number): How many of them are up to date, in percent.
- `headline` (text): One line summing up today's reading.
- `main_driver` (object): The biggest single reason for the reading.
- `source_count` (number): How many data sources the briefing draws on.
- `stress_index` (number): Funding stress from 0 (calm) to 100.
- `stress_level` (text): Calm, Erosion, Strain or Stress.
- `summary` (text): A short paragraph with the key numbers.
- `thesis` (text): The briefing's main argument.
- `updated_at` (text): When Seiche last updated the briefing (UTC).

**Example output**

```json
{
  "confidence": "Guarded",
  "confidence_note": "The read is led by modelled or slow-moving structure while current market plumbing has not broadly confirmed it.",
  "counterpoints": [
    {
      "as_of": "2026-10-15",
      "finding": "Standing Repo Facility take-up is $0.11B; the backstop is not being tested in size.",
      "source": "New York Fed operations"
    }
  ],
  "dates_to_watch": [
    {
      "date": "2026-10-22",
      "event": "$272B auction settlement while reserves sit below the estimated kink"
    }
  ],
  "evidence": [
    {
      "as_of": "2026-10-14",
      "finding": "Reserves are $687B below the fitted kink, but SOFR is -2.2bp versus IORB; fit R-squared is 0.62.",
      "source": "FRED, NY Fed secured rates, BEA GDP",
      "title": "Reserve-demand curve"
    }
  ],
  "evidence_count": 1,
  "fresh_source_percent": 83.7,
  "headline": "The board reads EROSION (44/100). The Tell is +18, plumbing leads price.",
  "main_driver": {
    "name": "the dated reserve path",
    "points_added": 7.3,
    "score": 66.0
  },
  "source_count": 164,
  "stress_index": 43.6,
  "stress_level": "Erosion",
  "summary": "The board reads 44 out of 100, EROSION; the dated reserve path contributes 7.3 points.",
  "thesis": "The dated reserve path is the largest reason the board is not calm; the rest of the tape is mixed.",
  "updated_at": "2026-10-15T21:29:34+00:00"
}
```

### Get data series

Get the values of one data series, such as the WTI oil price, the 10-year Treasury yield or the SOFR overnight rate, newest first, with the latest value and how up to date it is. No API key required.

**Inputs**

- Series (`series`, text, required): The series to get. The list comes from Seiche; a series id such as WTI_SPOT from an earlier step works too.
- From (`start_date`, date): Only values on or after this date.
- Until (`end_date`, date): Only values on or before this date.
- Most values (`limit`, number): The most values to return, newest first. 100 by default. From 1 to 5000. Default: `100`.

**Outputs**

- `count` (number): How many values were returned.
- `frequency` (text): How often a new value appears.
- `freshness` (text): How up to date the series is: fresh, aging or stale.
- `id` (text): The series id.
- `latest_date` (text): The date of that value.
- `latest_value` (number): The newest value in the returned range.
- `name` (text): What the series measures.
- `points` (list): The values, newest first.
- `source` (text): Where the data comes from.
- `unit` (text): The unit its values are in.
- `updated_at` (text): When Seiche last fetched the series (UTC).

**Example output**

```json
{
  "count": 2,
  "frequency": "Daily",
  "freshness": "stale",
  "id": "WTI_SPOT",
  "latest_date": "2026-10-06",
  "latest_value": 96.24,
  "name": "WTI crude oil spot, Cushing",
  "points": [
    {
      "date": "2026-10-06",
      "value": 96.24
    },
    {
      "date": "2026-10-05",
      "value": 96.13
    }
  ],
  "source": "Federal Reserve Bank of St. Louis (FRED)",
  "unit": "$/bbl",
  "updated_at": "2026-10-15T19:05:09+00:00"
}
```

### Get exchange rate

Get the latest official reference exchange rate between two currencies from the European Central Bank or the US Federal Reserve, with how much it has moved over the last day, week, month and three months. Reference rates are published once a day, not live trading prices. No API key required.

**Inputs**

- From currency (`base_currency`, text, required): The currency you are converting from: one unit of it is priced. One of: `USD` (US dollar (USD)), `EUR` (Euro (EUR)), `GBP` (British pound (GBP)), `JPY` (Japanese yen (JPY)), `CHF` (Swiss franc (CHF)), `CAD` (Canadian dollar (CAD)), `AUD` (Australian dollar (AUD)), `NZD` (New Zealand dollar (NZD)), `CNY` (Chinese yuan (CNY)), `HKD` (Hong Kong dollar (HKD)), and 22 more.
- To currency (`quote_currency`, text, required): The currency the price is given in. One of: `USD` (US dollar (USD)), `EUR` (Euro (EUR)), `GBP` (British pound (GBP)), `JPY` (Japanese yen (JPY)), `CHF` (Swiss franc (CHF)), `CAD` (Canadian dollar (CAD)), `AUD` (Australian dollar (AUD)), `NZD` (New Zealand dollar (NZD)), `CNY` (Chinese yuan (CNY)), `HKD` (Hong Kong dollar (HKD)), and 22 more.
- Source (`source`, text): Whose official reference rates to use. The European Central Bank publishes every working day; the US Federal Reserve publishes once a week and adds the Sri Lankan rupee and New Taiwan dollar. One of: `ecb` (European Central Bank (daily, 30 currencies)), `h10` (US Federal Reserve (weekly, 23 currencies)). Default: `ecb`.

**Outputs**

- `as_of` (text): The date the rate was published for.
- `base_currency` (text): The currency being priced.
- `calculated` (true/false): True when the rate was worked out from two published rates (for example USD/JPY from the ECB's euro rates) rather than published directly.
- `change_1_day_percent` (number): Change since the previous published rate, in percent. Positive means the 'to' currency weakened.
- `change_20_day_percent` (number): Change over the last 20 published rates (about a month).
- `change_5_day_percent` (number): Change over the last 5 published rates.
- `change_60_day_percent` (number): Change over the last 60 published rates (about three months). Null when there is not enough history.
- `freshness` (text): How recent the rate is: fresh, aging, stale or dead.
- `pair` (text): The currency pair, such as EUR/USD.
- `publisher` (text): Who published the rate.
- `quote_currency` (text): The currency the price is given in.
- `rate` (number): How many units of the 'to' currency one unit buys.
- `source` (text): The source you chose.
- `source_url` (text): The publisher's page for these rates.
- `unit` (text): The rate's unit, such as 'USD per EUR'.
- `volatility_20_day_percent` (number): How much the rate has swung over the last 20 published rates, as a yearly percentage. Null when there is not enough history.

**Example output**

```json
{
  "as_of": "2026-10-15",
  "base_currency": "EUR",
  "calculated": false,
  "change_1_day_percent": 0.1161,
  "change_20_day_percent": -2.3778,
  "change_5_day_percent": 0.1967,
  "change_60_day_percent": -1.6152,
  "freshness": "fresh",
  "pair": "EUR/USD",
  "publisher": "European Central Bank",
  "quote_currency": "USD",
  "rate": 1.1208,
  "source": "European Central Bank",
  "source_url": "https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html",
  "unit": "USD per EUR",
  "volatility_20_day_percent": 5.3096
}
```

### Get exchange rate history

Get the official daily reference rates between two currencies over a period of up to ten years, newest first, with the lowest and highest rate in that period. No API key required.

**Inputs**

- From currency (`base_currency`, text, required): The currency you are converting from: one unit of it is priced. One of: `USD` (US dollar (USD)), `EUR` (Euro (EUR)), `GBP` (British pound (GBP)), `JPY` (Japanese yen (JPY)), `CHF` (Swiss franc (CHF)), `CAD` (Canadian dollar (CAD)), `AUD` (Australian dollar (AUD)), `NZD` (New Zealand dollar (NZD)), `CNY` (Chinese yuan (CNY)), `HKD` (Hong Kong dollar (HKD)), and 22 more.
- To currency (`quote_currency`, text, required): The currency the price is given in. One of: `USD` (US dollar (USD)), `EUR` (Euro (EUR)), `GBP` (British pound (GBP)), `JPY` (Japanese yen (JPY)), `CHF` (Swiss franc (CHF)), `CAD` (Canadian dollar (CAD)), `AUD` (Australian dollar (AUD)), `NZD` (New Zealand dollar (NZD)), `CNY` (Chinese yuan (CNY)), `HKD` (Hong Kong dollar (HKD)), and 22 more.
- Period (`period`, text): How far back to go. One year by default. One of: `1_month` (1 month), `3_months` (3 months), `6_months` (6 months), `1_year` (1 year), `2_years` (2 years), `5_years` (5 years), `10_years` (10 years). Default: `1_year`.
- Source (`source`, text): Whose official reference rates to use. The European Central Bank publishes every working day; the US Federal Reserve publishes once a week and adds the Sri Lankan rupee and New Taiwan dollar. One of: `ecb` (European Central Bank (daily, 30 currencies)), `h10` (US Federal Reserve (weekly, 23 currencies)). Default: `ecb`.

**Outputs**

- `base_currency` (text): The currency being priced.
- `count` (number): How many rates.
- `end_date` (text): The date of the newest rate.
- `highest_rate` (number): The highest rate in the period.
- `latest_rate` (number): The newest rate.
- `lowest_rate` (number): The lowest rate in the period.
- `pair` (text): The currency pair, such as GBP/EUR.
- `period` (text): The period you chose.
- `quote_currency` (text): The currency the price is given in.
- `rates` (list): One rate per publishing day, newest first.
- `source` (text): Who published the rates.
- `start_date` (text): The date of the oldest rate.
- `unit` (text): The rates' unit, such as 'EUR per GBP'.

**Example output**

```json
{
  "base_currency": "GBP",
  "count": 2,
  "end_date": "2026-10-15",
  "highest_rate": 1.1850447354387628,
  "latest_rate": 1.181893393215932,
  "lowest_rate": 1.181893393215932,
  "pair": "GBP/EUR",
  "period": "3_months",
  "quote_currency": "EUR",
  "rates": [
    {
      "date": "2026-10-15",
      "rate": 1.181893393215932
    },
    {
      "date": "2026-10-14",
      "rate": 1.1850447354387628
    }
  ],
  "source": "European Central Bank",
  "start_date": "2026-10-14",
  "unit": "EUR per GBP"
}
```

### Get government bond yields

Get a country's government bond yields from short to long maturities, as published by its finance ministry or central bank, and for euro countries the gap to Germany's 10-year yield. No API key required.

**Inputs**

- Country (`country`, text, required): The country to look up. The list holds every country Seiche covers; a two-letter code such as JP from an earlier step works too.

**Outputs**

- `as_of` (text): The date of the latest data.
- `count` (number): How many yields are listed.
- `country_code` (text): The two-letter country code.
- `country_name` (text): The country's name.
- `currency` (text): The country's currency code.
- `notes` (list): Known gaps in the country's yields.
- `spread_to_germany_as_of` (text): The date of that comparison.
- `spread_to_germany_bp` (number): For euro countries, how much higher the 10-year yield is than Germany's, in hundredths of a percent. Null otherwise.
- `yields` (list): The yields, shortest maturity first.

**Example output**

```json
{
  "as_of": "2026-10-14",
  "count": 1,
  "country_code": "JP",
  "country_name": "Japan",
  "currency": "JPY",
  "notes": [],
  "spread_to_germany_as_of": null,
  "spread_to_germany_bp": null,
  "yields": [
    {
      "as_of": "2026-10-14",
      "curve": "Constant-maturity yields",
      "freshness": "unknown",
      "maturity_years": 10.0,
      "name": "JP MOF JGB 10Y",
      "yield_percent": 3.015
    }
  ]
}
```

### Get market stress

Get a market's current funding-stress reading from 0 to 100, measured against that market's own history, and the parts it is built from. Markets that only carry reference rates say so instead of showing a number. No API key required.

**Inputs**

- Market (`market`, text, required): The market to read, such as the United States dollar or the euro area. The list comes from Seiche; a market id such as US-USD from an earlier step works too.

**Outputs**

- `available` (true/false): True when Seiche publishes a stress reading for this market. Many markets carry reference rates only.
- `component_count` (number): How many parts are listed.
- `components` (list): The parts the reading is built from, highest score first.
- `countries` (list): Two-letter codes of the countries this market covers.
- `currency` (text): The market's currency code.
- `data_as_of` (text): The date of the latest data in the reading.
- `explanation` (text): Why the reading is or is not available, in Seiche's words.
- `market_id` (text): The market's id, such as US-USD.
- `stress_index` (number): The stress reading from 0 (calm) to 100 (severe stress), compared with the market's own history. Null when not available.
- `stress_level` (text): In words: for the US dollar Calm (0-25), Erosion (25-45), Strain (45-70) or Stress (70-100); other markets use their own scale, such as Watch or Severe.
- `updated_at` (text): When Seiche last updated the reading (UTC).

**Example output**

```json
{
  "available": true,
  "component_count": 1,
  "components": [
    {
      "id": "policy_relative_overnight",
      "name": "Overnight rate compared with the central bank's rate",
      "score": 74.9,
      "status": "ready",
      "weight_percent": 55.0
    }
  ],
  "countries": [
    "AT",
    "BE",
    "DE",
    "ES",
    "FR",
    "IT",
    "NL"
  ],
  "currency": "EUR",
  "data_as_of": "2026-10-14",
  "explanation": "All required components are ready",
  "market_id": "EA-EUR",
  "stress_index": 55.7,
  "stress_level": "Strain",
  "updated_at": "2026-10-15T20:48:37+00:00"
}
```

### Get oil prices and funding costs

Get the WTI and Brent oil prices beside US energy and core inflation, the Federal Reserve's reserve rate and what companies pay to borrow for three months, so you can see oil and money markets side by side. No API key required.

**Inputs**: None.

**Outputs**

- `as_of` (text): The date of the snapshot.
- `brent` (object): European crude oil (Brent).
- `core_inflation_percent` (number): US prices without food and energy, change over a year in percent.
- `energy_inflation_percent` (number): US energy prices, change over a year in percent.
- `fed_reserve_rate_percent` (number): The interest the Federal Reserve pays banks on their reserves, in percent.
- `funding_spread_count` (number): How many spreads.
- `funding_spreads` (list): Short-term borrowing costs compared with safe benchmarks.
- `inflation_as_of` (text): The month the inflation figures are for.
- `rupees_per_us_dollar` (number): Indian rupees one US dollar buys.
- `wti` (object): US crude oil (WTI, Cushing).

**Example output**

```json
{
  "as_of": "2026-10-16",
  "brent": {
    "as_of": "2026-10-06",
    "change_20_day_percent": 18.21,
    "change_5_day_usd": 11.48,
    "price_usd_per_barrel": 125.44
  },
  "core_inflation_percent": 2.79,
  "energy_inflation_percent": 22.08,
  "fed_reserve_rate_percent": 3.9,
  "funding_spread_count": 1,
  "funding_spreads": [
    {
      "as_of": "2026-10-14",
      "change_20_day_bp": -1.0,
      "id": "sofr_iorb",
      "name": "Overnight repo rate vs the Fed's reserve rate",
      "percentile_3_year": 71.2,
      "spread_bp": -2.0
    }
  ],
  "inflation_as_of": "2026-09-01",
  "rupees_per_us_dollar": 96.73,
  "wti": {
    "as_of": "2026-10-06",
    "change_20_day_percent": 2.15,
    "change_5_day_usd": 0.08,
    "price_usd_per_barrel": 96.24
  }
}
```

### Get past market stress

Get the funding-stress reading Seiche had published for a market by the end of a past day, exactly as it stood then. Stored readings start in mid-2026. No API key required.

**Inputs**

- Market (`market`, text, required): The market to read, such as the United States dollar or the euro area. The list comes from Seiche; a market id such as US-USD from an earlier step works too.
- Date (`date`, date, required): The day to look back to. You get the last reading published by the end of that day (UTC).

**Outputs**

- `available` (true/false): True when Seiche publishes a stress reading for this market. Many markets carry reference rates only.
- `component_count` (number): How many parts are listed.
- `components` (list): The parts the reading is built from, highest score first.
- `countries` (list): Two-letter codes of the countries this market covers.
- `currency` (text): The market's currency code.
- `data_as_of` (text): The date of the latest data in the reading.
- `explanation` (text): Why the reading is or is not available, in Seiche's words.
- `market_id` (text): The market's id, such as US-USD.
- `requested_date` (text): The date you asked about.
- `stress_index` (number): The stress reading from 0 (calm) to 100 (severe stress), compared with the market's own history. Null when not available.
- `stress_level` (text): In words: for the US dollar Calm (0-25), Erosion (25-45), Strain (45-70) or Stress (70-100); other markets use their own scale, such as Watch or Severe.
- `updated_at` (text): When Seiche last updated the reading (UTC).

**Example output**

```json
{
  "available": true,
  "component_count": 1,
  "components": [
    {
      "id": "policy_relative_overnight",
      "name": "Overnight rate compared with the central bank's rate",
      "score": 74.9,
      "status": "ready",
      "weight_percent": null
    }
  ],
  "countries": [
    "AT",
    "BE",
    "DE",
    "ES",
    "FR",
    "IT",
    "NL"
  ],
  "currency": "EUR",
  "data_as_of": "2026-09-30",
  "explanation": "All required components are ready",
  "market_id": "EA-EUR",
  "requested_date": "2026-10-01",
  "stress_index": 61.1,
  "stress_level": "Strain",
  "updated_at": "2026-10-01T20:43:36+00:00"
}
```

### Get US dollar funding stress

Get Seiche's US dollar funding-stress gauge: a 0-100 reading of how hard it is for banks to borrow dollars overnight, the chance of a funding squeeze in the next five business days, and the upcoming dates when pressure usually builds. No API key required.

**Inputs**: None.

**Outputs**

- `crunch_date_count` (number): How many crunch dates.
- `crunch_dates` (list): Coming dates when large payments could drain cash from the banking system.
- `data_coverage_percent` (number): How much of the gauge had live data, in percent.
- `funding_event_chance_percent` (number): Seiche's estimated chance of a funding squeeze in the next five business days, in percent.
- `next_pressure_date` (object): The next date when funding pressure usually builds, such as a month end.
- `plumbing_lead_points` (number): How far stress in the funding system runs ahead of what market prices show, in percentile points. Positive means prices have not caught up yet.
- `stress_index` (number): Funding stress from 0 (calm) to 100 (severe stress).
- `stress_level` (text): The reading in words: Calm (0-25), Erosion (25-45), Strain (45-70) or Stress (70-100).
- `updated_at` (text): When Seiche last updated the gauge (UTC).

**Example output**

```json
{
  "crunch_date_count": 1,
  "crunch_dates": [
    {
      "date": "2026-10-22",
      "reason": "$272B auction settlement while reserves sit below the estimated kink",
      "reserves_forecast_billions": 3025.7,
      "reserves_worst_case_billions": 2963.2,
      "settlement_billions": 272.0
    }
  ],
  "data_coverage_percent": 100.0,
  "funding_event_chance_percent": 6.9,
  "next_pressure_date": {
    "date": "2026-10-30",
    "expected_move_bp": 3.8,
    "high_estimate_bp": 9.2,
    "kind": "Month end",
    "low_estimate_bp": -0.1,
    "severity": 2
  },
  "plumbing_lead_points": 17.6,
  "stress_index": 43.6,
  "stress_level": "Erosion",
  "updated_at": "2026-10-15T21:29:34+00:00"
}
```

### List countries

List the countries Seiche has interest rates and government bond yields for, with each one's currency and the central bank that sets its rates. No API key required.

**Inputs**

- Search (`search`, text): Only entries containing this text. Not case sensitive. Matches the country's name, code or currency. Leave it empty for every country.

**Outputs**

- `count` (number): How many countries were found.
- `countries` (list): The countries, by name.

**Example output**

```json
{
  "count": 1,
  "countries": [
    {
      "code": "JP",
      "currency": "JPY",
      "market_id": "JP-JPY",
      "monetary_policy_area": "Japan",
      "name": "Japan"
    }
  ]
}
```

### List data series

List the time series Seiche publishes for download: interest rates, oil and gas prices, metals and crops, exchange rates, inflation and central bank balance sheets. Use a series id with Get data series. No API key required.

**Inputs**

- Search (`search`, text): Only entries containing this text. Not case sensitive. Matches the series' name, id, unit or source. Leave it empty for every series.

**Outputs**

- `count` (number): How many series were found.
- `series` (list): The series, by name.

**Example output**

```json
{
  "count": 1,
  "series": [
    {
      "frequency": "Daily",
      "id": "WTI_SPOT",
      "name": "WTI crude oil spot, Cushing",
      "publication_lag": "Published same day to next business day",
      "source": "Federal Reserve Bank of St. Louis (FRED)",
      "unit": "$/bbl"
    }
  ]
}
```

### List exchange rates

Get the latest official reference rate from one currency into every other currency the European Central Bank or the US Federal Reserve publishes, each with its recent changes. No API key required.

**Inputs**

- From currency (`base_currency`, text, required): The currency you are converting from: one unit of it is priced. One of: `USD` (US dollar (USD)), `EUR` (Euro (EUR)), `GBP` (British pound (GBP)), `JPY` (Japanese yen (JPY)), `CHF` (Swiss franc (CHF)), `CAD` (Canadian dollar (CAD)), `AUD` (Australian dollar (AUD)), `NZD` (New Zealand dollar (NZD)), `CNY` (Chinese yuan (CNY)), `HKD` (Hong Kong dollar (HKD)), and 22 more.
- Source (`source`, text): Whose official reference rates to use. The European Central Bank publishes every working day; the US Federal Reserve publishes once a week and adds the Sri Lankan rupee and New Taiwan dollar. One of: `ecb` (European Central Bank (daily, 30 currencies)), `h10` (US Federal Reserve (weekly, 23 currencies)). Default: `ecb`.

**Outputs**

- `base_currency` (text): The currency being priced.
- `count` (number): How many rates.
- `rates` (list): One rate per currency, by currency code.
- `source` (text): Who published the rates.

**Example output**

```json
{
  "base_currency": "EUR",
  "count": 1,
  "rates": [
    {
      "as_of": "2026-10-15",
      "base_currency": "EUR",
      "calculated": false,
      "change_1_day_percent": 0.1161,
      "change_20_day_percent": -2.3778,
      "change_5_day_percent": 0.1967,
      "change_60_day_percent": -1.6152,
      "freshness": "fresh",
      "pair": "EUR/USD",
      "publisher": "European Central Bank",
      "quote_currency": "USD",
      "rate": 1.1208,
      "source_url": "https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html",
      "unit": "USD per EUR",
      "volatility_20_day_percent": 5.3096
    }
  ],
  "source": "European Central Bank"
}
```

### List markets

List the money markets Seiche tracks, from the US dollar and the euro area to single euro countries, with each one's currency, countries and the date of its latest data. Use a market's id with Get market stress. No API key required.

**Inputs**

- Search (`search`, text): Only entries containing this text. Not case sensitive. Matches the market's name, id, currency or country codes. Leave it empty for every market.

**Outputs**

- `count` (number): How many markets were found.
- `markets` (list): The markets, by name.

**Example output**

```json
{
  "count": 1,
  "markets": [
    {
      "countries": [
        "AT",
        "BE",
        "DE",
        "ES",
        "FR",
        "IT",
        "NL"
      ],
      "currency": "EUR",
      "latest_data_date": "2026-10-14",
      "market_id": "EA-EUR",
      "name": "Euro area",
      "support": "reference",
      "time_zone": "Europe/Berlin",
      "updated_at": "2026-10-15T20:48:37+00:00"
    }
  ]
}
```
