# `xyz.chainverdict/chainverdict` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/xyz.chainverdict/chainverdict
- JSON: https://anlyon.dev/api/v1/servers/xyz.chainverdict/chainverdict
- Version: 2.2.1 (active)
- Publisher: xyz.chainverdict (domain proven to the MCP Registry)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Repository: https://github.com/alexanderbalieu-connections/chainverdict
- Metadata from the official MCP Registry, synced 2026-10-21T18:55:50.010Z

Title and description, as the publisher wrote them:

```untrusted-server-text
Pay-per-call x402 checks before an agent moves money: token safety, wallet risk, identifiers.
```

Scanned 2026-10-21T19:16:35.168Z over streamable-http.

**20 tools: 2 do something that can't be undone, 12 change things and 6 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 2 | ask |
| Changes things | write | 12 | ask |
| Only reads | read | 6 | allow |

## Findings

- **warn** Annotations that disagree with the tool in `payment_info` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "payment_info" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "payment_info" says "payment": a word that usually means money moves, which cannot be taken back.
```

- **warn** Annotations that disagree with the tool in `html_to_markdown` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "html_to_markdown" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "convert": a word for a change.
```

- **warn** Annotations that disagree with the tool in `verify_payment` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "verify_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "verify_payment" says "payment": a word that usually means money moves, which cannot be taken back.
```


## Can't be undone (2)

Sends, pays, publishes or merges: once done, it cannot be taken back. Claude Code: ask.

### `payment_info`

- The name "payment_info" says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
Free. Explains how to call the paid tools on this server: the x402 protocol, the network and asset, the settlement address, and the price of every tool.
```

### `verify_payment`

- The name "verify_payment" says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
Decode ERC-20 transfers in a Base transaction: amounts, counterparties, confirmations. $0.02 per call.
```

## Changes things (12)

Creates or changes something that can be changed back. Claude Code: ask.

### `data_block`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Latest block number, timestamp, tx count, gas utilization. $0.001 per call.
```

### `data_gas`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Live Base gas conditions: base fee, priority fees, congestion, est transfer cost. $0.002 per call.
```

### `data_portfolio`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
ETH + canonical token balances (USDC/WETH/cbBTC/EURC) for an address. $0.004 per call.
```

### `data_token_activity`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Recent transfer count, volume, unique senders/receivers, activity level. $0.005 per call.
```

### `data_token_supply`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Total/circulating/burned supply and burn percentage for an ERC-20 on Base. $0.003 per call.
```

### `html_to_markdown`

- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
Convert raw HTML to clean Markdown. $0.002 per call.
```

### `security_email`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Live DNS check of a domain's email authentication records. $0.01 per call.
```

### `security_tls`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Live TLS handshake: cert validity, issuer, expiry countdown. $0.01 per call.
```

### `security_typosquat`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Flags homoglyph and edit-distance look-alikes of known brands (c0inbase, b1nance, etc.). $0.005 per call.
```

### `token_verdict`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Heuristic ERC-20 safety verdict on Base: bytecode risk capabilities, ownership, metadata, 0-100 score, hold/caution/avoid. $0.01 per call.
```

### `verify_token`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Is this the real USDC/EURC/WETH/cbBTC/USDT on Base? Anti-phishing for stablecoin payments. $0.005 per call.
```

### `wallet_dossier`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Profile of a Base address: EOA vs contract, balance, activity band, flags. $0.01 per call.
```

## Only reads (6)

Looks things up and changes nothing. Claude Code: allow.

### `text_diff`

- The name "text_diff" says "diff": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Diff two texts (lines/words/chars). $0.002 per call.
```

### `validate_bic`

- The name "validate_bic" says "validate": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
BIC/SWIFT structural validation and decomposition. $0.001 per call.
```

### `validate_iban`

- The name "validate_iban" says "validate": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
IBAN mod-97 checksum + country length rules. $0.001 per call.
```

### `validate_isin`

- The name "validate_isin" says "validate": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Securities identifier checksum validation. $0.001 per call.
```

### `validate_lei`

- The name "validate_lei" says "validate": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Legal Entity Identifier checksum validation. $0.002 per call.
```

### `validate_vat`

- The name "validate_vat" says "validate": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
EU VAT format validation with deterministic checksums (DE, IT, LU, PL, SI). $0.001 per call.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `chainverdict`:

```json
{
  "permissions": {
    "allow": [
      "mcp__chainverdict__validate_iban",
      "mcp__chainverdict__validate_vat",
      "mcp__chainverdict__validate_bic",
      "mcp__chainverdict__text_diff",
      "mcp__chainverdict__validate_lei",
      "mcp__chainverdict__validate_isin"
    ],
    "ask": [
      "mcp__chainverdict__payment_info",
      "mcp__chainverdict__token_verdict",
      "mcp__chainverdict__wallet_dossier",
      "mcp__chainverdict__html_to_markdown",
      "mcp__chainverdict__verify_payment",
      "mcp__chainverdict__verify_token",
      "mcp__chainverdict__security_email",
      "mcp__chainverdict__security_tls",
      "mcp__chainverdict__security_typosquat",
      "mcp__chainverdict__data_gas",
      "mcp__chainverdict__data_block",
      "mcp__chainverdict__data_token_supply",
      "mcp__chainverdict__data_token_activity",
      "mcp__chainverdict__data_portfolio"
    ],
    "deny": []
  }
}
```
