查询用户全网持仓列表:接口详解与实战指南

·

本篇围绕「用户全网持仓列表API」详细拆解请求、响应、调用示例及高频疑问,帮助开发者一键拉取跨链资产仓位,无需再逐一手动核对钱包。

1. 功能概述

使用「用户全网持仓列表API」可一次性获取多个钱包地址全平台(DEX、借贷、质押、收益聚合器…)的实时资产持仓,返回美元计价、可投标识等核心指标,为

核心关键词:全网持仓列表、用户持仓、DeFi API、跨链资产、钱包即服务


2. 接口基础信息

项目描述
请求方式POST
Hostweb3.okx.com
完整 URLhttps://web3.okx.com/api/v5/defi/user/asset/platform/list
Content-Typeapplication/json
频率限制60 次/分钟 / 单 IP

3. 请求参数拆解

需在 Body 中传 JSON,顶层为 walletAddressList 数组,每个对象必填两项:

示例数据结构:

{
  "walletAddressList": [
    {"chainId": "1", "walletAddress": "0x1234..."},
    {"chainId": "137", "walletAddress": "0x5678..."}
  ]
}

4. 响应字段全览

返回顶层为 walletIdPlatformList 数组,嵌套结构说明如下:

  1. platformList – 单地址在所有 DeFi 协议的持仓快照。

    • platformName – 协议名,如「Uniswap V3」
    • analysisPlatformId – 内部协议 ID,可用于二次查询
    • currencyAmount – 该协议美元价值
    • isSupportInvest"true" 表示可通过 OKX DeFi 一键复投
    • platformUrl – 官方前端 URL
  2. networkBalanceVoList – 链维度余额小结,方便快速过滤。

    • network & networkLogo
    • currencyAmount – 单链美元价值
  3. 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. 错误码速查

错误码描述解决思路
40001chainId 未定义枚举官方链列表,确认大小写一致
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. 典型应用场景

  1. 链上报税工具
    定时扫用户地址,自动生成资产快照,计算盈亏。
  2. 资管面板
    多链多钱包一站式展示,节省数小时汇总时间。
  3. 风险控制
    根据响应中 isSupportInvestinvestmentCount 给出再投资建议或风险提示。

👉 点此查看如何把查询结果一键对接至 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. 进阶优化建议


关键词总结:全网持仓列表、用户持仓、DeFi API、跨链资产、钱包即服务、连锁投资仓位、API 调用指南