Coinbase API client.get_accounts()无法返回所有钱包 找不到ATOM钱包怎么解决
Coinbase API无法返回ATOM钱包解决方案
1. 调整接口请求参数,拉取全量账户数据
Coinbase get_accounts() 接口默认仅返回25条账户数据,且默认过滤零余额账户,单页最大返回上限为100条,你传入的limit=200会被接口自动截断。
需新增all_accounts=True参数强制返回所有账户,同时实现分页逻辑拉取全部页面数据,参考代码如下:
from coinbase.wallet.client import Client api_key = 'xxx' api_secret = 'xxx' cb_client = Client(api_key, api_secret) all_accounts = [] current_page = cb_client.get_accounts(limit=100, all_accounts=True) all_accounts.extend(current_page['data']) # 循环拉取所有分页 while current_page.pagination.get('next_uri'): next_starting_after = current_page.pagination['next_starting_after'] current_page = cb_client.get_accounts(limit=100, all_accounts=True, starting_after=next_starting_after) all_accounts.extend(current_page['data']) # 查询ATOM余额 coin = 'ATOM' coin_balance = 0 for account in all_accounts: if account['currency'] == coin: coin_balance = float(account['native_balance']['amount']) break print(f'ATOM 余额:{coin_balance}')
2. 校验API密钥权限
确认你使用的API密钥已开启wallet:accounts:read权限,未开启该权限时接口会自动过滤无权访问的账户数据,可登录Coinbase后台在API管理页面调整权限配置。
3. 确认ATOM资产所属账户类型
如果你的ATOM处于质押状态、存放在赚币(Earn)账户或Coinbase交易所账户内,不会在普通钱包账户接口返回结果中展示:
- 质押类ATOM需调用
client.get_staking_balances()接口查询 - 交易所账户内的ATOM需调用Coinbase Exchange专属API接口查询
内容的提问来源于stack exchange,提问作者NiceShyGuy
相关产品推荐
相关产品推荐

