跳到主要内容

充值与提现 (Deposit & Withdraw)

ZTDX 采用链上结算机制,充值和提现均通过智能合约完成。

充值 (Deposit)

将外部资产转入 ZTDX 交易账户。

充值流程

  1. 获取合约地址: 所有的充值均发送至 Vault 合约
  2. 链上转账: 用户通过钱包向 Vault 合约转账
  3. 确认时间: 充值通常需要 2-5 个区块确认
  4. 资产映射: 成功充值后,资产将自动反映在账户余额中

准备充值

接口信息

  • Method: POST
  • Path: /api/v1/deposit/prepare
  • Authentication: 需要身份验证
  • Content-Type: application/json

请求参数

参数类型必须描述
tokenstring资产名称(如 USDT)
amountstring充值数量

请求示例

{
"token": "USDT",
"amount": "1000.00"
}

响应示例

{
"contract_address": "0x1234567890abcdef...",
"token_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"amount": "1000.00",
"estimated_gas": 100000
}

响应字段说明

字段类型描述
contract_addressstringVault 合约地址
token_addressstring代币合约地址
amountstring充值数量
estimated_gasnumber预估 Gas 费用

充值历史

接口信息

  • Method: GET
  • Path: /api/v1/deposit/history
  • Authentication: 需要身份验证

响应示例

{
"deposits": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"token": "USDT",
"amount": "1000.00",
"tx_hash": "0xabc123...",
"status": "completed",
"created_at": 1704067200
}
]
}

Deposit 对象字段

字段类型描述
idstring充值记录 ID
tokenstring资产名称
amountstring充值数量
tx_hashstring交易哈希
statusstring状态(pending/completed/failed)
created_atnumber创建时间(Unix 时间戳)

提现 (Withdraw)

将资产从 ZTDX 提取至外部钱包。

发起提现请求

接口信息

  • Method: POST
  • Path: /api/v1/withdraw/request
  • Authentication: 需要身份验证
  • Content-Type: application/json

请求参数

参数类型必须描述
tokenstring资产名称(如 USDT)
amountstring提现数量

请求示例

{
"token": "USDT",
"amount": "500.00"
}

响应示例

{
"withdraw_id": "550e8400-e29b-41d4-a716-446655440000",
"token": "USDT",
"amount": "500.00",
"backend_signature": "0x...",
"nonce": 1,
"expiry": 1704153600,
"vault_address": "0x1234567890abcdef..."
}

响应字段说明

字段类型描述
withdraw_idstring提现请求 ID
tokenstring资产名称
amountstring提现数量
backend_signaturestring后端签名(用于合约验证)
noncenumber提现 nonce
expirynumber签名过期时间(Unix 时间戳)
vault_addressstringVault 合约地址

提现流程

  1. 调用 /withdraw/request 获取后端签名
  2. 使用返回的参数调用 Vault 合约的 withdraw 方法
  3. 等待链上确认
  4. 资产转入用户钱包

提现历史

接口信息

  • Method: GET
  • Path: /api/v1/withdraw/history
  • Authentication: 需要身份验证

响应示例

{
"withdrawals": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"token": "USDT",
"amount": "500.00",
"nonce": 1,
"expiry": 1704153600,
"backend_signature": "0x...",
"tx_hash": "0xdef456...",
"status": "completed",
"created_at": 1704067200
}
]
}

Withdrawal 对象字段

字段类型描述
idstring提现记录 ID
tokenstring资产名称
amountstring提现数量
noncenumber提现 nonce
expirynumber签名过期时间
backend_signaturestring后端签名
tx_hashstring | null交易哈希
statusstring状态
created_atnumber创建时间(Unix 时间戳)

提现状态说明

状态描述
pending等待处理
processing正在链上提交
completed提现成功
failed提现失败(原路退回)
expired签名已过期

说明

  • 充值和提现均通过智能合约完成,保证资金安全
  • 提现需要后端签名验证,防止未授权操作
  • 所有金额均为字符串格式以保证精度
  • 提现签名有效期为 24 小时
  • 最小充值/提现金额由合约配置决定

相关接口