# SBOR

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

- name: xyz.sbor/sbor
- version: 1.3.0
- connection class: R0 (autonomous)
- trust: 95/100
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/xyz.sbor%2Fsbor
- tools: https://api.protogrid.dev/v1/servers/xyz.sbor%2Fsbor/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

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


## Trust

- hygiene: 100
- liveness: 99
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-97% +updated-8d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: compare_rate (destructiveHint, idempotentHint); compare_chains (destructiveHint, idempotentHint); get_rate (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 1,216 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 9 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 99 resolved packages
- pass `deps.mcp_sdk_version`: @modelcontextprotocol/sdk 1.32.1, no known advisory
- pass `deps.resolvable`: sbor-mcp@1.3.0 resolved: 99 packages

- tools: 6, about 1,216 tokens to load them all
- tool set hash: 0f9e55bfb0b60bd46b455fea2867c1af
- tools last changed: 2026-10-12T23:02:17.520Z
- badge: [![protogrid quality](https://protogrid.dev/badge/xyz.sbor/sbor.svg)](https://protogrid.dev/servers/xyz.sbor/sbor)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-12 `compare_chains` changed (description)
  - before: 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 USDC against bitcoin on Base, Ethereum and Arc. 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.
  - after: 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.
- 2026-10-12 `get_history` changed (description, inputSchema)
  - before: Daily fixings since the index 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.
  - after: 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.
- 2026-10-12 `list_markets` changed (inputSchema)
- 2026-10-12 `compare_rate` changed (description, inputSchema)
  - before: 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 USDC loan against bitcoin (cbBTC, WBTC or cirBTC) on Base, Ethereum or Arc, compare with BTC-COLLATERAL-USDC; for lending on Stacks, 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.
  - after: 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.
- 2026-10-12 `get_rate` changed (description, inputSchema)
  - before: The benchmark borrow and supply rate for lending on Stacks, read from lending contract state. 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.
  - after: 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.
- 2026-10-09 `compare_chains` changed (description)
  - before: 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 USDC against bitcoin on Base, Ethereum and Arc. Context only: none of these is ever a constituent of an SBOR index. Aave on Ethereum and Base and the bitcoin-collateral markets are read from contract state; the other venues come from DefiLlama, so small differences are expected for those.
  - after: 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 USDC against bitcoin on Base, Ethereum and Arc. 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.
- 2026-10-02 `compare_chains` changed (description)
  - before: 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 USDC against bitcoin on Base and Ethereum. Context only: none of these is ever a constituent of an SBOR index. Aave on Ethereum and Base and the bitcoin-collateral markets are read from contract state; the other venues come from DefiLlama, so small differences are expected for those.
  - after: 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 USDC against bitcoin on Base, Ethereum and Arc. Context only: none of these is ever a constituent of an SBOR index. Aave on Ethereum and Base and the bitcoin-collateral markets are read from contract state; the other venues come from DefiLlama, so small differences are expected for those.
- 2026-10-02 `compare_rate` changed (description, inputSchema)
  - before: 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 USDC loan against bitcoin (cbBTC or WBTC) on Base or Ethereum, compare with BTC-COLLATERAL-USDC; for lending on Stacks, 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.
  - after: 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 USDC loan against bitcoin (cbBTC, WBTC or cirBTC) on Base, Ethereum or Arc, compare with BTC-COLLATERAL-USDC; for lending on Stacks, 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.
- 2026-10-02 `get_rate` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/xyz.sbor%2Fsbor/changes

## Dependencies

- npm sbor-mcp@1.3.0: resolved, 98 dependencies, MCP SDK @modelcontextprotocol/sdk 1.32.1

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.sbor.xyz/mcp (streamable-http, auth none, reachable true, uptime30d 0.96938777)

## Packages

- npm sbor-mcp@1.3.0

## Tools (6)

- `compare_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.
- `compare_rate`: 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.
- `get_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.
- `get_methodology`: 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.
- `get_rate`: 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.
- `list_markets`: 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.
