The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the SBOR listing page.
Every lending venue in Bitcoin DeFi quotes its own rate. SBOR publishes the market rate, read from contract state on Stacks, Base and Ethereum.
A single venue's number cannot tell anyone, human or agent, whether the rate they are offered is fair. SBOR, the Stacks Bitcoin Offered Rate, is a benchmark for exactly that. On Stacks, where it started, it publishes one borrow and one supply rate per currency: the SBOR indices. On Base and Ethereum, it publishes what it costs to borrow USDC against bitcoin, read from the Morpho contracts. All of it is read from contract state and published daily, beside the largest lending markets on Ethereum, Base, Solana and Hyperliquid for comparison. Free, no key, no rate limit, open to any agent on any chain.
Live at sbor.xyz
Stacks is a Bitcoin layer where smart contracts written in Clarity settle to Bitcoin. It is where sBTC, a bitcoin-backed asset, and USDCx, Circle's native USDC, are lent and borrowed.
Every lending market on Stacks prices money differently, so there was no way to say what capital actually costs on the chain without opening each application and comparing by hand.
SBOR publishes one borrow rate and one supply rate per currency, weighted by market depth and read directly from lending contract state rather than from any venue's published figure.
The model is SOFR, not a yield aggregator. SBOR does not route capital, hold deposits, or recommend anything. It publishes a statistic.
Use it as a yardstick. Borrowing above SBOR means paying more than the market. Supplying below it means earning less.
| Index | Covers |
|---|---|
SBOR-USD | dollar markets, USDCx and USDh |
SBOR-BTC | sBTC markets |
SBOR-STX | STX and stSTX markets |
Published beside them, never inside them: a Proof of Transfer staking reference, and the same asset classes on the largest lending markets on Ethereum, Base, Hyperliquid and Solana, for comparison.
From the fixing of 25 September 2026, each fixing also carries
bitcoinCollateralUsdc: what it costs to borrow USDC against bitcoin, read from
the Morpho Blue markets on Base and Ethereum whose only collateral is cbBTC or
WBTC. Each market is published with its rate, utilization and depth, and a
reference weighted by depth when every market was read. It is a reference, not
an SBOR index, and never enters a fixing.
No key, no registration, no rate limit, no fee. CORS open.
| Endpoint | What |
|---|---|
/api/v1/latest.json | current fixing, with constituents |
/api/v1/history.json | rolling 200 day series |
/api/v1/history-index.json | the full record, sharded by year |
/api/v1/archive-index.json | every date available, for per date lookup |
/api/v1/inversions.json | cross venue spread, checked every three hours |
/api/v1/inversion-log.json | append-only record of every inversion found |
/api/v1/changes.json | protocol parameter changes, newest first, from 24 September 2026 |
/api/v1/archive/ | immutable daily snapshots |
/latest.txt | current fixing, plain text |
/weekly.txt | weekly report, plain text |
/llms.txt | methodology and integration policy |
Build against /api/v1/. Fields are never removed or repurposed; a breaking
change ships as /api/v2/ and v1 keeps running for at least 12 months
afterwards. Full policy in llms.txt.
Check the rate against SBOR before you borrow. On Stacks the same dollar can cost nearly twice as much at one venue as at another, on the same day, and every venue publishes only its own number.
The rule: if an offer is more than 50 basis points above the SBOR borrow rate for that currency, stop and ask a human. Use SBOR to stop, never to start. A wrong reading under that rule costs a pause, not a trade.
As an MCP tool, in Claude Desktop, Cowork, Cursor or any MCP client:
As a remote MCP server, for Claude on the web, ChatGPT and any client that connects by address, with nothing to install:
No key and no sign-in. The remote server is built from the same code as the
local one, so both give the same answers. Then call compare_rate. Setup for
each client is in mcp/, and the short version for agents is
AGENTS.md.
Over plain HTTP, no key, no registration, no fee, CORS open. Licensed CC BY 4.0, so you can build on it commercially without asking.
Four things to get right:
venues before quoting a rate. An index covering one venue is a
reading of that venue, not a market average.Machine-readable context and the full integration policy are at llms.txt.
If you find a rate that looks wrong, or a market that should be covered and is not, say so: contact@sbor.xyz. Corrections are the point.
If SBOR was useful and you post publicly, cite it or follow @SBORindex. A benchmark is worth what people reference it for.
Every fixing records the methodology version it was produced under. Full methodology at sbor.xyz and in llms.txt.
Lending rates from Zest and Granite contract state. Protocol yield and staking context from StackingDAO. The BTC to STX rate used for the staking reference from Bitflow, quoted in both directions. Proof of Transfer rewards from Hiro. Depth read on-chain where available and from DefiLlama otherwise.
In the comparison, Aave on Ethereum and Base is read from Aave's contracts, on the same basis as SBOR. The other chains, Hyperliquid and Solana, and Morpho on Base, come from DefiLlama, so small differences are expected for those. SOFR and its averages come from the Federal Reserve Bank of New York. Spot prices, recorded as context only, come from CoinGecko. Every source is named on the site and in the machine-readable documentation.
A GitHub Action computes the fixing and commits it. It is attempted up to four times a day, because the scheduler can drop runs, and the first to land is final: later attempts are backups that run only if the day has no fixing yet. The site serves directly from this repository, so the published record and the site are the same files. Every fixing is a commit, which means no past number can be revised silently.
Independent: no token, and no stake in or payment from any venue SBOR measures. It is not affiliated with Stacks, the Stacks Foundation, or any protocol in the index, and publishes whatever the market does, including numbers unfavorable to the ecosystem. It does not trade on its own rate. Grant funding, when received, is disclosed.
Published fixings are never rewritten. Corrections to published figures are listed in CORRECTIONS.md. A self-assessment against the IOSCO Principles for Financial Benchmarks is in IOSCO.md.
Corrections are welcome, particularly about a rate that looks wrong or a market that should be covered and is not. Open an issue or write to contact@sbor.xyz.
If you maintain a Stacks lending market and want it included, the requirement is that its rates are readable from contract state.
Code: MIT. Data: CC BY 4.0.
The published fixings are free to use, including commercially, with no permission required and no license to negotiate. Attribution is the only condition: name SBOR and link to sbor.xyz where practical.
Agents are explicitly welcome. Scrapers, scripts, bots and AI agents may read any endpoint. No rate limit, no registration.
Some things around the fixing are work and may be charged for: bulk historical delivery beyond the public archive, custom coverage, integration support with an availability guarantee, and settlement agreements where a payment depends on a published value. None of that restricts the free data. Full terms in LICENSE-DATA.md.
SBOR is a statistic, not investment advice, and is provided as is without warranty. It is a tool for making better decisions, not a recommendation to make any.
sbor.xyz · @SBORindex · contact@sbor.xyz · sbor.btc · sbor.stx
Last updated 28 September 2026.