# SoChain (remote · sochain.com)

Live Bitcoin, Litecoin, Dogecoin and Zcash data: balances, transactions, blocks, fees, prices.

- Trust score: 74/100 (medium)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-22

## Components

- remote · `sochain.com`: 74/100 (this document), [markdown](https://verifymcp.io/servers/com-sochain-mcp/sochain.md), [page](https://verifymcp.io/servers/com-sochain-mcp/sochain)

## Channel facts

- Endpoint: `https://sochain.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.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-10-22.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2703 tokens (~135/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 6/100
  - Stability check failed: schema churn in the 7 days we've observed: 4 tool removals, 0 breaking changes, 0 auth/transport breaks, 0 additions.
- **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.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 20 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the SoChain MCP server?

SoChain is a hosted endpoint at https://sochain.com/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 com-sochain-mcp 'https://sochain.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-sochain-mcp": {
      "url": "https://sochain.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-sochain-mcp": {
      "type": "http",
      "url": "https://sochain.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-sochain-mcp]
url = "https://sochain.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-sochain-mcp": {
      "type": "remote",
      "url": "https://sochain.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-sochain-mcp --url 'https://sochain.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-sochain-mcp:
    url: "https://sochain.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-sochain-mcp": {
      "Transport": "http",
      "Url": "https://sochain.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-sochain-mcp -t streamable-http -u 'https://sochain.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-sochain-mcp": {
      "type": "http",
      "url": "https://sochain.com/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-10-21 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 0 to 3.

### 2026-10-17 (score 73, −1)

- [security regression] Stability: 0.03 → fail
- [security regression] A breaking change shipped without a version bump: still 0.1.0
- [security regression] Tool “contact_support” was removed
- [security regression] Tool “get_account_info” was removed
- [security regression] Tool “get_bucket_balance” was removed
- [security regression] Tool “get_bucket_transactions” was removed
- [functional improvement] Schema quality: 3300 → 2703
- [functional improvement] Tool “get_address_poisoning” now declares an output schema
- [functional improvement] Tool “get_address_rank” now declares an output schema
- [functional improvement] Tool “get_address_summary” now declares an output schema
- [functional improvement] Tool “get_balance” now declares an output schema
- [functional improvement] Tool “get_balance_history” now declares an output schema
- [functional improvement] Tool “get_best_block_hash” now declares an output schema
- [functional improvement] Tool “get_block” now declares an output schema
- [functional improvement] Tool “get_chart” now declares an output schema
- [functional improvement] Tool “get_counterparties” now declares an output schema
- [functional improvement] Tool “get_latest_blocks” now declares an output schema
- [functional improvement] Tool “get_network_info” now declares an output schema
- [functional improvement] Tool “get_price” now declares an output schema
- [functional improvement] Tool “get_rich_list” now declares an output schema
- [functional improvement] Tool “get_transaction” now declares an output schema
- [functional improvement] Tool “get_transaction_counts” now declares an output schema
- [functional improvement] Tool “get_transaction_status” now declares an output schema
- [functional improvement] Tool “get_transactions” now declares an output schema
- [functional improvement] Tool “get_unspent_outputs” now declares an output schema
- [functional improvement] Tool “is_valid_address” now declares an output schema
- [functional improvement] Tool “search” now declares an output schema
- [functional] First check of Tool coverage: 100
- [functional] Destructive annotations: 100 → pass
- [cosmetic] “get_chart” reworded the description of “interval”
- [cosmetic] “get_chart” reworded the description of “series”
- [cosmetic] “search” reworded the description of “query”

### 2026-10-16 (score 74, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-15 (score 73)

First indexed and scored.

## MCP tools (20)

### `get_balance` (~164 tokens)

Address Balance

Confirmed and unconfirmed balance of an address; with height or time, its confirmed balance at that point (for example at the end of a year).

Input parameters:

- `address` (string, required): An address on that network.
- `height` (integer): Optional: the confirmed balance at the end of this block instead.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.
- `time` (string): Optional: the confirmed balance at this time instead (a date means the end of that day): unix seconds, a date like 2025-12-31 (UTC) or a timestamp like 2025-12-31T23:59:59Z.

Output parameters:

- `address` (string)
- `block_hash` (string|null)
- `confirmed` (string)
- `height` (integer|null)
- `time` (integer|null)
- `tip_height` (integer)
- `unconfirmed` (string)

### `get_address_summary` (~74 tokens)

Address Summary

Totals for an address: balance, total received, and how many transactions sent and received.

Input parameters:

- `address` (string, required): An address on that network.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `confirmed_balance` (string)
- `confirmed_received` (string)
- `first_active` (object|null)
- `last_active` (object|null)
- `txs_received` (integer)
- `txs_sent` (integer)
- `txs_total` (integer)
- `unconfirmed_balance` (string)

### `get_transaction_counts` (~69 tokens)

Address Transaction Counts

How many transactions an address has sent, received, and in total.

Input parameters:

- `address` (string, required): An address on that network.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `received` (integer)
- `sent` (integer)
- `total` (integer)

### `get_transactions` (~384 tokens)

Address Transactions

An address's transactions, newest first (unconfirmed first), with the amount each one moved for the address and the price at the time (USD unless currency is given). Without filters, pages by number; with any filter (block or time range, direction), pages by cursor: pass next_cursor back until it's null (a short page with a cursor isn't the end).

Input parameters:

- `address` (string, required): An address on that network.
- `currency` (string): Optional: prices in this currency instead of USD.
- `cursor` (string): next_cursor from the previous page; it carries the filters.
- `direction` (string): in: the balance went up; out: it went down (a payment with change counts once, as out). Default both.
- `from_height` (integer): Oldest block to include.
- `from_time` (string): Start (a date means from its first second): unix seconds, a date like 2025-12-31 (UTC) or a timestamp like 2025-12-31T23:59:59Z.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.
- `page` (integer): Page number (10 per page). Default 1.
- `page_size` (integer): Rows per page, default 10.
- `to_height` (integer): Newest block to include.
- `to_time` (string): End (a date means to its last second): unix seconds, a date like 2025-12-31 (UTC) or a timestamp like 2025-12-31T23:59:59Z.
- `unconfirmed` (string): Mempool transactions. Default include, or exclude when there's an end (to_height or to_time).

Output parameters:

- `direction` (string)
- `from_height` (integer|null)
- `next_cursor` (string|null)
- `page_size` (integer)
- `tip_height` (integer)
- `to_height` (integer|null)
- `transactions` (array)
- `unconfirmed` (string)

### `get_unspent_outputs` (~88 tokens)

Address Unspent Outputs

The coins (unspent outputs) an address can spend, oldest first.

Input parameters:

- `address` (string, required): An address on that network.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.
- `page` (integer): Page number (10 per page). Default 1.

Output parameters:

- `outputs` (array)

### `get_transaction` (~97 tokens)

Transaction

A transaction: confirmations, block, fee, inputs and outputs (is_change marks outputs paying back to an input address).

Input parameters:

- `currency` (string): Optional: prices in this currency instead of USD.
- `hash` (string, required): The 64-character transaction ID (hash).
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `block_hash` (string|null)
- `block_height` (integer|null)
- `confirmations` (integer)
- `facts` (object)
- `fee` (string)
- `hash` (string)
- `heuristic` (boolean|null)
- `inputs` (array)
- `inputs_n` (integer)
- `inputs_value` (string)
- `kind` (string|null)
- `locktime` (integer)
- `outputs` (array)
- `outputs_n` (integer)
- `outputs_value` (string)
- `price` (object|null)
- `size` (integer)
- `time` (integer)
- `version` (integer)
- `vsize` (integer)
- `weight` (integer)

### `get_transaction_status` (~125 tokens)

Transaction Status

A transaction's status: pending, mined, replaced (another transaction spent one of its inputs, as in a fee bump or double spend; replaced_by names it), dropped, or expired (Zcash). SoChain remembers a removal for about a day; after that, or for a transaction it never saw, the status is unknown.

Input parameters:

- `hash` (string, required): The 64-character transaction ID (hash).
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `block_height` (integer|null)
- `confirmations` (integer|null)
- `hash` (string)
- `network` (string)
- `removed_at` (integer|null)
- `replaced_ancestor` (string|null)
- `replaced_by` (string|null)
- `replaced_by_height` (integer|null)
- `replaced_by_status` (string|null)
- `status` (string)

### `get_block` (~95 tokens)

Block

A block by height or hash: time, transactions, size, reward, fees, miner.

Input parameters:

- `block` (string, required): Block height (number) or 64-character block hash.
- `currency` (string): Optional: prices in this currency instead of USD.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `bits` (string)
- `confirmations` (integer)
- `difficulty` (string)
- `fees` (string)
- `hash` (string)
- `height` (integer)
- `is_orphan` (boolean)
- `kinds` (object)
- `max_fee_rate` (integer|null)
- `median_fee_rate` (integer|null)
- `merkleroot` (string)
- `min_fee_rate` (integer|null)
- `next_block_hash` (string|null)
- `nonce` (integer|string)
- `num_txs` (integer)
- `previous_block_hash` (string|null)
- `price` (object|null)
- `reward` (string)
- `size` (integer)
- `time` (integer)
- `txs` (array)
- `value_out` (string)
- `version` (integer)
- `weight` (integer)

### `get_latest_blocks` (~74 tokens)

Latest Blocks

The ten newest blocks with their size, transaction count, reward and miner.

Input parameters:

- `currency` (string): Optional: prices in this currency instead of USD.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `blocks` (array)

### `get_best_block_hash` (~51 tokens)

Best Block Hash

The hash of the newest block.

Input parameters:

- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `hash` (string)

### `get_network_info` (~68 tokens)

Network Info & Mempool

Current height, hashrate, and the mempool: waiting transactions, size, and projected next blocks with fee rates.

Input parameters:

- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `best_block_hash` (string)
- `block_count` (integer)
- `hashrate` (string)
- `mempool` (object)

### `get_price` (~98 tokens)

Price

The price in USD (or another currency): the current price, or the UTC-day opening price for a past unix time.

Input parameters:

- `currency` (string): Optional: prices in this currency instead of USD.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.
- `unix_time` (integer): Optional unix time for a historical price.

Output parameters:

- `as_of` (integer)
- `currency` (string)
- `value` (string)

### `search` (~91 tokens)

Search

Classify a search string: an address, a transaction ID, a block hash or a block height.

Input parameters:

- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.
- `query` (string, required): An address, a transaction ID or block hash (64 hexadecimal characters), or a block height (commas allowed).

Output parameters:

- `height` (integer)
- `kind` (string)
- `value` (string)

### `get_chart` (~318 tokens)

Chart Series

A chart series: tx_count, fees_total, fees_median, block_size, difficulty, hashrate, supply, price_usd, tx_per_min, block_interval, mempool_txs, mempool_bytes, pool_share, holder_share, new_addresses, active_addresses, transfers, lookalikes, on LTC and LTCTEST mweb_pool (coins in MWEB) and mweb_flows (peg-ins and peg-outs), and on ZEC and ZECTEST zcash_pools (the value in each Zcash pool). Intervals: block (last 1,000 blocks), hour (90 days), day (full history), minute (last hour; tx_per_min and mempool series only).

Input parameters:

- `currency` (string): Optional, price_usd only: the price in this currency instead of USD.
- `from` (integer): Optional start: block height for the block interval, else unix time.
- `interval` (string, required): Each point's span: block (the last 1,000 blocks), minute (the last hour), hour (90 days) or day (the full history).
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.
- `series` (string, required): The series, as listed above: mweb_pool and mweb_flows on Litecoin only, zcash_pools on Zcash only.
- `to` (integer): Optional end, same units as from.

Output parameters:

- `interval` (string)
- `points` (array)
- `series` (string)

### `is_valid_address` (~66 tokens)

Validate an Address

Whether a string is a valid address on the network.

Input parameters:

- `address` (string, required): An address on that network.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `is_valid` (boolean)

### `get_rich_list` (~127 tokens)

Rich List

The largest holders: the top 1,000 addresses by confirmed balance, with each one's share of the supply, transactions, first and last activity, and change over 24 hours and 7 days.

Input parameters:

- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.
- `page` (integer): Page, default 1 (up to 1,000 ÷ page_size).
- `page_size` (integer): 25, 50 or 100 (the default).

Output parameters:

- `height` (integer)
- `page` (integer)
- `page_size` (integer)
- `rows` (array)
- `supply` (string)
- `time` (integer)
- `total_rows` (integer)

### `get_address_rank` (~80 tokens)

Address Rank

Where an address stands among the largest holders (exact within the top 10,000) and its share of the supply.

Input parameters:

- `address` (string, required): An address on that network.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `address` (string)
- `balance` (string)
- `rank` (integer|null)
- `rank_limit` (integer)
- `share_of_supply` (number|null)

### `get_balance_history` (~218 tokens)

Address Balance History

An address's confirmed balance by day, week or month, with what came in and went out in each and how many transactions did each. Without an API key at most 2,000 points (daily: the most recent days unless from says otherwise); with one, 20,000.

Input parameters:

- `address` (string, required): An address on that network.
- `from` (string): Optional start: unix seconds, a date like 2025-12-31 (UTC) or a timestamp like 2025-12-31T23:59:59Z.
- `interval` (string): Default day.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.
- `to` (string): Optional end (a date means its last second): unix seconds, a date like 2025-12-31 (UTC) or a timestamp like 2025-12-31T23:59:59Z.

Output parameters:

- `address` (string)
- `exact_resolution` (boolean)
- `external_available` (boolean)
- `interval` (string)
- `points` (array)
- `resolution_blocks` (integer)
- `tx_counts_available` (boolean)

### `get_address_poisoning` (~131 tokens)

Address Poisoning Check

Whether an address was targeted by address poisoning: look-alike addresses that sent it dust, imitating an address it really paid or was paid by, so a careless copy from its history pays the scammer. Each finding names the look-alike, whom it imitates and the real payment.

Input parameters:

- `address` (string, required): An address on that network.
- `limit` (integer): Findings, default 50, newest first.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `address` (string)
- `building` (boolean)
- `findings` (array)

### `get_counterparties` (~89 tokens)

Address Counterparties

Who an address moved significant amounts to and from lately (the window the poisoning check watches), newest first.

Input parameters:

- `address` (string, required): An address on that network.
- `limit` (integer): Rows, default 50.
- `network` (string, required): Network: BTC, LTC, DOGE, ZEC, BTCTEST, LTCTEST, DOGETEST or ZECTEST.

Output parameters:

- `address` (string)
- `building` (boolean)
- `counterparties` (array)
- `from_height` (integer)
- `window_blocks` (integer)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-sochain-mcp/sochain#diagnostics

## Score history

- 2026-10-22: 74
- 2026-10-21: 74
- 2026-10-20: 73
- 2026-10-19: 73
- 2026-10-18: 73
- 2026-10-17: 73
- 2026-10-16: 74
- 2026-10-15: 73

## Common questions

### What is the SoChain MCP server?

SoChain is an MCP server listed in the public MCP registry as com.sochain/mcp. Live Bitcoin, Litecoin, Dogecoin and Zcash data: balances, transactions, blocks, fees, prices. This page covers its hosted endpoint (https://sochain.com/mcp).

### Is the SoChain MCP server safe to use?

SoChain scores 74 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 SoChain MCP server expose?

SoChain exposes 20 tools: get_balance, get_address_summary, get_transaction_counts, get_transactions, get_unspent_outputs, and 15 more. Their descriptions and schemas cost roughly 2,507 tokens of context every time the server is loaded.

### Does the SoChain MCP server require authentication?

No. We connected to SoChain without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the SoChain MCP server still maintained?

SoChain is still listed as active in the MCP registry. We last reached this channel on 22 October 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://sochain.com/mcp
- Website: https://sochain.com/agents
- Changelog RSS feed: https://verifymcp.io/servers/com-sochain-mcp/sochain.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-sochain-mcp/sochain.json
- HTML version of this page: https://verifymcp.io/servers/com-sochain-mcp/sochain
