钱包管理 API

管理商户钱包、余额查询和提现操作的 API 文档

8 分钟阅读
更新于 2025/8/13
API钱包提现余额

钱包管理 API 提供商户账户余额查询、提现地址管理、发起提现等功能。所有钱包操作都需要特定的 API 权限。

概述

认证方式
Bearer Token (JWT)
所需权限
wallet:read, wallet:write
手续费率
1% (自动计算)

查询余额

获取商户账户的各币种余额信息。

GET/wallet/balance

查询参数

参数类型必填说明
currencystring指定币种,不填返回所有币种余额
networkstring指定网络,配合 currency 使用

响应示例

余额字段说明

字段说明
available可用余额,可以立即提现
pending待确认余额,区块链确认中
frozen冻结余额,因风控或争议暂时冻结
total总余额 = available + pending + frozen
valueUSD以美元计价的价值(实时汇率)

查询交易历史

获取钱包的交易记录,包括收款和提现。

GET/wallet/transactions

查询参数

参数类型说明
typestring交易类型(deposit, withdrawal, fee)
currencystring币种筛选
statusstring状态筛选
startDatestring开始日期
endDatestring结束日期
pageinteger页码
limitinteger每页数量

响应示例

提现地址管理

获取提现地址列表

GET/wallet/addresses

添加提现地址

POST/wallet/addresses

请求参数

参数类型必填说明
addressstring钱包地址
networkstring区块链网络
currencystring支持的币种
labelstring地址标签/备注
isDefaultboolean设为默认地址
verificationCodestring邮箱验证码

请求示例

{
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0b0d0",
  "network": "Ethereum",
  "currency": "USDT",
  "label": "冷钱包地址",
  "isDefault": false,
  "verificationCode": "123456"
}

安全提示:添加新地址需要邮箱验证。地址添加后 24 小时内不能用于提现。

删除提现地址

DELETE/wallet/addresses/{addressId}

需要提供邮箱验证码:

{
  "verificationCode": "123456"
}

发起提现

创建提现申请

POST/wallet/withdrawals

请求参数

参数类型必填说明
amountstring提现金额
currencystring币种
networkstring区块链网络
addressIdstring✅*提现地址 ID
addressstring✅*提现地址(与 addressId 二选一)
memostring备注/标签(某些币种需要)
verificationCodestring验证码(邮箱/2FA)

请求示例

{
  "amount": "1000.00",
  "currency": "USDT",
  "network": "TRON",
  "addressId": "addr_abc123",
  "verificationCode": "123456"
}

响应示例

查询提现状态

GET/wallet/withdrawals/{withdrawalId}

取消提现

只能取消状态为 pending 的提现申请。

POST/wallet/withdrawals/{withdrawalId}/cancel
{
  "reason": "用户取消",
  "verificationCode": "123456"
}

提现限额

查询提现限额

GET/wallet/limits

手续费计算

预估提现手续费

POST/wallet/estimate-fee

请求参数

{
  "amount": "1000.00",
  "currency": "USDT",
  "network": "TRON",
  "type": "withdrawal"
}

响应示例

{
  "amount": "1000.00",
  "platformFee": "10.00",
  "platformFeeRate": "1%",
  "networkFee": "1.00",
  "totalFee": "11.00",
  "netAmount": "989.00",
  "estimatedArrival": "10-30 minutes",
  "exchangeRate": null
}

结算管理

自动结算设置

配置自动结算规则,将不同币种自动转换为指定币种。

POST/wallet/settlement/config
{
  "enabled": true,
  "targetCurrency": "USDT",
  "targetNetwork": "TRON",
  "schedule": "daily",
  "time": "00:00",
  "minimumAmount": "100.00",
  "autoWithdraw": false,
  "withdrawAddress": "addr_abc123"
}

手动结算

立即执行结算,将账户余额转换为指定币种。

POST/wallet/settlement/execute
{
  "sourceCurrencies": ["BTC", "ETH", "BNB"],
  "targetCurrency": "USDT",
  "targetNetwork": "TRON",
  "verificationCode": "123456"
}

提现状态说明

状态说明
pending待处理 - 提现申请已提交
reviewing审核中 - 人工审核(大额提现)
approved已批准 - 审核通过,准备处理
processing处理中 - 正在广播交易
sent已发送 - 交易已广播到区块链
completed已完成 - 提现成功到账
failed失败 - 提现失败
cancelled已取消 - 用户或系统取消
rejected已拒绝 - 审核拒绝

安全建议

1. 地址白名单

强烈建议启用地址白名单功能:

// 只允许提现到白名单地址
const withdrawal = await createWithdrawal({
  amount: '1000.00',
  currency: 'USDT',
  network: 'TRON',
  addressId: 'addr_abc123', // 使用预先添加的地址 ID
  verificationCode: '123456'
});

2. 双重验证

对于大额提现,建议启用 2FA:

3. 限额管理

合理设置提现限额,降低风险:

  • 日限额:防止单日大额损失
  • 单笔限额:限制单次提现金额
  • 地址限额:对不同地址设置不同限额

4. 监控告警

设置提现监控和告警:

错误码

钱包相关的特定错误码:

错误码说明解决方案
3001余额不足检查可用余额
3002地址格式无效验证地址格式
3003超出提现限额降低金额或提升 KYC
3004地址不在白名单添加地址到白名单
3005提现金额过小提高提现金额
3006地址验证失败重新验证地址
3007提现暂时禁用联系客服
3008网络暂不可用稍后重试或换网络

示例代码

完整的提现流程

相关文档