Coinbase Pro API提交DOGE-USD卖单提示size精度过高错误如何解决
错误原因
你遇到的报错不是size数值小于最小单位,而是size的精度超过了交易对允许的最大小数位数。
Coinbase Pro中DOGE-USD交易对的base_increment(基础货币最小交易增量)为0.1,意味着你提交的委托数量只能保留1位小数。你传入的135.5200实际有效小数位为2位,多出的0.02部分超出了平台允许的精度范围,因此触发报错。
解决方法
- 方案1:硬编码适配DOGE-USD交易对,提前把委托数量处理为1位小数
可以选择向下截断或者四舍五入,JS示例代码如下:
如果你接受四舍五入,也可以用// 向下截断到1位小数,避免超出实际持有数量 const rawSize = 135.5200 const processedSize = Math.floor(rawSize * 10) / 10 const sellParams = {"side":"sell","product_id":"DOGE-USD","type":"market","size": processedSize.toString()}toFixed(1)直接处理:const processedSize = 135.5200.toFixed(1) // 输出为字符串"135.5",可直接传入参数 - 方案2:动态获取交易对精度,适配所有交易对
调用Coinbase Pro公共接口GET /products/DOGE-USD,返回结果中的base_increment字段就是对应交易对的最小增量,根据这个值动态计算需要保留的小数位数,无需硬编码规则。
内容的提问来源于stack exchange,提问作者Moblize IT
相关产品推荐
相关产品推荐

