API
POST /analyze
分析钱包、程序或代币:它是谁、风险多高、有哪些证据,以及资金流入和流出。
请求
| 字段 | 类型 | 含义 |
|---|---|---|
address | string | 必填。base58 的 Solana 地址、0x 的 EVM 地址、dydx1 的 dYdX 地址、noble1 的 Noble 地址、Bitcoin 地址(bc1、1 或 3)或 Tron 地址(T)。 |
depth | integer | 要读取的最近交易笔数,1 到 10,000。默认 1,000。超过 1,000 算作深度分析。 |
chain | string | solana、ethereum、base、arbitrum、robinhood、bsc、polygon、dydx、noble、bitcoin 或 tron。默认:base58 地址为 solana,0x 地址为 ethereum,dydx1 地址为 dydx,noble1 地址为 noble,Bitcoin 地址为 bitcoin,Tron 地址为 tron。见支持的链。 |
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", "depth": 5000 }'大多数请求几秒内返回;读取 10,000 笔交易的分析最多约 20 秒。请在你这边设置至少两分钟的超时。
响应
response.json (200 OK, abridged)
1{2 "address": "sy88tvipKfaCTuVVeU2PczPa88hqgPfKnYQyCHboHP8",3 "chain": "solana",4 "native_symbol": "SOL",5 "identity": { "type": "MEV_ARBITRAGE", "confidence": 0.95 },6 "risk": { "level": "LOW", "score": 10, "confidence": 0.3 },7 "summary": ["MEV arbitrage bot", "Bot", "Tips Jito", "Swaps on Jupiter"],8 "labels": [],9 "behaviors": [10 {11 "kind": "MEV_ARBITRAGE",12 "title": "MEV arbitrage bot",13 "description": "…",14 "confidence": 0.95,15 "examples": ["5Kq…", "3Ya…"]16 }17 ],18 "behavior": {19 "wallet_age_days": 212,20 "transaction_count": 4100000,21 "transaction_count_exact": false,22 "transactions_analyzed": 1000,23 "unique_counterparties": 38,24 "active": true25 },26 "activity": { "transfers": 41, "swaps": 902, "program_calls": 57 },27 "flows": { "inbound": { … }, "outbound": { … } },28 "meta": {29 "analyzed_at": "2026-09-29T10:12:03Z",30 "data_completeness": 0.9,31 "scope": "live",32 "warning": null,33 "depth": 1000,34 "free": false35 }36}字段
结论
| 字段 | 类型 | 含义 |
|---|---|---|
identity.type | string | 它是什么:MEV_ARBITRAGE、EXCHANGE、DRAINER… 或 UNKNOWN。见身份。 |
identity.confidence | number | 0 到 1。 |
risk.level | "LOW" | "MEDIUM" | "HIGH" | 见风险评分。 |
risk.score | number | 0 到 100。 |
risk.confidence | number | 0 到 1:对等级有多确定。 |
summary | string[] | 要点,与报告中显示的一致。 |
证据
| 字段 | 类型 | 含义 |
|---|---|---|
labels[] | Label | 知识库已知的信息:name、category、entity、role、source、source_url、confidence。 |
behaviors[] | Behavior | 发现的模式:kind、title、description、confidence、examples(交易签名)。见行为。使用过 Solana Privacy Rings 的钱包,其 PRIVACY_POOL_USER 还带有 rings.items[],按时间先后列出每一步:kind(deposit、private_transfer、withdrawal、merge、relayed、anonymous)、direction(out:它自己的;in:为它完成的)、counterparty、amount(隐藏时为 null)、mint、asset、owner(对方如何确认:signed、 registry、view_tag 即线索、unknown)、exact、relayer、via 和 via_name(调用 Rings 的应用)、from_pool、signature、time;读取过资金池历史时还有 rings.pool_read。 |
evidence[] | Evidence | 所有发现汇总在一个列表中:type(external_label、behavior、counterparty_exposure)、description、source、confidence、source_url。 |
flagged_counterparties[] | Counterparty | 它往来过的威胁和制裁地址:address、label、labels、entity、source、interactions、received_from、sent_to、last_seen。 |
known_counterparties[] | Counterparty | 它往来过的交易所、协议和 DEX。结构相同。 |
活动和资金
| 字段 | 类型 | 含义 |
|---|---|---|
behavior | object | 钱包年龄(天)、transaction_count(除非 transaction_count_exact 为真,否则为估算值)、transactions_analyzed、unique_counterparties、active(最近 30 天内有交易)。 |
activity | object | 已分析交易的类型分布:转账、兑换、程序调用。 |
flows.inbound / outbound | FlowSide | 转账、兑换的两边(交易场所作为交易对手)和跨链桥(Bridge: Mayan):wallets、transactions、sol、usd(稳定币)、other_tokens,以及按价值排序的 top 交易方,每个都带有 lookalike。 |
connections[] | Connection | 每个交易对手的双向数据:sol_in、usd_in、sol_out、usd_out、计数、dust_only、lookalike,以及最近的 transfers。经由 Solana Privacy Rings 关联的:rings[],每项含 kind、direction、transactions、公开的 sol、usd 和 tokens、amount_hidden、exact 与 signatures。 |
swap_venues[] | SwapVenue | 兑换发生的地方:program、name、swaps、卖出的 sold 和买入的 bought,以及最近的 recent 兑换。 |
balance | object | null | 当前持有:SOL 及其美元价值、代币及其价值。 |
balance_history[] | BalancePoint | time、sol 和 sampled:早期采样点为 true,精确点为 false。 |
程序和代币
当地址是程序时,program 包含其所有者、调用和调用者。当地址是代币铸造地址时,token 包含其发射、交易、参与者、持有者和跑路检查,identity.type 为 TOKEN。程序仅限 Solana;代币支持 Solana 铸造地址、Robinhood Chain 代币(含 Pons 发射)和 BNB Chain 代币(含 Flap 和 four.meme 发射),后两者的 _sol 金额以 ETH 计(BNB Chain 上以 BNB 计),token.launchpad 和 token.quote 说明它由什么发射、其资金池以什么计价。
元数据
| 字段 | 类型 | 含义 |
|---|---|---|
chain, native_symbol | string | 读取的链及其币种:SOL,EVM 链上为 ETH(BNB Chain 上为 BNB),dYdX 和 Noble 上为 USDC,Bitcoin 上为 BTC,Tron 上为 TRX(USDT 和 USDC 按美元计)。名为 sol 的字段(sol_in、balance.sol…)存放该币种;在 dYdX 上,balance.sol 是钱包的 USDC 加上其子账户的权益。在 EVM 链上,behaviors 和 balance_history 为空。 |
meta.scope | "live" | "database" | live:已分析交易。database:只有标签可用(不计费);meta.warning 会说明原因。 |
meta.depth | number | 请求的深度。历史较短时读取的更少;近期活动大多是粉尘垃圾时,Iris 会往更早读取,读取的更多(meta.warning 会注明)。 |
meta.data_completeness | number | 0 到 1:所需数据实际读到了多少。 |
meta.free | boolean | 分析免费时为 true:使用账户或 API 密钥分析全部历史只有 25 笔或更少交易且已全部读取的钱包(额度会退还)。通过 x402 付费时始终为 false。 |
meta.analyzed_at | string | ISO 8601,UTC。 |
用于筛查地址
付款或收款前的一个简单策略:
screen.py
1def screen(profile):2 risk = profile["risk"]3 if risk["level"] == "HIGH":4 return "block"5 if risk["level"] == "MEDIUM" or profile["flagged_counterparties"]:6 return "review"7 if profile["meta"]["scope"] != "live":8 return "review" # labels only: nothing was read9 return "allow"- 把
evidence与决策一起记录下来:这是你做出决定的依据。 - 把结果缓存一段时间,而不是每次付款都重新分析同一个地址。