Skip to main content

概述

链上充值让您的用户通过区块链网络把加密货币转入 DCS 托管的充值地址,到账后计入用户在 DCS 的独立账户余额(availableBalance),即可用于绑定卡的消费。整个过程基于区块链网络完成,无需机构垫资中转。作为持牌发卡机构并拥有自有 BIN,DCS 负责链上监测、确认与记账,将「加密货币 → 可用余额 → 刷卡」连接成完整流程。 本流程是:用户把加密货币打进来 → 平台监测确认 → 入账成为可用余额 核心三步:
  1. GET /crypto/v1/network-coin 确认当前支持的链 + 币种 + 是否开启充值。
  2. GET /crypto/v2/deposit-address(推荐)获取该用户在指定链/币种的充值地址。
  3. 用户向该地址转账 → 平台监测链上交易、达到确认数后入账 → 通过 WebSocket 推送状态。

前置条件

链上充值前,用户必须完成以下合规步骤,否则无法获取充值地址 / 无法入账:
方法说明:旅行规则更新用 POST /account/v1/update-travel-rule,查询用 GET /account/v2/query-travel-rule

关键概念

链上模式

链上模式指用户直接通过区块链网络进行加密货币流转:向平台提供的链上地址转入(入金)。平台基于区块链交易哈希(txHash)实现全流程可追溯。

充值地址

平台为用户在「指定链 + 指定币种」上分配的收款地址。用户向此地址转入对应资产即视为向其 DCS 账户充值。

确认数

链上交易需要达到一定区块确认数才视为最终到账。每条链的最小确认数由 network-coin 配置返回(minConfirm),不同链不同。

API 流程

加密货币充值流程加密货币充值流程

接口详解

前置步骤:完成旅行规则

此步骤已在前置条件中列出,属于充值流程开始前须完成的合规前置操作。此处给出完整请求示例供接入机构参考。
请求体(8 个顶层字段 + 6 个地址子字段,仅 externalUserId 必填,所有 PII 占位):
dateOfBirth(出生日期,格式 YYYY-MM-DD)、placeOfBirth(出生地)、address.dependentLocality(县/区名称)为可选合规字段,仅 externalUserId 必填。其余可选字段如 channelNameinstitutionName 的值由接入机构按需传入。查询接口(GET /account/v2/query-travel-rule)与 Travel Rule 背景见 旅行规则(Travel Rule)

第 1 步:确认支持的链 / 币种

返回当前用户钱包配置数组,充值场景应据此动态判断哪些链/币可用、确认数多少,而非硬编码静态清单。常用字段(data[]):
充值前先调 network-coin 确认配置,再调 deposit-address

第 2 步:获取充值地址

query 参数 GET /crypto/v2/deposit-addressdata 字段:
fxRate(换汇汇率)用于展示折算金额,status 用于判断地址是否就绪。最小充值额与确认数不在本接口返回,可从 network-coinminConfirm 等字段获取。
请求示例(占位/脱敏;鉴权头见 接入资源 · 鉴权指南):
响应示例(v2,填充态,地址为占位):
响应结构全站统一为 { code, message, messageDetail, data }success 布尔);messageDetail 通常为 null,需要时为对象 {message, title, type, icon, action, linkTitle, linkUrl}。成功码 code 字面量为 SYS_SUCCESS(两种模式一致)。

资金到账后会发生什么

  1. 用户转账:用户向充值地址转入对应链/币种的加密货币,链上产生交易哈希 txHash
  2. 平台监测:DCS 监测区块链网络,等待交易确认数达到该链的 minConfirm / minConfirmationNo
  3. 入账:达到确认数后,资金计入用户在 DCS 的账户余额(独立账户 availableBalance)。
  4. WebSocket 推送:DCS 通过 WebSocket 实时推送交易状态变动通知(参见 接入资源 · WebSocket 实时推送)。
  5. 机构查询:接入机构可随时调 GET /card/v1/fiat/transactions?externalUserId=... 查询充值/法币流水记录核对入账。
fiat/transactions 充值流水的链上明细在 transferDetails 子对象中,含字段:channelCodetxnAmttxnCcysenderreceivingtimeStamptxHashnetworkasset
实时推送是「主动到账通知」;fiat/transactions 是「按需对账查询」。建议两者结合:以 WebSocket 触发 UI 更新,以 fiat/transactions 做最终对账。
到账时效:DPT 模式充值到账时间大概在 2 分钟左右(达到链上确认数后入账)。实际时效随链拥堵与确认数要求浮动,以 WebSocket 推送 / fiat/transactions 实际状态为准。

支持的链 / 币种矩阵

支持的链与币种GET /crypto/v1/network-coin?type=DEPOSIT 的实时返回为准,请勿硬编码静态清单(配置会随业务调整)。该接口会返回每条链/币种的 depositEnableminConfirmaddressRegexcontractAddress 等。
关于具体取值:生产环境的链 / 币种以 GET /crypto/v1/network-coin 的动态配置为准,请勿硬编码静态清单。沙盒模拟接口实际接受的取值范围如需确认,请联系 DCS 团队。

沙盒模拟充值

测试链上充值入账流程时,可用模拟接口直接造一笔到账:
请求体(占位模板,请勿照抄具体链/币):
填入时 address 用第 2 步获取的充值地址;chain / currency 的取值范围如需确认,请联系 DCS 团队。 模拟充值仅沙盒可用,用于触发到账 / WebSocket 推送以验证您的对接。模拟接口与其它沙盒能力的整体说明见 模拟交易

错误处理

完整错误码字典请向 DCS 团队索取;具体错误以接口返回的 code/message 为准。

下一步