# Trnch: Robinhood Chain rug checker

> Robinhood Chain rug checker for AI agents: TIA scam screening, live new tokens, best DEX route.

- name: fun.trnch/trnch
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 75/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/fun.trnch%2Ftrnch
- tools: https://api.protogrid.dev/v1/servers/fun.trnch%2Ftrnch/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "trnch": {
      "type": "http",
      "url": "https://trnch.fun/api/mcp",
      "headers": {
        "Authorization": "Bearer ${TRNCH_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${TRNCH_TOKEN}`.

## Trust

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

## Quality 75/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: 100 (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`: 14 of 14 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,417 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 40 tool changes in 30 days
- fail `stability.rug_pull`: 8 tools kept their name but changed most of their description in 30 days; review before trusting them

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

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 14, about 3,417 tokens to load them all
- tool set hash: 9732ba8530182612331d69be90bbb6e4
- tools last changed: 2026-11-06T17:34:10.617Z
- badge: [![protogrid quality](https://protogrid.dev/badge/fun.trnch/trnch.svg)](https://protogrid.dev/servers/fun.trnch/trnch)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-06 `trnch_scan_wallet` changed (description)
  - before: Check every ERC-20 a Robinhood Chain wallet holds in one call. Returns { wallet, truncated, checked, flaggedCount, tokens }: each token has address, symbol, balance { raw, decimals }, valueUsd when known, the same Trnch verdict as trnch_check { status, category, rugged, dumped }, official (ETH, WETH, USDG and official assets are listed without a Trnch check), flagged, canSell (false only for a confirmed honeypot) and, for a flagged token that can be sold, a sell hint: the trnch_sell call to make and a trnch.fun/trade link. Flagged tokens come first. At most 100 non-official tokens are returned, flagged first, then tokens with no known price, then the most valuable (truncated: true when more are held). Cached 60 s per wallet. No key needed. A signal, never a guarantee.
  - after: Check every ERC-20 a Robinhood Chain wallet holds in one call. Returns { wallet, truncated, checked, flaggedCount, tokens }: each token has address, symbol, balance { raw, decimals }, valueUsd when known, the same Trnch verdict as trnch_check { status, category, rugged, dumped }, creator (null when unknown; launch history of the token's creator, bucketed, context only, not part of the verdict), official (ETH, WETH, USDG and official assets are listed without a Trnch check), flagged, canSell (false only for a confirmed honeypot) and, for a flagged token that can be sold, a sell hint: the trnch_sell call to make and a trnch.fun/trade link. Flagged tokens come first. At most 100 non-official tokens are returned, flagged first, then tokens with no known price, then the most valuable (truncated: true when more are held). Cached 60 s per wallet. No key needed. A signal, never a guarantee.
- 2026-11-06 `trnch_check` changed (description)
  - before: Check any Robinhood Chain token before you buy it: is it a rug, a honeypot, a scam or a copycat? Returns { status, category, rugged, dumped }: status kept_out (Trnch keeps it out of the Heat and will not trade it), in_heat, seen or unknown, with a public risk category (SCAM_CONTRACT, LINKED_TO_PAST_RUG, HEAVY_SELL_TAX, CANNOT_SELL, COORDINATED_LAUNCH, COPYCAT, LIQUIDITY_PULLED, DUMPED, OTHER_RISK; DUMPED is a coordinated dump, not a rug). unknown means not seen by Trnch, not a pass. No key needed. A signal, never a guarantee. Full record: https://trnch.fun/tia
  - after: Check any Robinhood Chain token before you buy it: is it a rug, a honeypot, a scam or a copycat? Returns { status, category, rugged, dumped }: status kept_out (Trnch keeps it out of the Heat and will not trade it), in_heat, seen or unknown, with a public risk category (SCAM_CONTRACT, LINKED_TO_PAST_RUG, HEAVY_SELL_TAX, CANNOT_SELL, COORDINATED_LAUNCH, COPYCAT, LIQUIDITY_PULLED, DUMPED, OTHER_RISK; DUMPED is a coordinated dump, not a rug). unknown means not seen by Trnch, not a pass. No key needed. Also returns creator { history, tokensInHeat } or null: launch history of the token's creator (bucketed), context only, not part of the verdict. A signal, never a guarantee. Full record: https://trnch.fun/tia
- 2026-11-06 `trnch_quote` changed (inputSchema)
- 2026-11-05 `trnch_alerts_unsubscribe` added
  - Remove one wallet alert subscription of this key by id (from trnch_alerts_list). 404 if it does not exist. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- 2026-11-05 `trnch_alerts_list` added
  - List the wallet alert subscriptions of this key: id, wallet, webhook URL, failures in a row, disabled flag and lastDelivery (delivered or failed). The secret is never returned again. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- 2026-11-05 `trnch_alerts_subscribe` added
  - Get a signed webhook POST when a token a wallet holds is newly flagged by Trnch. Give wallet (any address) and webhookUrl (https, a public domain name, port 443; IPs, localhost and private or internal names are refused). Each alert carries the token, the Trnch verdict { status, category, rugged, dumped }, canSell and the trnch_sell call to make. Checked every 5 minutes, one POST per token and subscription; tokens the wallet already holds that Trnch keeps out are sent once at the start (initial: true); a failed delivery is retried on the next run. Returns the subscription with a secret shown once: it signs every POST in X-TRNCH-Signature (t=<seconds>,v1=<HMAC-SHA256 of t.body>). 3 subscriptions per key, 5 active per wallet, 20 per destination host (409); the same wallet again replaces its URL; 10 failed deliveries in a row disable it. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- 2026-11-05 `trnch_sell` changed (description)
  - before: Build a sell for USDG in one call: give tokenId or token, and percent of the wallet balance (read on chain) or an exact amount. Quotes six routers and returns the best route as a transaction to sign. The Trnch fee (0.5%) is already deducted from the quote. Returns { router, quote, approval, tx, chainId, from }: approval, when not null, has to be sent before tx, from the same wallet (chainId 4663). Nothing is sent by Trnch. Errors: 409 token not tradable through Trnch (kept out by TIA), 429 rate or build limit (retry-after). Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
  - after: Build a sell for USDG in one call: give tokenId or token, and percent of the wallet balance (read on chain) or an exact amount. Quotes six routers and returns the best route as a transaction to sign. The Trnch fee (0.25% standard, 0.10% between major assets, 0.50% for tokens under 24 h old or with no known launch time; the rate applied is returned as feeBps) is already deducted from the quote. Returns { router, feeBps, quote, approval, tx, chainId, from }: approval, when not null, has to be sent before tx, from the same wallet (chainId 4663). Nothing is sent by Trnch. Errors: 409 token not tradable through Trnch (kept out by Trnch), 429 rate or build limit (retry-after). Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- 2026-11-05 `trnch_buy` changed (description)
  - before: Build a buy in one call: quotes six routers and returns the best route as a transaction for the key's wallet to sign. Give tokenId or token, and amountUsd (paid in USDG) or amountIn with tokenIn. The Trnch fee (0.5%) is already deducted from the quote. Returns { router, quote, approval, tx, chainId, from }: approval, when not null, has to be sent before tx, from the same wallet (chainId 4663). Nothing is sent by Trnch. Errors: 409 token not tradable through Trnch (kept out by TIA), 429 rate or build limit (retry-after). Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
  - after: Build a buy in one call: quotes six routers and returns the best route as a transaction for the key's wallet to sign. Give tokenId or token, and amountUsd (paid in USDG) or amountIn with tokenIn. The Trnch fee (0.25% standard, 0.10% between major assets, 0.50% for tokens under 24 h old or with no known launch time; the rate applied is returned as feeBps) is already deducted from the quote. Returns { router, feeBps, quote, approval, tx, chainId, from }: approval, when not null, has to be sent before tx, from the same wallet (chainId 4663). Nothing is sent by Trnch. Errors: 409 token not tradable through Trnch (kept out by Trnch), 429 rate or build limit (retry-after). Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- 2026-11-05 `trnch_quote` changed (description)
  - before: Quote any pair across six routers (KyberSwap, LI.FI, Uniswap, 0x, SushiSwap, 1inch) without building a transaction. Returns the best amount out, already net of the Trnch fee, and the router. 409 if a token is not tradable through Trnch. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
  - after: Quote any pair across six routers (KyberSwap, LI.FI, Uniswap, 0x, SushiSwap, 1inch) without building a transaction. Returns the best amount out, already net of the Trnch fee, the router and the fee rate in basis points (feeBps). 409 if a token is not tradable through Trnch. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- 2026-11-05 `trnch_heat` changed (description)
  - before: Read the live Heat: heat holds tokens screened by TIA and ranked by Heat score; new holds just-spotted tokens not yet screened (higher risk). Each token is an opaque id with rank, Heat score, price, liquidity, volume, price changes and entry time. Returns nextSince: pass it back as since to get only new entries, and dedupe by id. The feed refreshes every few seconds. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
  - after: Read the live Heat: heat holds tokens screened by Trnch and ranked by Heat score; new holds just-spotted tokens not yet screened (higher risk). Each token is an opaque id with rank, Heat score, price, liquidity, volume, price changes and entry time. Returns nextSince: pass it back as since to get only new entries, and dedupe by id. The feed refreshes every few seconds. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.

Full history: https://api.protogrid.dev/v1/servers/fun.trnch%2Ftrnch/changes

## Remotes

- https://trnch.fun/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (14)

- `trnch_alerts_list`: List the wallet alert subscriptions of this key: id, wallet, webhook URL, failures in a row, disabled flag and lastDelivery (delivered or failed). The secret is never returned again. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- `trnch_alerts_subscribe`: Get a signed webhook POST when a token a wallet holds is newly flagged by Trnch. Give wallet (any address) and webhookUrl (https, a public domain name, port 443; IPs, localhost and private or internal names are refused). Each alert carries the token, the Trnch verdict { status, category, rugged, dumped }, canSell and the trnch_sell call to make. Checked every 5 minutes, one POST per token and subscription; tokens the wallet already holds that Trnch keeps out are sent once at the start (initial: true); a failed delivery is retried on the next run. Returns the subscription with a secret shown once: it signs every POST in X-TRNCH-Signature (t=<seconds>,v1=<HMAC-SHA256 of t.body>). 3 subscriptions per key, 5 active per wallet, 20 per destination host (409); the same wallet again replaces its URL; 10 failed deliveries in a row disable it. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- `trnch_alerts_unsubscribe`: Remove one wallet alert subscription of this key by id (from trnch_alerts_list). 404 if it does not exist. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- `trnch_buy`: Build a buy in one call: quotes six routers and returns the best route as a transaction for the key's wallet to sign. Give tokenId or token, and amountUsd (paid in USDG) or amountIn with tokenIn. The Trnch fee (0.25% standard, 0.10% between major assets, 0.50% for tokens under 24 h old or with no known launch time; the rate applied is returned as feeBps) is already deducted from the quote. Returns { router, feeBps, quote, approval, tx, chainId, from }: approval, when not null, has to be sent before tx, from the same wallet (chainId 4663). Nothing is sent by Trnch. Errors: 409 token not tradable through Trnch (kept out by Trnch), 429 rate or build limit (retry-after). Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- `trnch_check`: Check any Robinhood Chain token before you buy it: is it a rug, a honeypot, a scam or a copycat? Returns { status, category, rugged, dumped }: status kept_out (Trnch keeps it out of the Heat and will not trade it), in_heat, seen or unknown, with a public risk category (SCAM_CONTRACT, LINKED_TO_PAST_RUG, HEAVY_SELL_TAX, CANNOT_SELL, COORDINATED_LAUNCH, COPYCAT, LIQUIDITY_PULLED, DUMPED, OTHER_RISK; DUMPED is a coordinated dump, not a rug). unknown means not seen by Trnch, not a pass. No key needed. Also returns creator { history, tokensInHeat } or null: launch history of the token's creator (bucketed), context only, not part of the verdict. A signal, never a guarantee. Full record: https://trnch.fun/tia
- `trnch_confirm`: Optional, after sending a swap transaction built by this server: report its hash so the volume is credited to the Trnch account of the key's wallet once the receipt is checked on chain. Returns an acknowledgement only; it does not send, cancel or change the transaction, and a hash that is not a swap of this wallet credits nothing. Calling it twice with the same hash changes nothing. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- `trnch_heat`: Read the live Heat: heat holds tokens screened by Trnch and ranked by Heat score; new holds just-spotted tokens not yet screened (higher risk). Each token is an opaque id with rank, Heat score, price, liquidity, volume, price changes and entry time. Returns nextSince: pass it back as since to get only new entries, and dedupe by id. The feed refreshes every few seconds. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- `trnch_quote`: Quote any pair across six routers (KyberSwap, LI.FI, Uniswap, 0x, SushiSwap, 1inch) without building a transaction. Returns the best amount out, already net of the Trnch fee, the router and the fee rate in basis points (feeBps). 409 if a token is not tradable through Trnch. Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- `trnch_register`: Step 2 of 2: send the message returned in step 1 and its signature; returns { key, prefix, wallet } with status 201. The key is shown once, store it. The wallet must hold 10 USDG or 0.004 ETH on Robinhood Chain (402 otherwise); 3 keys max per wallet (409); 400 if the signature or message does not match.
- `trnch_register_message`: Step 1 of 2 to get an API key, no browser. Returns { message }: the exact text your wallet must sign with personal_sign (EIP-191). It is valid for 10 minutes and moves no funds.
- `trnch_scan_wallet`: Check every ERC-20 a Robinhood Chain wallet holds in one call. Returns { wallet, truncated, checked, flaggedCount, tokens }: each token has address, symbol, balance { raw, decimals }, valueUsd when known, the same Trnch verdict as trnch_check { status, category, rugged, dumped }, creator (null when unknown; launch history of the token's creator, bucketed, context only, not part of the verdict), official (ETH, WETH, USDG and official assets are listed without a Trnch check), flagged, canSell (false only for a confirmed honeypot) and, for a flagged token that can be sold, a sell hint: the trnch_sell call to make and a trnch.fun/trade link. Flagged tokens come first. At most 100 non-official tokens are returned, flagged first, then tokens with no known price, then the most valuable (truncated: true when more are held). Cached 60 s per wallet. No key needed. A signal, never a guarantee.
- `trnch_sell`: Build a sell for USDG in one call: give tokenId or token, and percent of the wallet balance (read on chain) or an exact amount. Quotes six routers and returns the best route as a transaction to sign. The Trnch fee (0.25% standard, 0.10% between major assets, 0.50% for tokens under 24 h old or with no known launch time; the rate applied is returned as feeBps) is already deducted from the quote. Returns { router, feeBps, quote, approval, tx, chainId, from }: approval, when not null, has to be sent before tx, from the same wallet (chainId 4663). Nothing is sent by Trnch. Errors: 409 token not tradable through Trnch (kept out by Trnch), 429 rate or build limit (retry-after). Requires an API key (created by wallet signature), sent as Authorization: Bearer <key>.
- `trnch_stats`: Read live public numbers for the last 24 hours: tokens spotted, tokens in the Heat, tokens kept out as High risk, rugs detected, median detection delay in seconds, number of routers and the bot fee in percent. No key needed.
- `trnch_top_24h`: What performed on Robinhood Chain in the last 24 hours: the best tokens that entered the Trnch Heat (new tokens screened by Trnch), with their peak and current multiple since entry, and a link to trade them at the best route. Rugged, dumped and flagged tokens are left out. Past performance, not a prediction. No key needed.
