Is a trading bot legit? Sourced bot fact sheets, regulator scam records and on-chain results.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check a trading bot name or website/domain against BotOrNot's sourced bot directory and every regulator scam record (SEC, CFTC and a state regulator crypto scam tracker). Returns a verdict (watchlist_match, documented_bot, both, no_record) with source URLs. no_record is NOT proof of safety.
Bot name or website, e.g. "3Commas" or "web3-cryptohopper.com"
Check a trading bot name or website/domain against BotOrNot's sourced bot directory and every regulator scam record (SEC, CFTC and a state regulator crypto scam tracker). Returns a verdict (watchlist_match, documented_bot, both, no_record) with source URLs. no_record is NOT proof of safety.
| Argument | Type | Description |
|---|---|---|
| query* | string | Bot name or website, e.g. "3Commas" or "web3-cryptohopper.com" |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Bot name or website, e.g. \"3Commas\" or \"web3-cryptohopper.com\""
}
}
}Check a Telegram @handle or t.me link: is it an official handle of a listed trading bot (verified on the bot's own site or docs), a known impersonator listed by the bot's own docs, a look-alike, or not in our records? Matches include custody model and incident history. A match is NOT a safety rating; unknown is not proof of a scam.
| Argument | Type | Description |
|---|---|---|
| handle* | string | @handle, t.me/ link or tg://resolve link |
{
"type": "object",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "@handle, t.me/ link or tg://resolve link"
}
}
}Scam signals for a website: exact matches in a state regulator scam tracker, look-alikes of real bot domains (typos, homoglyphs, brand+words), domain age from public RDAP, HTTPS, and optional red-flag phrases in pasted text. Signals, not a verdict.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| text | string | Optional text from the site or message to scan for regulator-listed red-flag phrases |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 300
},
"text": {
"type": "string",
"maxLength": 20000,
"description": "Optional text from the site or message to scan for regulator-listed red-flag phrases"
}
}
}Side-by-side sourced facts and report cards for two bots by slug. No winner is picked.
| Argument | Type | Description |
|---|---|---|
| a* | string | |
| b* | string |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string"
},
"b": {
"type": "string"
}
}
}Full sourced fact sheet for one documented bot by slug (see list_bots): pricing, markets, custody model, red flags with sources, report card, impostor scam reports.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
}
}
}Recent change events: new regulator cases, new state scam-tracker reports, bot shutdowns, report-card changes and keyword-matched SEC/CFTC releases. Optionally filter by bot slug.
| Argument | Type | Description |
|---|---|---|
| bot | string | |
| limit | integer |
{
"type": "object",
"properties": {
"bot": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
}
}
}Verified security incidents (hacks, exploits, key leaks) at trading bots: date, what happened, users affected, estimated loss as named in the sources, refund status and source URLs. Optionally filter by bot slug.
| Argument | Type | Description |
|---|---|---|
| bot | string | Bot slug, e.g. "maestro" |
| limit | integer |
{
"type": "object",
"properties": {
"bot": {
"type": "string",
"description": "Bot slug, e.g. \"maestro\""
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
}
}
}Hyperliquid vault leaderboard from on-chain data: open vaults with >= $100k TVL ranked by 30-day PnL (USD). Refreshed daily. Past results do not predict future ones.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1
}
}
}Prediction-market venues (Kalshi, Polymarket US, Gemini Predictions) with their CFTC status and official sources, plus the documented prediction-market bots and their report cards.
No arguments.
{
"type": "object",
"properties": {}
}The rule-based BotOrNot report card for a bot (Clear record, Caution, Red flags, Closed, Limited data) with the exact sourced facts and rule ids that produced it. Not a rating or investment advice; payouts never change it.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
}
}
}List documented trading bots (slug, name, category, report card, official_url). Optionally filter by category or report card result.
| Argument | Type | Description |
|---|---|---|
| result | string | |
| category | string | Exact category name, e.g. "Prediction market bots" |
{
"type": "object",
"properties": {
"result": {
"enum": [
"clear",
"caution",
"red_flags",
"closed",
"limited"
],
"type": "string"
},
"category": {
"type": "string",
"description": "Exact category name, e.g. \"Prediction market bots\""
}
}
}Search regulator scam and enforcement records (SEC, CFTC and a state regulator crypto scam tracker) by name, website or keyword. Every record has an official source URL. Regulator complaints are allegations until resolved.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2
}
}
}