SBOR

xyz.sborPublished by sbor.xyzOfficial publisherv1.3.0Updated Oct 24, 2026

Check a lending rate before your agent borrows. Bitcoin-backed dollar rates from contracts. No key.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

SBOR exposes read-only benchmark lending rates for borrowing dollars against bitcoin, letting an assistant check and compare rates before a loan.

What you can do
Look up current benchmark borrow and supply rates for bitcoin-collateralized dollar loans and Stacks currency indices, with per-stablecoin rates and market composition including utilization, depth and weight. Compare an offered rate against the market benchmark and see how far above or below it sits. Review daily rate history and how the cost of capital has moved. Compare Stacks rates with lending markets on Ethereum, Base, Hyperliquid and Solana, plus SOFR and the US repo rate. Read the full methodology and integration policy behind each fixing.
When to use it
Use it when an assistant or agent is about to borrow against bitcoin and should first check whether the offered rate is reasonable. It is meant as a stop check before a loan, not as a signal to start trading.
Requirements
Runs either as a remote streamable HTTP endpoint at mcp.sbor.xyz or as a local npm package (sbor-mcp) via npx with Node.js. No API key, sign-in or account is needed. Network access to SBOR is required; the SBOR_BASE variable can point at a different host.
Before you install
All six tools are read-only and the server declares no key, state, writes or telemetry. Rates are informational benchmarks, not financial advice; the server refuses to answer when data is stale, missing or SBOR is unreachable, and an error means no trustworthy answer rather than a bad rate. It is intended to pause a decision, not to authorize a trade.

Installation

In SourceWeft

  1. Open SBOR in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/xyz.sbor%2Fsbor/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "sbor": {
      "type": "http",
      "url": "https://mcp.sbor.xyz/mcp"
    }
  }
}

README

SBOR MCP server

Check a lending rate before your agent borrows.

SBOR publishes benchmark lending rates for borrowing against bitcoin, read from lending contract state and published daily: what it costs to borrow dollars against bitcoin, with a rate per stablecoin, and one borrow and one supply rate per currency on Stacks. This server exposes it as tools for Claude, Cowork, Cursor or any MCP client. Each day's fixing is also posted on-chain, on Arc, Base, Hyperliquid, Solana and Stacks.

Quick check

bash
npx -y sbor-mcp

It starts and waits silently. That is success. Ctrl+C to exit.

Install

json
{  "mcpServers": {    "sbor": {      "command": "npx",      "args": ["-y", "sbor-mcp"]    }  }}

Claude Desktop: add that to claude_desktop_config.json and restart.

Or connect by address, with nothing to install

https://mcp.sbor.xyz/mcp

Streamable HTTP, no key, no sign-in. Works as a custom connector in Claude on the web and in any MCP client that accepts a URL. The remote server is generated from this one, so both give the same answers.

Tools

ToolWhat it answers
get_rateWhat does capital cost on Stacks right now, and what does borrowing USDC against bitcoin cost
compare_rateIs this offer above or below the market, and by how much
list_marketsWhich venues make up the rate, with utilization and depth
get_historyHow has the rate moved
compare_chainsHow Stacks compares with Ethereum, Base, Hyperliquid, Solana and SOFR
get_methodologyHow the number is built, and what it excludes

All six tools are read-only.

Benchmarks

From the fixing of 14 October 2026 (methodology 1.13.0, notice):

  • BTC-COLLATERAL-USD is the SBOR headline: what it costs to borrow any dollar stablecoin against plain 1:1 bitcoin, across every eligible market on Ethereum, Base, Arc, Arbitrum, BNB Chain and Stacks.
  • BTC-COLLATERAL-USDC, BTC-COLLATERAL-USDT, BTC-COLLATERAL-RLUSD, BTC-COLLATERAL-PYUSD and BTC-COLLATERAL-USD1 are the rates per stablecoin, each published once $25M or more of it carries weight. BTC-COLLATERAL-USDC keeps its name and history from 25 September 2026.
  • SBOR-USD, SBOR-BTC and SBOR-STX are the Stacks indices, unchanged.

