本篇围绕「用户全网持仓列表API」详细拆解请求、响应、调用示例及高频疑问,帮助开发者一键拉取跨链资产仓位,无需再逐一手动核对钱包。
1. 功能概述
使用「用户全网持仓列表API」可一次性获取多个钱包地址在全平台(DEX、借贷、质押、收益聚合器…)的实时资产持仓,返回美元计价、可投标识等核心指标,为
- 链上资产管理
- 税务合规
- 机构资金管理
提供高速、标准化的调用方式。
核心关键词:全网持仓列表、用户持仓、DeFi API、跨链资产、钱包即服务
2. 接口基础信息
| 项目 | 描述 |
|---|---|
| 请求方式 | POST |
| Host | web3.okx.com |
| 完整 URL | https://web3.okx.com/api/v5/defi/user/asset/platform/list |
| Content-Type | application/json |
| 频率限制 | 60 次/分钟 / 单 IP |
3. 请求参数拆解
需在 Body 中传 JSON,顶层为 walletAddressList 数组,每个对象必填两项:
- chainId – 字符串,链标识,如
"1"(Ethereum)、"56"(BSC)。 - walletAddress – 字符串,用户真实地址
0x…。
示例数据结构:
{
"walletAddressList": [
{"chainId": "1", "walletAddress": "0x1234..."},
{"chainId": "137", "walletAddress": "0x5678..."}
]
}4. 响应字段全览
返回顶层为 walletIdPlatformList 数组,嵌套结构说明如下:
platformList – 单地址在所有 DeFi 协议的持仓快照。
platformName– 协议名,如「Uniswap V3」analysisPlatformId– 内部协议 ID,可用于二次查询currencyAmount– 该协议美元价值isSupportInvest–"true"表示可通过 OKX DeFi 一键复投platformUrl– 官方前端 URL
networkBalanceVoList – 链维度余额小结,方便快速过滤。
network&networkLogocurrencyAmount– 单链美元价值
- investmentCount – 当前「进行中的」投资品数量,可用于风控仓位集中提示。
5. 完整请求 & 响应示例
5.1 请求
curl --location --request POST 'https://web3.okx.com/api/v5/defi/user/asset/platform/list' \
--header 'Content-Type: application/json' \
--data-raw '{
"walletAddressList": [
{
"chainId": "1",
"walletAddress": "0xe64f5cb..."
},
{
"chainId": "56",
"walletAddress": "0x716a9c9..."
}
]
}'5.2 响应(精简版)
{
"code": 0,
"msg": "success",
"data": {
"walletIdPlatformList": [
{
"platformList": [
{
"platformName": "Uniswap V3",
"analysisPlatformId": "uni-v3-eth",
"currencyAmount": "5263.75",
"isSupportInvest": "true",
"platformUrl": "https://app.uniswap.org"
},
{
"platformName": "Compound",
"analysisPlatformId": "compound-eth",
"currencyAmount": "1892.00",
"isSupportInvest": "true",
"platformUrl": "https://app.compound.finance"
}
],
"networkBalanceVoList": [
{
"network": "Ethereum",
"chainId": "1",
"currencyAmount": "7155.75",
"networkLogo": "https://cdn.okx.../eth.png"
},
{
"network": "BNB Smart Chain",
"chainId": "56",
"currencyAmount": "1200.00",
"networkLogo": "https://cdn.okx.../bsc.png"
}
],
"investmentCount": "7"
}
]
}
}6. 错误码速查
| 错误码 | 描述 | 解决思路 |
|---|---|---|
| 40001 | chainId 未定义 | 枚举官方链列表,确认大小写一致 |
| 40002 | 钱包地址格式错误 | 校验 0x 开头或 bech32 格式 |
| 429 | 频率超限 | 做指数退避或提升付费套餐 |
7. SDK 速通示例(Python)
import requests, json
url = "https://web3.okx.com/api/v5/defi/user/asset/platform/list"
payload = {
"walletAddressList": [{"chainId":"1","walletAddress":"0x..."}]
}
headers = {"Content-Type": "application/json"}
r = requests.post(url, headers=headers, data=json.dumps(payload))
print(r.json())8. 典型应用场景
- 链上报税工具
定时扫用户地址,自动生成资产快照,计算盈亏。 - 资管面板
多链多钱包一站式展示,节省数小时汇总时间。 - 风险控制
根据响应中isSupportInvest与investmentCount给出再投资建议或风险提示。
👉 点此查看如何把查询结果一键对接至 Google Sheets。
9. FAQ:高频疑问 6 连击
Q1:一次最多查多少个地址?
A:单次上限 20 组 (chainId, walletAddress) 组合,超出需分页。
Q2:是否支持测试网?
A:目前仅支持主网;若需测试网,请关注后续公告。
Q3:返回的金额是实时汇率吗?
A:美元计价取自主流中心化交易所 5s 均价,波动误差 <1%。
Q4:为什么某些链的持仓金额显示为 0?
A:该地址内并没有被协议识别的资产或没有在该链实际活动。
Q5:analysisPlatformId 有什么用?
A:可对接其他 OKX DeFi API,例如「协议收益明细」接口,用于深度分析。
Q6:出现 504 怎么办?
A:接口内部在聚合链上与第三方数据,偶尔超时;可重试或降低并发。
10. 进阶优化建议
- 本地缓存:晨间同步一次,白日根据增量钱包地址增量更新,可减少 70% 请求量。
- 分页策略:地址池>20 时,分片并发可压到 200 ms 内完成全量查询。
关键词总结:全网持仓列表、用户持仓、DeFi API、跨链资产、钱包即服务、连锁投资仓位、API 调用指南