You need to enable JavaScript to run this app. 如何让Coinbase API返回本地法币计价的钱包余额而非加密货币金额
优惠活动
大模型
产品
解决方案
定价
更多

如何让Coinbase API返回本地法币计价的钱包余额而非加密货币金额

核心结论
  • 无需为原/v2/accounts请求添加任何额外参数,该接口默认返回native_balance字段——这就是以用户Coinbase资料中设置的本地货币计价的钱包价值
  • 生效前提:你的OAuth2 access token已申请wallet:accounts:read权限(Coinbase账户关联时多数默认授予该权限)
适配你现有代码的实现

完全保留你原生HTTP请求的逻辑,仅新增对native_balance字段的解析即可:

import requests

# 替换为你的Alexa账户关联得到的token
account_linking_token = "xxx"
# 保持你原有的请求拼接逻辑
url = "https://api.coinbase.com/v2/accounts?access_token={}".format(account_linking_token)
acct_data = requests.get(url).json()

# 遍历所有钱包账户提取数据
for acct in acct_data["data"]:
    # 原加密币原生余额(你已实现的逻辑)
    crypto_bal = acct["balance"]
    # 新增:本地货币计价的钱包价值(你需要的内容)
    native_bal = acct["native_balance"]
    print(f"钱包名称:{acct['name']}")
    print(f"加密币余额:{crypto_bal['amount']} {crypto_bal['currency']}")
    print(f"本地货币计价价值:{native_bal['amount']} {native_bal['currency']}")
可选验证:确认用户的本地货币设置

如果需要明确用户账户绑定的本地货币(比如是否为USD、CNY等),可复用同一token调用/v2/user接口获取:

user_url = "https://api.coinbase.com/v2/user?access_token={}".format(account_linking_token)
user_data = requests.get(user_url).json()
user_set_native_currency = user_data["data"]["native_currency"]
# 输出示例:"USD"
踩坑提醒
  • 不要尝试给/v2/accounts加currency=XXX这类自定义参数:Coinbase v2 API不支持通过请求指定计价货币,native_balance完全绑定用户账户设置,无法通过参数覆盖
  • 如果未找到native_balance字段:优先检查OAuth2授权范围是否遗漏wallet:accounts:read,或token是否过期(需重新触发Alexa的账户关联流程刷新)
  • 不要混淆balance/native_balance:前者是加密币原生数量,后者是按用户本币换算的法币价值

内容的提问来源于stack exchange,提问作者John Fiorello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 12:24:03