To check a dollar loan against bitcoin, compare with the stablecoin's own rate where one is published, else with BTC-COLLATERAL-USD. Before 14 October, only BTC-COLLATERAL-USDC is published (Morpho on Base, Ethereum and Arc), and the other codes answer that they start on that date.

Recommended use

Use SBOR to stop, never to start. Before borrowing, call compare_rate. If the offer is more than 50 basis points above the benchmark, stop and ask a human. A wrong reading under that rule costs a pause, not a trade.

Behavior worth knowing

It refuses rather than guesses. compare_rate returns an error, not a verdict, when the data is more than 48 hours old, when the fixing timestamp cannot be read, when the index is not published, or when a rate is missing. An error means there is no trustworthy answer, not that the rate is bad. Fall back to your own logic.

It checks units. Rates are percentages: 4.2 means 4.2%. Anything outside 0 to 100 is rejected. Below 0.5 is answered, because rates that low genuinely occur, but with a warning that you may have passed a fraction.

It never averages across a methodology change. get_history gives a mean per methodology version when a window spans more than one.

It never guesses when SBOR is down. If SBOR is unreachable or slower than 10 seconds, the tool says so rather than substituting an estimate.

It reports omissions. When a market cannot be read, SBOR omits the index rather than publishing a figure it cannot stand behind. The tool explains that instead of returning nothing.

It surfaces concentration. An index covering one venue is a reading of that venue, not a market average, and get_rate says so.

It reads the same public endpoints as everyone else. No key, no state, no writes, no telemetry. Set SBOR_BASE to point at a different host.

License

MIT. The published fixing is free to read. See llms.txt for the full integration policy.

Last updated 8 October 2026.

Source: mcp/README.md at commit 9f411cf

Tools

6

get_rate

Get the current SBOR fixing

SBOR's benchmark borrow and supply rates, read from lending contract state: BTC-COLLATERAL-USD, what it costs to borrow dollars against bitcoin, with a rate per stablecoin (from 14 October 2026), and the currency indices for lending on Stacks. Use this to judge whether a lending offer is good: borrowing above the SBOR borrow rate means paying more than the market, supplying below the supply rate means earning less. Returns every currency index unless one is named. Always read the freshness line first.

Parametersindex

compare_rate

Compare a rate against the SBOR benchmark

Given a rate you have been offered, say whether it is above or below the market for that currency, and by how much. This is the main reason SBOR exists. Recommended use: if a borrow offer is more than 50 basis points above the benchmark, stop and ask a human. Use SBOR to stop, never to start. For a dollar loan against bitcoin, compare with that stablecoin's rate (for example BTC-COLLATERAL-USDC) where one is published, else with BTC-COLLATERAL-USD; for lending on Stacks against other collateral, with the index for the currency. This tool refuses rather than guesses: an error result means there is no trustworthy answer, not that the rate is bad.

Parametersraterequiredsiderequiredindexrequired

list_markets

List the lending markets behind a rate

Every venue and asset in an index, with its borrow rate, supply rate, utilization, depth and weight. Utilization explains why a rate sits where it does.

Parametersindex

get_history

Get the SBOR history

Daily fixings since each rate began. Use this to see whether a rate is unusual, or how the cost of capital has moved. Means are given per methodology version, never across a change in how the number is built.

Parametersdaysindexrequired

compare_chains

Compare Stacks rates against the same markets on other chains

The same asset classes on the largest lending markets on Ethereum, Base, Hyperliquid and Solana, plus SOFR, the US repo rate, and what it costs to borrow dollars against bitcoin. Context only: none of these is ever a constituent of an SBOR index. Every rate is read from the venues' contracts (Aave on Ethereum and Base, HyperLend on Hyperliquid, Kamino on Solana, Morpho for the bitcoin-collateral markets); DefiLlama picks the largest market per chain, gives its size, and stands in only if a read fails.

Parametersindex

get_methodology

How SBOR is calculated

The full methodology and integration policy: how the fixing is built, what is excluded and why, and what SBOR will and will not do. Read this before quoting a rate in anything that matters.

Takes no parameters.

Version history

5
  1. v1.3.0LatestOct 12, 2026
  2. v1.2.2Oct 9, 2026
  3. v1.2.1Oct 2, 2026
  4. v1.2.0Sep 25, 2026
  5. v1.1.4Sep 23, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts