nansen-wallet-attribution
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWallet Clustering & Attribution
钱包聚类与属性分析
Answers: "Who controls this wallet? Are these wallets related?"
Chain detection: Inspect the address format before running any command.
- Starts with →
0x(also works for base, arbitrum, optimism, polygon)--chain ethereum - Base58 (32–44 chars, no ) →
0x--chain solana
Run steps 1-2 on the seed address. For every new address found, ask the human: "Found via (). Want me to query it?" On confirm, re-run steps 1-2 on it. Reserve step 3 for the seed address only. Keep expanding until no new addresses or confidence is Low.
<addr><signal><label>bash
ADDR=<address>可解答问题: "谁控制这个钱包?这些钱包之间是否有关联?"
链检测: 运行任何命令前先检查地址格式。
- 以开头 →
0x(同样适用于base、arbitrum、optimism、polygon)--chain ethereum - Base58格式(32–44个字符,无前缀) →
0x--chain solana
对种子地址执行步骤1-2。每发现一个新地址,询问用户:"通过()发现地址。是否需要查询该地址?" 确认后,对该地址重新执行步骤1-2。步骤3仅对种子地址执行。持续扩展查询范围,直到没有新地址或置信度为低。
<signal><label><addr>bash
ADDR=<address>Detect chain from address format above
从上述地址格式检测所属链
CHAIN=<detected> # ethereum | solana | base | ...
CHAIN=<detected> # ethereum | solana | base | ...
1. Labels
1. 标签查询
nansen research profiler labels --address $ADDR --chain $CHAIN
nansen research profiler labels --address $ADDR --chain $CHAIN
→ label, category (e.g. "Smart Trader", "Fund", ENS names)
返回结果:label, category(例如 "Smart Trader", "Fund", ENS名称)
2. Related wallets (First Funder, Signer, Deployed via)
2. 关联钱包查询(第一出资方、签名者、部署方)
Repeat with --page N+1 until is_last_page: true
重复传入--page N+1参数直到返回is_last_page: true
nansen research profiler related-wallets --address $ADDR --chain $CHAIN
nansen research profiler related-wallets --address $ADDR --chain $CHAIN
→ address, address_label, relation, block_timestamp, chain
返回结果:address, address_label, relation, block_timestamp, chain
3. Counterparties — start with 90d
3. 交易对手查询 — 默认查询90天数据
Repeat with --page N+1 until is_last_page: true
重复传入--page N+1参数直到返回is_last_page: true
nansen research profiler counterparties --address $ADDR --chain $CHAIN --days 90
nansen research profiler counterparties --address $ADDR --chain $CHAIN --days 90
→ counterparty_address, counterparty_address_label, interaction_count, total_volume_usd
返回结果:counterparty_address, counterparty_address_label, interaction_count, total_volume_usd
If empty, retry with --days 365
如果返回为空,重试--days 365参数
EVM only — also check L2s (4 extra API calls per address):
仅EVM链适用 — 同时查询L2链(每个地址额外产生4次API调用):
nansen research profiler counterparties --address $ADDR --chain base --days 365
nansen research profiler counterparties --address $ADDR --chain base --days 365
nansen research profiler counterparties --address $ADDR --chain arbitrum --days 365
nansen research profiler counterparties --address $ADDR --chain arbitrum --days 365
nansen research profiler counterparties --address $ADDR --chain optimism --days 365
nansen research profiler counterparties --address $ADDR --chain optimism --days 365
nansen research profiler counterparties --address $ADDR --chain polygon --days 365
nansen research profiler counterparties --address $ADDR --chain polygon --days 365
4. Batch profile the cluster
4. 集群批量画像
Use addresses collected from steps 1-3
传入步骤1-3收集到的所有地址
nansen research profiler batch --addresses "<addr1>,<addr2>,..." --chain $CHAIN --include labels,balance,pnl
nansen research profiler batch --addresses "<addr1>,<addr2>,..." --chain $CHAIN --include labels,balance,pnl
→ per-address: labels, balance, pnl_summary
返回结果:每个地址对应的标签、余额、pnl汇总
5. Compare pairs
5. 地址对比对
nansen research profiler compare --addresses "<addr1>,<addr2>" --chain $CHAIN
nansen research profiler compare --addresses "<addr1>,<addr2>" --chain $CHAIN
→ shared_counterparties, shared_tokens, overlap_score
返回结果:shared_counterparties, shared_tokens, overlap_score
6. Coordinated balance movements
6. 协同余额变动查询
Repeat with --page N+1 until is_last_page: true
重复传入--page N+1参数直到返回is_last_page: true
nansen research profiler historical-balances --address $ADDR --chain $CHAIN --days 90
nansen research profiler historical-balances --address $ADDR --chain $CHAIN --days 90
→ token_symbol, balance snapshots over time
返回结果:token_symbol, 各时间点的余额快照
7. Multi-hop trace — only if steps 2-3 are inconclusive
7. 多跳链路追踪 — 仅当步骤2-3无法得出结论时使用
nansen research profiler trace --address $ADDR --chain $CHAIN --depth 2 --width 3
nansen research profiler trace --address $ADDR --chain $CHAIN --depth 2 --width 3
→ root, nodes (address list), edges (from→to with volume), stats (nodes_visited, edges_found)
返回结果:root, nodes(地址列表), edges(带金额的流向关系), stats(访问节点数、发现边数)
**Stop expanding when:** address is a known protocol/CEX · confidence is Low · already visited · cluster > 10 wallets.
**满足以下条件时停止扩展:** 地址属于已知协议/CEX · 置信度为低 · 已查询过该地址 · 集群钱包数量超过10个。Attribution Rules
归属规则
- CEX withdrawal → wallet owner (NOT the CEX)
- Smart account/DCA bot → end-user who funds it (NOT the protocol)
- Safe deployer ≠ owner — identical signer sets across Safes = same controller
| Confidence | Signals |
|---|---|
| High | First Funder / shared Safe signers / same CEX deposit address |
| Medium | Coordinated balance movements / related-wallets + label match |
| Exclude | ENS alone, single CEX withdrawal, single deployer |
Output: · · · ·
Warning: is credit-heavy; keep or lower. L2 counterparty loop adds 4 API calls per address. Historical balances reveal past holdings on drained wallets — useful fingerprint.
addressownerconfidence (H/M/L)signalsroletrace--width 3- CEX提现 → 归属钱包所有者(而非CEX本身)
- 智能账户/DCA机器人 → 归属为其注资的终端用户(而非协议本身)
- Safe部署方 ≠ 所有者 — 多个Safe使用相同签名者集合 = 同一控制方
| 置信度 | 判定信号 |
|---|---|
| 高 | 第一出资方 / 共享Safe签名者 / 相同CEX存款地址 |
| 中 | 协同余额变动 / 关联钱包 + 标签匹配 |
| 排除 | 仅ENS匹配、单次CEX提现、单一部署方 |
输出内容: · · · ·
警告:命令会消耗大量额度;请将参数保持在3或更低。L2交易对手查询循环每个地址会额外产生4次API调用。历史余额可展示已掏空钱包的过往持仓——是非常有用的特征标识。
addressownerconfidence (H/M/L)signalsroletrace--width