Treasury auction and yields API

One call for a US rates snapshot: Treasury par curve with 2s10s, 3m10y and 5s30s and their changes, upcoming Treasury auctions with ET close times, and recent results with bid-to-cover and dealer share versus prior auctions.

Agents that touch rates, futures or macro need three things before the session: where the curve is, which Treasury auctions are coming, and how the last ones went. GET /rates/treasury-desk packs all three into one response, with a three-line headline you can drop straight into a prompt.

What you get

Example

GET /rates/treasury-desk
GET /rates/treasury-desk?days=30&results=10
GET /rates/treasury-desk?bills=1

Trimmed real response on Nov 11, 2026:

{
  "headline": [
    "Next: 30-Year Bond auction closes 2026-11-12 13:00 ET (in 26h)",
    "2026-11-10: 2y 4.73%, 10y 4.98%, 2s10s 25 bp (-7 bp d/d), curve normal",
    "Last: 10-Year Note 2026-11-10, 5.02%, bid-to-cover 2.46x vs 2.6x prior avg (weak)"
  ],
  "curve": { "date": "2026-11-10", "spreadsBp": { "twosTens": 25, "threeMonthTenYear": 68 },
             "changeBp": { "1d": { "2y": 17, "10y": 10 } } },
  "recentResults": [
    { "security": "10-Year Note", "highYield": 5.02, "bidToCover": 2.46,
      "dealerPct": 9.8, "vsPrior": { "avgBidToCover": 2.6, "avgDealerPct": 7.5 }, "demand": "weak" }
  ]
}

Price and payment

$0.01 per call over x402, in USDC on Base or Solana. A bad parameter gets a 400 before any payment. The route is also a tool called treasury_desk on the remote MCP server. Auctions also appear as events in the session brief and the event-risk gate.

Sources and limits

All data is from the US Treasury: the daily par yield curve (end of day, not published on bond-market holidays), TreasuryDirect auction announcements and results, and Treasury Fiscal Data as a fallback. The demand label is a simple comparison with past auctions, not a when-issued tail. Nothing here is investment advice.

Try it free

Get a free API key (100 calls a month, no card), then pass it in the x-api-key header. This route uses 1 call of the monthly quota.

curl -X POST https://signals.incomefather.com/billing/free \
  -H 'content-type: application/json' -d '{"email":"you@example.com"}'

curl -H "x-api-key: $TRADING_SIGNALS_API_KEY" \
  "https://signals.incomefather.com/rates/treasury-desk"

Agents that hold a wallet can skip the key entirely and pay per call over x402 (see x402 pay-per-call market data). Copy-paste code for curl, JavaScript, Python, MCP (Claude Desktop, Cursor, Cline), LangChain and the OpenAI Agents SDK is in gdietsch/trading-signals-examples.

More guides