You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C#调用Binance API赎回USDT时遇‘daily product not exist’错误

解决Binance API赎回USDT时的「daily product not exist」错误

调用C#版Binance SDK的RedeemFlexibleProductAsync方法赎回USDT时,收到错误:

Error: daily product not exist

已完成的排查:

  • 可通过Binance App正常赎回该金额
  • 确认传入的参数值为「USDT」,无拼写错误
  • 与交易所服务器连接正常
  • 可通过该连接读取包括USDT在内的所有灵活理财余额
  • API已开启交易和提现权限
  • 已尝试不同receiveWindows值,当前设为最大值60000

问题核心原因

你传入的「USDT」是币种符号,但RedeemFlexibleProductAsync方法第一个参数要求的是灵活理财专属产品ID——Binance的灵活理财每个币种对应独立的产品ID,并非直接使用币种符号。

修复方案

从GetFlexibleProductPositionAsync的返回结果中,提取对应币种的ProductId字段,再传入赎回接口即可。

修改后的代码

private async Task<bool> RedeemFromEarn(string coin, decimal redeemAmount)
{
    var earnPositions = await client.GeneralApi.Savings.GetFlexibleProductPositionAsync();
    var targetPosition = earnPositions.Data.First(x => x.Asset.Equals(coin));
    var earnBalance = Convert.ToDecimal(targetPosition.TotalQuantity);

    if (earnBalance > redeemAmount)
    {
        // 使用获取到的正确产品ID,而非币种符号
        var redeemResult = await client.GeneralApi.Savings.RedeemFlexibleProductAsync(
            targetPosition.ProductId, 
            redeemAmount, 
            RedeemType.Normal, 
            60000);

        if (redeemResult.Success)
        {
            Debug.Print($"赎回成功,交易ID: {redeemResult.Data}");
        }
        else
        {
            Debug.Print($"错误: {redeemResult.Error.Message}");
        }
    }
    else
    {
        Debug.Print($"理财账户中{coin}余额不足,最大可赎回{earnBalance}");
        return false;
    }
    return true;
}

额外提示

  • 若仍有问题,可尝试切换RedeemType为Fast(快速赎回),部分产品可能限制普通赎回渠道
  • 确认GetFlexibleProductPositionAsync返回的ProductId不为空,避免空值传入

内容的提问来源于stack exchange,提问作者Dani Sanai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:33:17