POST/api/analyze

钱包情报,
一次请求即得。

驱动每份 Iris 报告的引擎,以 JSON API 形式提供。发送 Iris 支持的 11 条链上任意地址,即可获得它的身份、风险,以及两者的证据。

1# Analyze a wallet: its identity, risk and the proof2import os3import requests4 5profile = requests.post(6    "https://iriscan.app/api/analyze",7    headers={"Authorization": f"Bearer {os.environ['IRIS_KEY']}"},8    json={9        "address": "sy88tvipKfaCTuVVeU2PczPa88hqgPfKnYQyCHboHP8",10        "depth": 200,11    },12).json()13 14print(profile["identity"], profile["risk"])
response.json示例
1{2  "address": "sy88tvipKfaCTuVVeU2PczPa88hqgPfKnYQyCHboHP8",3  "identity": {4    "type": "MEV_ARBITRAGE",5    "confidence": 0.956  },7  "risk": {8    "level": "LOW",9    "score": 10,10    "confidence": 0.311  },12  "summary": [13    "MEV arbitrage bot",14    "Bot",15    "Tips Jito",16    "Swaps on Jupiter, BisonFi"17  ],18  "behaviors": [19    {20      "kind": "MEV_ARBITRAGE",21      "confidence": 0.9522    },23    {24      "kind": "BOT",25      "confidence": 0.926    },27    {28      "kind": "JITO_TIPPER",29      "confidence": 0.930    }31  ],32  "behavior": {33    "transactions_analyzed": 200,34    "active": true35  },36  "meta": {37    "scope": "live",38    "depth": 20039  }40}

一个密钥,任意语言

基于 HTTP 的纯 JSON 接口,使用账户中的 API 密钥,也可以用官方的 TypeScript 和 Python SDK。发送地址,返回画像。没有账户?Agent 可以通过 x402 用 USDC 按次付费。

天生可解释

每个标签都附带来源,每种行为都附带证明它的交易。

同一套引擎

报告和 Explorer 正是基于这些接口构建的,没有任何保留。

SDK

官方 SDK,
支持 TypeScript 和 Python。

覆盖每个接口的类型化客户端,内置风险摘要。目前从 GitHub 安装。

在 GitHub 上查看
安装
1npm install github:iris-intel-app/sdk-js

即将发布到 npm 和 PyPI。在此之前,请从 GitHub 安装。

check-token.ts
1import { Iris, riskSummary } from "@iriscan/sdk";2 3const iris = new Iris({ apiKey: process.env.IRIS_API_KEY });4 5const report = await iris.analyze("<token mint>");   // 1 analysis6console.log(report.risk.level, report.risk.score);   // "HIGH" 827 8const scan = await iris.launchTool("<dev wallet>");  // free9if (scan.verdict !== "none") console.log(`Made with ${scan.tool_name}`);10console.log(riskSummary(report).bundleHeldPct);

两者都会从环境变量读取 IRIS_API_KEY。在你的账户中创建密钥。

iris-guard:面向 Solana 机器人的交易前跑路过滤器,基于 SDK 构建。

接口

四个接口,
Iris 掌握的一切。

JSON 进,JSON 出,位于本站的 /api 下。错误以 {“error”: “…”} 返回,状态码会告诉你是否应该重试。

POST/api/analyze

分析钱包

读取钱包最近的交易,将每个交易对手与来自 57 个来源的 640,000+ 个已标注地址进行比对,运行行为规则,返回它是谁、风险多高以及原因。

请求体

  • addressstring必填

    base58 格式的 Solana 地址、0x 开头的 EVM 地址、dydx1 开头的 dYdX 地址、noble1 开头的 Noble 地址、Bitcoin 地址(bc1、1 或 3 开头)或 Tron 地址(T 开头)。

  • depthinteger可选

    读取的最近交易数,1 到 10,000。默认 1,000;越多越慢。

  • chainstring可选

    "solana"、"ethereum"、"base"、"arbitrum"、"robinhood"、"bsc"、"polygon"、"dydx"、"noble"、"bitcoin" 或 "tron"。默认:base58 地址为 Solana,0x 为 Ethereum,dydx1 为 dYdX,noble1 为 Noble,Bitcoin 地址为 Bitcoin,Tron 地址为 Tron。

