关于 Haris Guardian - Solana Token Risk Check
Haris Guardian 为 Solana SPL 和 Token-2022 代币提供只读风险检查,面向需要评估代币风险的用户。它给出 0–100 分、风险判定和文字原因,并检查权限、持仓集中度、流动性及买卖模拟结果。
主要功能
- 010–100 风险评分与判定
- 02检查铸造和冻结权限
- 03检测 Token-2022 特性风险
- 04分析持仓集中度与流动性
- 05模拟买入和卖出以测试蜜罐
- 06单个、批量及差异检查
适用场景
- 01检查 Solana 代币的风险信号
- 02比较代币检查结果的变化
- 03批量筛查多个铸币地址
- 04在交易前查看权限和流动性状况
MCP 相关
通过 streamable HTTP 提供 MCP 端点,包含代币检查、深度检查、批量检查和差异检查工具。检查为只读,不会签名、交易或持有密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://haris-api.vercel.app/mcpclaude mcp add --transport http fitness9991-haris-guardian https://haris-api.vercel.app/mcp{"mcpServers":{"fitness9991-haris-guardian":{"type":"http","url":"https://haris-api.vercel.app/mcp"}}}在 Cursor 中打开{"servers":{"fitness9991-haris-guardian":{"type":"http","url":"https://haris-api.vercel.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"fitness9991-haris-guardian":{"type":"http","url":"https://haris-api.vercel.app/mcp"}}}{"mcpServers":{"fitness9991-haris-guardian":{"serverUrl":"https://haris-api.vercel.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Haris Guardian — Solana 代币风险检查(MCP + REST + x402)
针对 Solana SPL 和 Token-2022 代币的只读诈骗/跑路风险检查。提供铸币地址,即可获得0–100 风险评分(分数越高,风险越大)、风险判定和通俗易懂的原因说明。它不会签名、交易或持有密钥。
检查内容
- 铸币权限和冻结权限
- Token-2022 陷阱:永久代理、转账钩子、转账费用
- 持有者集中度
- 流动性、LP 销毁/锁定比例、Streamflow 锁定
- 模拟买入 + 卖出(蜜罐测试)
端点
| 接口 | URL |
|---|---|
| MCP(streamable-http) | https://haris-api.vercel.app/mcp — 工具 check_solana_token、diff_solana_token、deep_check_solana_token、batch_check_solana_tokens |
| REST(免费,每天 3 次) | GET https://haris-api.vercel.app/v1/check/{mint} |
| REST(付费,x402) | POST https://haris-api.vercel.app/v1/paid/check · GET /v1/paid/check/{mint} |
| 深度检查(x402) | POST https://haris-api.vercel.app/v1/paid/deep-check {"mint"} |
| 批量检查(x402) | POST https://haris-api.vercel.app/v1/paid/batch-check {"mints": [up to 20]} |
| 监控/差异对比(x402) | POST https://haris-api.vercel.app/v1/paid/diff {"mint", "previous"} |
| OpenAPI | https://haris-api.vercel.app/openapi.json |
| 文档 | https://haris-api.vercel.app/docs |
| llms.txt | https://haris-api.vercel.app/llms.txt |
| A2A Agent 卡片 | https://haris-api.vercel.app/.well-known/agent.json |
定价
- 每个 IP 每天可免费检查 3 次。
- 超出后:每次检查收费 $0.01 USDC,可通过 x402 在 Solana 或 Base 上支付(HTTP 402 → 付款 → 重试)。每个 402 响应都会列出两种选项;可使用持有 USDC 的任一链支付:
- Base(
eip155:8453,USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,精确金额 / EIP-3009):支付至0xCf2187a039c9ac286Ee43ECc46cBc6DaEB4Fa633 - Solana(
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp,USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v):支付至7ZpBTGZ7mBm81esAq77FFm293zAuGM3Hi249fKPnVDfJ - 促进方会承担两条链上的网络费用,因此你只需要 USDC。
- Base(
- 深度检查 $0.10:持有者集中度(前 1/前 5/前 10 名占比)、由共同出资方关联的顶级钱包(捆绑账户/内部人员)、由创建者资助的钱包和新钱包、LP 锁定/销毁情况、权限、评分和原因说明。
- 批量检查每批最多 20 个铸币地址,收费 $0.10(仅在至少检查一个铸币地址时收费)。
- 监控/差异对比 $0.02:发送先前的检查结果,即可获取变更提醒(权限重新启用、LP 解锁、流动性撤出、卖出受阻)。无状态。
- 调用失败不会收费。参见 docs/API.md。
快速开始
1. 免费,无需钱包(每个 IP 每个 UTC 日可检查 3 次):
curl https://haris-api.vercel.app/v1/check/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
2. 付费,通过 x402 每次检查支付 $0.01 USDC,支持 Solana 或 Base。未付款的调用会收到 HTTP 402 响应,每条链对应一个 accepts[] 条目;
x402 客户端会签署 USDC 付款并重试。你的钱包只需持有 USDC(网络费用由支付促进方承担),检查失败不会收费。
curl -i -X POST https://haris-api.vercel.app/v1/paid/check -H 'content-type: application/json' -d '{"mint":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"}'
# -> 402, v1 challenge in the body, v2 challenge base64 in the PAYMENT-REQUIRED header
| 链 | 网络(CAIP-2) | 资产 | payTo |
|---|---|---|---|
| Base | eip155:8453 | USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 0xCf2187a039c9ac286Ee43ECc46cBc6DaEB4Fa633 |
| Solana | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | USDC EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | 7ZpBTGZ7mBm81esAq77FFm293zAuGM3Hi249fKPnVDfJ |
Python(pip install "x402[httpx,evm,svm]"):
import asyncio, os
from x402 import x402Client
from x402.http.clients import x402HttpxClient
client = x402Client()
if os.getenv("EVM_PRIVATE_KEY"): # Base
from eth_account import Account
from x402.mechanisms.evm.exact import register_exact_evm_client
from x402.mechanisms.evm.signers import EthAccountSigner
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))
if os.getenv("SOLANA_PRIVATE_KEY"): # Solana (base58 secret key)
from solders.keypair import Keypair
from x402.mechanisms.svm.exact import register_exact_svm_client
from x402.mechanisms.svm.signers import KeypairSigner
register_exact_svm_client(client, KeypairSigner(Keypair.from_base58_string(os.environ["SOLANA_PRIVATE_KEY"])))
async def main():
async with x402HttpxClient(client, timeout=60) as http:
r = await http.post("https://haris-api.vercel.app/v1/paid/check", json={"mint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"})
print(r.status_code, r.json())
asyncio.run(main())
TypeScript(npm i @x402/fetch @x402/evm @x402/svm viem @solana/kit @scure/base):
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { ExactSvmScheme } from "@x402/svm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
import { createKeyPairSignerFromBytes } from "@solana/kit";
import { base58 } from "@scure/base";
const client = new x402Client();
if (process.env.EVM_PRIVATE_KEY) // Base
client.register("eip155:8453", new ExactEvmScheme(privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`)));
if (process.env.SOLANA_PRIVATE_KEY) // Solana
client.register("solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
new ExactSvmScheme(await createKeyPairSignerFromBytes(base58.decode(process.env.SOLANA_PRIVATE_KEY))));
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const r = await fetchWithPayment("https://haris-api.vercel.app/v1/paid/check", {
method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ mint: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" }),
});
console.log(r.status, await r.json());
其他付费端点的工作方式相同(POST JSON):/v1/paid/deep-check {"mint"} $0.10、
/v1/paid/batch-check {"mints": [...]}(最多 20 个)$0.10、/v1/paid/diff {"mint", "previous"} $0.02。
MCP:https://haris-api.vercel.app/mcp(可流式传输的 HTTP),工具包括 check_solana_token、diff_solana_token(免费层级)、
deep_check_solana_token、batch_check_solana_tokens。
完整的可运行示例:https://github.com/fitness9991/haris-guardian/tree/main/examples
MCP 客户端配置:
{ "mcpServers": { "haris-guardian": { "type": "http", "url": "https://haris-api.vercel.app/mcp" } } }
Cline:使用 "type": "streamableHttp"(参见 llms-install.md)。
面向大模型的摘要:https://haris-api.vercel.app/llms.txt
限制 / 免责声明
评分是启发式信号,不构成财务建议或保证。低分不代表代币安全或价格会涨。
链接
网站 https://harisguardian.netlify.app · X @HarisGuard_SOL · Telegram 机器人:Haris Guardian · 联系方式 [email protected]
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。