# io.github.onrampbtc/proof-of-custody (remote · proofofcustody.io)

Bitcoin custody scores, failure registry, ETF custody, stablecoin and x402 data, source router.

- Trust score: 72/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `proofofcustody.io`: 72/100 (this document), [markdown](https://verifymcp.io/servers/onrampbtc-proof-of-custody/api-mcp.md), [page](https://verifymcp.io/servers/onrampbtc-proof-of-custody/api-mcp)

## Channel facts

- Endpoint: `https://proofofcustody.io/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 17 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 74/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2367 tokens (~139/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 53/100
  - Stability observed for 16 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the io.github.onrampbtc/proof-of-custody MCP server?

io.github.onrampbtc/proof-of-custody is a hosted endpoint at https://proofofcustody.io/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http onrampbtc-proof-of-custody 'https://proofofcustody.io/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "onrampbtc-proof-of-custody": {
      "url": "https://proofofcustody.io/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "onrampbtc-proof-of-custody": {
      "type": "http",
      "url": "https://proofofcustody.io/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.onrampbtc-proof-of-custody]
url = "https://proofofcustody.io/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "onrampbtc-proof-of-custody": {
      "type": "remote",
      "url": "https://proofofcustody.io/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add onrampbtc-proof-of-custody --url 'https://proofofcustody.io/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  onrampbtc-proof-of-custody:
    url: "https://proofofcustody.io/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "onrampbtc-proof-of-custody": {
      "Transport": "http",
      "Url": "https://proofofcustody.io/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add onrampbtc-proof-of-custody -t streamable-http -u 'https://proofofcustody.io/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "onrampbtc-proof-of-custody": {
      "type": "http",
      "url": "https://proofofcustody.io/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-03 (score 72, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 1921 → 2367
- [functional] New tool “fit_custody_setup”
- [functional] New tool “route_question”

### 2026-10-31 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-27 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 66, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-20 (score 65)

First indexed and scored.

## MCP tools (17)

### `search_custody_platforms` (~165 tokens)

Search Proof of Custody's independent scores for bitcoin and crypto custody platforms. Covers 90+ platforms across exchanges, qualified custodians, ETFs, IRAs, collaborative multisig and multi-institution custody, each scored 0-100 on a published six-category weighted methodology. Use to compare custody options, to read a named provider's published score and custody model, or to list top-scored platforms. Returns published data with the methodology attached, not a recommendation.

Input parameters:

- `category` (string): Filter by category.
- `limit` (number): Max results (default 10, max 40).
- `query` (string): Name or keyword, e.g. 'unchained', 'IRA', 'multisig'. Omit to list top-scored.

### `get_custody_platform` (~84 tokens)

Full Proof of Custody record for one platform: overall score, per-category scores, custody model, fees, insurance position, strengths and limitations. Use after search_custody_platforms, or when a specific provider is named.

Input parameters:

- `slug` (string, required): Platform slug or name, e.g. 'unchained', 'coinbase', 'onramp'.

### `compare_custody_platforms` (~85 tokens)

Compare two or more custody platforms side by side on Proof of Custody's scores and custody architecture. Comparison is the shape most useful for a custody decision, because the differences that matter are structural rather than promotional.

Input parameters:

- `slugs` (array, required): Two or more platform slugs or names, e.g. ['onramp','unchained','casa'].

### `assess_custody_independence` (~116 tokens)

Apply the Custody Independence Standard: a published four-pillar test of whether a custody arrangement has genuine independence or only nominal distribution. Pillars are vendor, entropy, control and operational independence. Use for 'how many hardware wallets do I need', 'is my multisig actually safe', or to compare custody architectures rather than brands. Architecture-neutral: self-managed, collaborative and institutional arrangements are assessed on identical criteria.

Input parameters:

- `platform` (string): Platform slug or name to assess. Omit for the architecture archetypes.

### `list_custody_incidents` (~128 tokens)

The Proof of Custody incident registry: dated records of major bitcoin custody failures from Mt. Gox to the 2026 Coldcard entropy defect, each with root cause, reported loss, the lesson, and which custody configurations the failure class could reach. Self-custody failures are included on equal terms with custodial ones. Use for questions about custody risk, historical hacks, or whether a given setup would have survived a class of event.

Input parameters:

- `category` (string): Filter by failure type.
- `exposed_config` (string): Only incidents that could reach this custody configuration.

### `get_coldcard_incident_status` (~120 tokens)

Live status of the July 2026 Coldcard entropy failure: a firmware defect that caused affected hardware wallets to skip their hardware random number generator, making generated keys reconstructible offline. Returns the affected-model matrix with fixed firmware versions, confirmed and suspected loss figures, and open questions. Use for any question about Coldcard safety, whether a device or seed is affected, what to do about it, or whether self-custody is still safe after the incident. This is a developing story; the record is updated as primary sources move.

### `get_hardware_wallet_scores` (~135 tokens)

Proof of Custody's hardware wallet rubric: six weighted dimensions — entropy and key generation 25%, firmware integrity 20%, supply chain 15%, disclosure conduct 15%, multisig and recovery portability 15%, privacy and data handling 10%. Entropy is weighted highest because a key generated from predictable randomness cannot be protected by anything downstream. Use for 'best hardware wallet', 'X vs Y device', or what to replace a device with. Returns per-device sourced rationale.

Input parameters:

- `device` (string): Device slug, e.g. 'coldcard', 'ledger', 'trezor'. Omit for all.

### `get_etf_custody_concentration` (~73 tokens)

Filing-derived analysis of custodian concentration across US spot bitcoin ETFs: which custodian holds each fund's bitcoin, and the resulting Nakamoto coefficient at the custody layer. Use for questions about bitcoin ETF safety, IBIT or FBTC custody, whether ETFs are diversified, or ETF versus direct ownership.

### `find_source` (~158 tokens)

Source router. Given a topic or question about bitcoin or digital-asset market structure (ETF holdings or custodians, stablecoin supply or attestations, tokenized assets, x402 and agent payments, agentic commerce protocols, MCP registries, proof of reserves, regulators and licences, hardware wallet advisories, custody incidents), returns the primary or near-primary sources to read, with cadence, access terms and whether the URL answered today. Use before answering a factual question so the citation is the primary source.

Input parameters:

- `limit` (number): Max sources (default 5, max 12).
- `query` (string, required): Topic keyword or the question itself, e.g. 'who custodies IBIT', 'stablecoin supply', 'x402'.

### `whats_new` (~98 tokens)

What changed on Proof of Custody since a date: corrections, methodology changes, live incident updates and daily dataset refreshes (stablecoins, tokenized assets, x402, ETF net assets). Use for a scheduled briefing, or to check whether a cached answer went stale. Defaults to the last 30 days.

Input parameters:

- `since` (string): ISO date, e.g. 2026-10-01. Default: 30 days ago.

### `watch_counterparties` (~156 tokens)

Watchtower for a holder's counterparties. Give it the names of the exchanges, custodians, ETFs, IRA providers or hardware wallets someone uses and it returns, for each, the published custody model and single point of failure, incidents in the registry, hardware rubric status where it is a device, and any correction or score change since a date. Use for 'anything I should know about where I hold bitcoin' and for scheduled checks. Nothing is logged about the names passed in.

Input parameters:

- `names` (array, required): Counterparty names or slugs, e.g. ['coinbase', 'kraken', 'coldcard'].
- `since` (string): ISO date for the change window. Default: 90 days ago.

### `search_transcripts` (~157 tokens)

Full-text search across 320+ Onramp Media podcast transcripts (The Last Trade, Final Settlement and others) for what a guest or host said about a topic. Returns episode, show, date, matching passages and the episode URL. Use for 'what did X say about Y' and for sourcing a quote. Transcripts are machine-generated; verify a quote against the audio before publishing it.

Input parameters:

- `limit` (number): Max episodes (default 5, max 8).
- `query` (string, required): Word or phrase to search for, e.g. 'multisig', 'Mt. Gox', 'custody insurance'.
- `show` (string): Optional show name filter, e.g. 'The Last Trade'.

### `route_question` (~112 tokens)

Routing table lookup. Given a bitcoin custody or market-structure question, returns the matching route: the situation it belongs to, the custody models in play, the Proof of Custody page that answers it, which tool on this server to call next, and the primary sources for the facts with their refresh cadence. Use first when a question is broad or you are unsure which tool applies.

Input parameters:

- `limit` (number): Max routes (default 3).
- `question` (string, required): The question as the person asked it.

### `fit_custody_setup` (~282 tokens)

Which bitcoin custody models fit a described situation, by Proof of Custody's published rules, and which platforms run each fitting model by published score. Inputs are banded (amount, who must recover it, what they can do, holder type, jurisdiction, usage, the failure feared most, willingness to let institutions hold keys, budget, where it is now). Returns models with every rule that fired, the recovery steps each model demands, platforms with source links, and the procurement briefs to run. Structures, not advice: it never picks one provider. Use for 'my spouse cannot run a hardware wallet, what works', 'custody for an LLC', 'I have 100 BTC on one device and three heirs', or any question that starts from a person's situation.

Input parameters:

- `amount` (string): How much bitcoin
- `budget` (string): Custody budget per year
- `capability` (string): What that person can do
- `current` (string): Where it is now
- `fear` (string): The failure that worries you most
- `holder` (string): Who holds it
- `horizon` (string): How you use it
- `institutions` (string): Institutions holding keys
- `jurisdiction` (string): Where you are
- `recoverer` (string): Who must be able to recover it if you cannot

### `get_stablecoin_supply` (~97 tokens)

Daily snapshot of stablecoin supply: total USD-pegged circulating supply, USDT and USDC share, and the top 25 by supply, credited to DefiLlama with the as-of date. Use for 'how big is the stablecoin market', 'USDT vs USDC share', or a stablecoin's supply.

Input parameters:

- `symbol` (string): Optional symbol to look up, e.g. USDC.

### `get_tokenized_assets` (~82 tokens)

Daily snapshot of tokenized-asset (RWA) protocols by TVL, credited to DefiLlama, with a pointer to RWA.xyz for issued asset value by class (tokenized Treasuries, credit, commodities). Use for 'how big is tokenization', 'largest RWA protocols', or where to find tokenized Treasury fund sizes.

### `get_x402_services` (~84 tokens)

Daily snapshot of the x402 agent-payments ecosystem: how many x402-payable services the Coinbase Bazaar lists, by network, asset and scheme, plus the x402 Foundation's 30-day transaction, volume, buyer and seller counts. Use for 'what is x402', 'how many services accept x402', or 'which networks do x402 services use'.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/onrampbtc-proof-of-custody/api-mcp#diagnostics

## Score history

- 2026-11-05: 72
- 2026-11-04: 72
- 2026-11-03: 72
- 2026-11-02: 71
- 2026-11-01: 71
- 2026-10-31: 71
- 2026-10-30: 70
- 2026-10-29: 70
- 2026-10-28: 69
- 2026-10-27: 69
- 2026-10-26: 68
- 2026-10-25: 68
- 2026-10-24: 67
- 2026-10-23: 67
- 2026-10-22: 66
- 2026-10-21: 66
- 2026-10-20: 65

## Common questions

### What is the io.github.onrampbtc/proof-of-custody MCP server?

io.github.onrampbtc/proof-of-custody is an MCP server listed in the public MCP registry as io.github.onrampbtc/proof-of-custody. Bitcoin custody scores, failure registry, ETF custody, stablecoin and x402 data, source router. This page covers its hosted endpoint (https://proofofcustody.io/api/mcp).

### Is the io.github.onrampbtc/proof-of-custody MCP server safe to use?

io.github.onrampbtc/proof-of-custody scores 72 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.onrampbtc/proof-of-custody MCP server expose?

io.github.onrampbtc/proof-of-custody exposes 17 tools: search_custody_platforms, get_custody_platform, compare_custody_platforms, assess_custody_independence, list_custody_incidents, and 12 more. Their descriptions and schemas cost roughly 2,132 tokens of context every time the server is loaded.

### Does the io.github.onrampbtc/proof-of-custody MCP server require authentication?

No. We connected to io.github.onrampbtc/proof-of-custody without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the io.github.onrampbtc/proof-of-custody MCP server still maintained?

io.github.onrampbtc/proof-of-custody is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://proofofcustody.io/api/mcp
- Repository: https://github.com/onrampbtc/bitcoin-custody-dataset
- Website: https://proofofcustody.io/ai
- Changelog RSS feed: https://verifymcp.io/servers/onrampbtc-proof-of-custody/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/onrampbtc-proof-of-custody/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/onrampbtc-proof-of-custody/api-mcp