返回WalletProfile

request.sh
1curl -X POST https://iriscan.app/api/analyze \2  -H "Authorization: Bearer $IRIS_KEY" \3  -H "Content-Type: application/json" \4  -d '{ "address": "sy88tvipKfaCTuVVeU2PczPa88hqgPfKnYQyCHboHP8" }'
response.json (200 OK)
1{2  "identity": {3    "type": "MEV_ARBITRAGE",4    "confidence": 0.955  },6  "risk": {7    "level": "LOW",8    "score": 10,9    "confidence": 0.310  },11  "summary": [12    "MEV arbitrage bot",13    "Bot",14    "Tips Jito"15  ],16  "behaviors": [17    {18      "kind": "MEV_ARBITRAGE",19      "confidence": 0.9520    }21  ],22  "meta": {23    "scope": "live",24    "depth": 100025  }26}

钱包画像

一个结论,
以及背后的证据。

/analyze 返回的内容及其类型。每个字段都是报告页面所渲染的内容,所以你在 Iris 中看到的一切都可以拿来构建。

wallet-profile.ts
1type WalletProfile = {2  address: string;3  // The chain read, and its coin: the sol fields hold ETH on EVM chains (BNB on BNB Chain, POL on Polygon), USDC4  // on dYdX and Noble, BTC on Bitcoin, TRX on Tron5  chain: "solana" | "ethereum" | "base" | "arbitrum" | "robinhood" | "bsc" | "polygon" | "dydx" | "noble" | "bitcoin" | "tron";6  native_symbol: "SOL" | "ETH" | "BNB" | "POL" | "USDC" | "BTC" | "TRX";7  // What the wallet is, and how sure: "MEV_ARBITRAGE", "EXCHANGE", "MIXER"…8  identity: { type: string; confidence: number };9  // A 0–100 score, LOW / MEDIUM / HIGH, and how complete the data behind it is10  risk: { level: "LOW" | "MEDIUM" | "HIGH"; score: number; confidence: number };11  // One-line takeaways: "MEV arbitrage bot", "Sends to Binance"12  summary: string[];13  // Everything known about the address, each with its source and a link14  labels: Label[];15  // Patterns found, with the transaction signatures that show them16  behaviors: Behavior[];17  // Mixers, drainers and sanctioned wallets it dealt with18  flagged_counterparties: Counterparty[];19  // Exchanges, protocols and DEXes it used20  known_counterparties: Counterparty[];21  // SOL and dollars in and out, and the biggest parties on each side22  flows: { inbound: FlowSide; outbound: FlowSide };23  // Every counterparty with totals and transfers: the Explorer's graph24  connections: Connection[];25  // Where it swapped, and what it traded there26  swap_venues: SwapVenue[];27  // SOL held since the wallet was created28  balance_history: { time: number; sol: number; sampled: boolean }[];29  // When it ran, how many transactions it read, how complete the data is30  meta: { analyzed_at: string; depth: number; data_completeness: number };31};
400

请求错误

地址无效、depth 超出范围或请求体格式错误。请修正请求,重试无济于事。

401

密钥无效

密钥缺失、错误或已被吊销。请在 账户 → API 中创建。

402

额度不足

套餐和充值包都已用完。充值后重试。

429

超出限制

超出密钥的调用限制(免费版每天 10 次,付费套餐按每 10 分钟的次数计算):请在 Retry-After 之后重试,不会扣费。或者已有三个请求在运行:等其中一个完成后再重试。

500

服务器错误

我们这边或上游服务出错。可以放心重试,不会扣费。

503, 504

繁忙或超时

服务已满载,或处理时间超过两分钟。请几秒后重试。

基于 Iris 构建。

先看看它的回答,或者确认服务是否在线。

在用 AI 助手?通过 MCP 将它连接到 Iris。