# AfterFees (remote · afterfees.xyz)

Crypto funding-rate arbitrage across 50 exchanges, net of fees and order-book slippage. Read-only.

- Trust score: 70/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `afterfees.xyz`: 70/100 (this document), [markdown](https://verifymcp.io/servers/linyejia-afterfees/afterfees.md), [page](https://verifymcp.io/servers/linyejia-afterfees/afterfees)

## Channel facts

- Endpoint: `https://afterfees.xyz/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.18.9`

## 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**: 80/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 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**: 64/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2913 tokens (~104/item across 28 items; 28 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 20/100
  - Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 83/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 49% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "transfer_routes" implies "transfer" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 29 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 AfterFees MCP server?

AfterFees is a hosted endpoint at https://afterfees.xyz/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 linyejia-afterfees 'https://afterfees.xyz/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "linyejia-afterfees": {
      "url": "https://afterfees.xyz/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "linyejia-afterfees": {
      "type": "http",
      "url": "https://afterfees.xyz/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.linyejia-afterfees]
url = "https://afterfees.xyz/mcp"
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add linyejia-afterfees --url 'https://afterfees.xyz/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  linyejia-afterfees:
    url: "https://afterfees.xyz/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "linyejia-afterfees": {
      "Transport": "http",
      "Url": "https://afterfees.xyz/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add linyejia-afterfees -t streamable-http -u 'https://afterfees.xyz/mcp'
```

### Other

```json
{
  "mcpServers": {
    "linyejia-afterfees": {
      "type": "http",
      "url": "https://afterfees.xyz/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-05 (score 70, +1)

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

### 2026-11-04 (score 69, 0)

- [functional regression] Schema quality: pass → fail
- [functional] New tool “spread_convergence”

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

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

### 2026-11-01 (score 68, +1)

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

### 2026-10-31 (score 67, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-30 (score 67)

First indexed and scored.

## MCP tools (28)

### `best_opportunities` (~176 tokens)

Best funding-rate arbitrage opportunities

Ranked funding-rate arbitrage pairs (long one market, short another) with the net result after taker fees and order-book slippage at your size, max size, breakeven, settled 7-day replay, tier (actionable / watch) and reasons.

Input parameters:

- `actionable_only` (boolean): Only pairs that pass every check right now (live books, positive net, capacity)
- `base` (string): Only this coin (optional)
- `holding_hours` (number): Holding period in hours (default 168 = 7 days)
- `limit` (integer)
- `mode` (string): perp = perp vs perp, spot = buy spot + short perp, rev = borrow-and-sell spot + long perp
- `notional` (number): Position size per side in USD (default 10000)

### `coin_overview` (~90 tokens)

One coin across exchanges

Funding rate of one coin on every exchange (rate, interval, APR, predicted, OI, volume, settled 7-day sum) plus its best pairs, net after fees and slippage at your size.

Input parameters:

- `base` (string, required): Coin or ticker, e.g. BTC, ETH, SOL
- `notional` (number): Position size per side in USD (default 10000)

### `pair_breakdown` (~144 tokens)

Every number of one pair

Full calculation of one pair: funding per leg and settlement count, taker fees, order-book VWAP and slippage per trade, carry, net, net if rates halve, breakeven, capacity, settled 7/30-day replay. pair_key comes from best_opportunities or coin_overview. Needs a Pro API token (Authorization: Bearer arb_…); not available on the anonymous tier.

Input parameters:

- `holding_hours` (number): Holding period in hours (default 168 = 7 days)
- `notional` (number): Position size per side in USD (default 10000)
- `pair_key` (string, required): pair_key from another tool

### `funding_rates` (~83 tokens)

Funding rates

Current perpetual funding rates (gross, before costs). With base: that coin on every exchange, highest first. Without: the top N markets by absolute APR (OI filter applies).

Input parameters:

- `base` (string): Coin (optional)
- `limit` (integer)
- `min_oi_usd` (number): Skip markets with less open interest (top-N mode only)

### `borrow_rates` (~69 tokens)

Margin borrow rates

Margin borrow rates per coin and exchange (VIP0, current and 24 h / 7 d averages, limits, inventory) with the most negative perp funding: the two halves of a reverse spot-perp carry.

Input parameters:

- `base` (string): Coin (optional)
- `limit` (integer)

### `fixed_vs_floating` (~107 tokens)

Fixed vs floating funding (Pendle Boros)

Pendle Boros markets: the fixed funding rate you can lock (net of Boros fees and fill at your size) against the term-matched floating benchmark, advantage, win rate, capacity. side=short locks an income, side=long locks a cost.

Input parameters:

- `base` (string): Coin (optional)
- `limit` (integer)
- `notional` (number): Position size per side in USD (default 10000)
- `side` (string)

### `execution_cost` (~67 tokens)

Execution cost to enter a position

Taker fee + order-book slippage to buy or sell a given USD size of one coin on every exchange (perps and spot), cheapest first.

Input parameters:

- `base` (string, required): Coin or ticker, e.g. BTC, ETH, SOL
- `size_usd` (number)

### `basis_trades` (~131 tokens)

Basis trades against delivery futures

Spot or perp against a dated future held to delivery, on one exchange or across two (perp on one, future on another), and two same-day futures on different exchanges: net to expiry after fees and slippage at your size, net APR, basis APR, max size, tier and reasons.

Input parameters:

- `actionable_only` (boolean)
- `base` (string): Coin (optional)
- `limit` (integer)
- `notional` (number): Position size per side in USD (default 10000)
- `scope` (string): same exchange or cross-exchange rows only (optional)

### `transfer_routes` (~167 tokens)

Cross-exchange transfer (spot) arbitrage routes

Buy a coin on one exchange, withdraw it on a network both exchanges share (same chain and contract, never matched by ticker), sell on another: real-transfer net after taker fees, order-book slippage and the withdrawal fee at your size, pre-funded net, capacity at net >= 0 / 0.3% / 1%, arrival estimate, hedge cost on a perp, status and reasons. view=traps lists spreads that exist only because deposits or withdrawals are closed.

Input parameters:

- `base` (string): Coin (optional)
- `include_hedge` (boolean)
- `limit` (integer)
- `notional` (number): Size in USD (Pro; free uses 10000)
- `status` (string)
- `view` (string)

### `pair_history` (~114 tokens)

Settled-rate replay of one pair (7 to 365 days)

Funding actually settled on both legs over 7 / 30 / 90 / 180 / 365 days, applied to today's orientation at your size: net after the four trading costs, max drawdown, negative days, daily sign flips, how far back each exchange's history reaches. Ranges beyond 7 days need Pro.

Input parameters:

- `notional` (number): Position size per side in USD (default 10000)
- `pair_key` (string, required): pair_key from another tool
- `range` (string)

### `term_structure` (~48 tokens)

Futures term structure of one coin

Annualised basis of every delivery future of one coin on every exchange we cover, next to perp funding.

Input parameters:

- `base` (string, required): Coin or ticker, e.g. BTC, ETH, SOL

### `venue_execution_cost` (~66 tokens)

Execution cost on one exchange

Taker fee plus order-book slippage to enter $10k / $100k / $1M long and short on one exchange's biggest markets, in basis points.

Input parameters:

- `limit` (integer)
- `venue` (string, required): exchange id, e.g. binance

### `service_status` (~39 tokens)

Service status

Whether AfterFees data is live right now, which exchange feeds are down, and availability over 1 / 7 / 30 / 90 days.

### `order_checklist` (~99 tokens)

Order checklist for one pair

The two orders to place by hand for one pair: action, exchange, symbol, quantity in the exchange's own unit (contracts where one contract is not one coin), notional, assumed leverage and a link to each contract's trading page (no referral parameters). AfterFees never trades.

Input parameters:

- `notional` (number): Position size per side in USD (default 10000)
- `pair_key` (string, required): pair_key from another tool

### `holding_scenarios` (~109 tokens)

One pair over different holding periods

Net after fees and slippage of one live pair held 8 h, 1 d, 3 d, 7 d and 30 d, optionally with your own assumed funding rate per leg (percent per funding period, keyed by instrument_id).

Input parameters:

- `assumed_rates_pct` (object): {instrument_id: rate per period in %} (optional)
- `notional` (number): Position size per side in USD (default 10000)
- `pair_key` (string, required)

### `manual_calculator` (~122 tokens)

Funding arbitrage calculator (typed-in legs)

Net, net APR, breakeven and funding-halved case for two legs you describe (no live data): each leg {side: long|short, rate_pct per period, interval_hours, taker_bps, first_in_hours?}.

Input parameters:

- `holding_hours` (number): Holding period in hours (default 168 = 7 days)
- `legs` (array, required)
- `leverage` (number)
- `notional` (number): Position size per side in USD (default 10000)
- `slippage_bps` (number)

### `boros_lock_calculator` (~136 tokens)

Boros fixed-rate lock calculator

Locked net (income) or cost APR on Pendle Boros at an implied APR you give, after the taker and settlement fees and the entry cost, its advantage over a floating APR you expect and the break-even floating rate. Percent inputs.

Input parameters:

- `days` (number, required)
- `entry_usd` (number)
- `floating_pct` (number)
- `notional` (number): Position size per side in USD (default 10000)
- `rate_pct` (number, required)
- `settle_pct` (number)
- `side` (string)
- `taker_pct` (number)

### `transfer_calculator` (~108 tokens)

Cross-exchange transfer calculator

Buy on exchange A, withdraw, sell on exchange B at prices you give: real-transfer and prefunded net, break-even premium. Fees in percent, withdrawal fee in coins.

Input parameters:

- `amount` (number)
- `buy` (number, required)
- `fee_a_pct` (number)
- `fee_b_pct` (number)
- `sell` (number, required)
- `trips` (number)
- `usdt_back` (number)
- `withdraw_coin` (number)

### `boros_market` (~78 tokens)

One Pendle Boros market

Detail of one Boros market (id from fixed_vs_floating): fixed rate at your size net of fees, floating benchmarks, advantage, win rate, capacity, reasons.

Input parameters:

- `market_id` (integer, required)
- `notional` (number): Position size per side in USD (default 10000)
- `side` (string)

### `boros_futures_basis` (~67 tokens)

Boros implied rate vs futures basis

Lock funding on Boros against a delivery future of the same maturity: implied APR vs basis APR, net after fees and slippage at your size.

Input parameters:

- `limit` (integer)
- `notional` (number): Position size per side in USD (default 10000)

### `exchanges` (~39 tokens)

Exchanges covered

Every exchange AfterFees reads: kind, fully calculated or watch-only, status, markets, taker / maker fee, open interest, 24 h volume.

### `exchange_overview` (~52 tokens)

One exchange

One exchange: fees and their source, funding intervals, open interest, volume, highest and lowest funding and its best after-fee pairs.

Input parameters:

- `venue` (string, required): exchange id, e.g. binance

### `coins` (~50 tokens)

Coins covered

Coins with a perp on two or more exchanges: exchange count, open interest, highest and lowest funding APR and the best after-fee pair.

Input parameters:

- `group` (string)
- `limit` (integer)

### `track_record` (~39 tokens)

Public track record

How AfterFees' daily top picks actually did: predicted net vs net realised from settled funding over the hold, hit rate, mean error, latest picks.

### `dex_scan` (~119 tokens)

CEX ↔ DEX arbitrage scan

Tokens our exchanges list with a verified contract on Ethereum, BNB Chain, Base, Arbitrum or Solana whose DEX price is more than 1% away: net at $1k / $5k / $10k after aggregator price impact, swap gas, the token transfer gas and the exchange's withdrawal fee, status and reasons. Pro. Needs a Pro API token (Authorization: Bearer arb_…); not available on the anonymous tier.

Input parameters:

- `base` (string): Token (optional)
- `limit` (integer)

### `spread_chart` (~113 tokens)

Price spread of two legs

Candles of (A − B) / B between any two instruments (book mids where stored, else marks). Free: 1 h candles and longer over up to 7 days; Pro: 1 m and up, up to 365 days.

Input parameters:

- `candle` (string)
- `days` (integer)
- `executable` (boolean)
- `leg_a` (string, required): instrument id, e.g. binance:um:BTCUSDT
- `leg_b` (string, required): instrument id

### `my_positions` (~75 tokens)

My hedged positions (read-only keys)

Your positions across the read-only exchange keys connected to your AfterFees account, grouped into hedges: delta drift, distance to liquidation, funding received, issues. Needs a Pro account token; AfterFees only accepts read-only keys. Needs a Pro API token (Authorization: Bearer arb_…); not available on the anonymous tier.

### `spread_convergence` (~145 tokens)

Price-spread convergence trades

The same coin priced differently on two exchanges' perpetuals: long the cheaper, short the dearer, close when the gap returns to its 7-day median. Net at your size after four taker fees, slippage on live order books and stablecoin conversion; how often the gap came back over 7 days and how long it took; funding per 8 h shown separately; tier and reasons.

Input parameters:

- `actionable_only` (boolean): Only pairs that pass every check right now
- `base` (string): Only this coin (optional)
- `limit` (integer)
- `notional` (number): Position size per side in USD (default 10000)

## Diagnostics

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

## Score history

- 2026-11-05: 70
- 2026-11-04: 69
- 2026-11-03: 69
- 2026-11-02: 68
- 2026-11-01: 68
- 2026-10-31: 67
- 2026-10-30: 67

## Common questions

### What is the AfterFees MCP server?

AfterFees is an MCP server listed in the public MCP registry as io.github.linyejia/afterfees. Crypto funding-rate arbitrage across 50 exchanges, net of fees and order-book slippage. Read-only. This page covers its hosted endpoint (https://afterfees.xyz/mcp).

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

AfterFees scores 70 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 AfterFees MCP server expose?

AfterFees exposes 28 tools: best_opportunities, coin_overview, pair_breakdown, funding_rates, borrow_rates, and 23 more. Their descriptions and schemas cost roughly 2,652 tokens of context every time the server is loaded.

### Does the AfterFees MCP server require authentication?

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

### Is the AfterFees MCP server still maintained?

AfterFees 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://afterfees.xyz/mcp
- Repository: https://github.com/linyejia/afterfees-mcp
- Website: https://afterfees.xyz/
- Changelog RSS feed: https://verifymcp.io/servers/linyejia-afterfees/afterfees.xml
- Changelog JSON feed: https://verifymcp.io/servers/linyejia-afterfees/afterfees.json
- HTML version of this page: https://verifymcp.io/servers/linyejia-afterfees/afterfees
