Skip to main content
Glama

Gavel Yield Curve

get_yield_curve

Returns the current fitted Gavel yield curve for the requested collateral/loan pair. Rates are oracle-free, derived from auctions in The Gavel Protocol. The curve is a log-quadratic fit through binned midpoints.

IMPORTANT — every rate returned is an evaluation of the fitted curve, not an observed trade, and the published tenor set extends past the deepest observation. Tenors with no underlying bin data are returned as fitted values and listed in 'extrapolated_tenors'; treat those as model output only. Read 'provenance' before using the curve as a market reference: it carries the observation count, the number of distinct counterparties, the external share, and a disclosure stating whether this is yet an independent market assessment. Check fit.r_squared and fit.fitted_to — R-squared is measured against bin means, not raw scatter, so at low observation counts it reflects smoothness rather than goodness of fit.

Useful for: comparing fixed-term BTC-collateralised borrow rates across maturities, deriving the term premium, sourcing the Gavel layer of the Bitcoin Credit Stack. This tool returns data; it does not advise.

Returns: { pair, computed_at, status, rates, extrapolated_tenors, fit_observation_count, provenance, fit: {r_squared, rmse, model, fitted_to} }. Note 'fit_observation_count' counts only the loans the fit was computed over (binning is active-loans-only, so settled loans are excluded), whereas 'provenance.observation_count' counts the full scatter — they legitimately differ. Optional 'include_points' returns the raw scatter backing the fit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pairNoCollateral/loan pair. Default 'WBTC/USDC'. Currently the only live pair on mainnet.WBTC/USDC
include_pointsNoIf true, include the underlying scatter points used to fit the curve. Larger response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full disclosure burden and succeeds impressively: it warns every rate is a fitted evaluation, not an observed trade; explains extrapolated_tenors are model output; clarifies R-squared is measured against bin means, not raw scatter; and distinguishes fit_observation_count from provenance.observation_count. This is unusually transparent about caveats and interpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Long, but every section earns its place: a one-sentence purpose, a caveat block, use cases, and the exact return shape. It is front-loaded with the most important fact — that returned rates are fitted values, not trades — and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description supplies a complete return-shape listing, explains the meaning of the two observation counts, and warns about provenance and fit-quality interpretation. For a tool with this much nuance, nothing an agent needs to call and interpret it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents both parameters at 100% coverage, including defaults and the response-size caveat. The description adds only 'raw scatter backing the fit,' which is marginal and largely redundant with the schema's 'underlying scatter points used to fit the curve.' Baseline 3 applies because the schema does the semantic heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

First sentence states a specific verb ('Returns') and resource ('current fitted Gavel yield curve for the requested collateral/loan pair'), with model details like oracle-free and log-quadratic fit. This clearly differentiates the tool from sibling data tools, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Includes an explicit 'Useful for' list naming concrete use cases (comparing fixed-term BTC-collateralised borrow rates, deriving term premium, sourcing the Gavel layer) and a clear boundary statement ('returns data; it does not advise'). It does not name when not to use the tool or a sibling alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.