跳转到主要内容

即将推出的变更

我们正在开发令人兴奋的新功能,将增强您的体验。在我们继续开发这些更新的同时,您可以继续构建!
我们建议您定期查看此更新日志以获取最新更新,并相应地规划您的开发周期。您的反馈对我们非常宝贵,如有任何建议或问题,请随时与我们分享。

产品更新

新版本和改进
2026年1月31日

cNGN 合约地址更新

cNGN 团队已在 5 个网络上部署了新的合约地址。之前的地址现已标记为 “Old v2”,将逐步淘汰。

变更内容

  • cNGN 新部署:Ethereum、BNB Chain、Base、Asset Chain 和 Arc 上的 cNGN 合约地址已更新
  • 之前的地址已重新标记:控制面板中现有地址已标记为 “Old v2”
  • 新网络支持:cNGN 现已在 Arc 网络上可用

您需要做什么

  • 进入控制面板并添加新的 cNGN 资产(查找没有 “Old” 标签的资产)
  • 更新您的集成以使用新的合约地址
  • 之前的地址在过渡期间将继续正常工作

新合约地址

网络新 cNGN 合约地址
Ethereum0xF55E56423e6b50808fD07cB62b6A32B91903f50E
BNB Chain0x8a078b182bA9649c03982c2a80CDcc81cdc99dA8
Base0xEFdF04BAfE0ebabb5F5cD9e3f36564f51CFe1530
Asset Chain0x00F0a33d9AFaC108A4963D4Cb4Ef6A9C6B8D8859
Arc0x1716Df6A18DcFF031BFD209aDB8035174AdC0D31

cNGN 测试代币

需要用于沙盒(测试网)集成的测试 cNGN?请使用官方 cNGN Faucet 获取测试代币。有关 cNGN 稳定币项目的更多信息,请访问官方仓库
2026年1月22日

虚拟账户 API 重大变更

重大变更:此更新现已生效。使用虚拟账户 API 的现有集成应更新至新的响应格式。

为什么进行此变更

之前,每个钱包或地址只能拥有一个虚拟账户。我们听到企业反馈需要每个钱包拥有多个虚拟账户——例如,为不同的客户或用例分配单独的账户。此更新实现了这种灵活性,同时保持了检索单个账户的向后兼容性。

变更内容

端点之前的行为新的行为
GET /wallets/{walletId}/virtual-accounts返回单个对象返回分页数组
GET /wallets/{walletId}/addresses/{addressId}/virtual-accounts返回单个对象返回分页数组

新增端点

要检索特定的虚拟账户(相当于旧的单对象响应),请使用这些新端点:
端点描述
GET /wallets/{walletId}/virtual-accounts/{virtualAccountId}获取特定虚拟账户
GET /wallets/{walletId}/virtual-accounts/{virtualAccountId}/transactions获取虚拟账户的交易记录
POST /wallets/{walletId}/virtual-accounts/{virtualAccountId}/regenerate重新生成虚拟账户
GET /wallets/{walletId}/addresses/{addressId}/virtual-accounts/{virtualAccountId}获取特定子地址虚拟账户
GET /wallets/{walletId}/addresses/{addressId}/virtual-accounts/{virtualAccountId}/transactions获取子地址虚拟账户的交易记录
POST /wallets/{walletId}/addresses/{addressId}/virtual-accounts/{virtualAccountId}/regenerate重新生成子地址虚拟账户

分页详情

所有列表端点现在支持以下分页参数:
参数类型默认值最大值描述
pageinteger1要检索的页码
limitinteger10100每页记录数

新功能

  • 虚拟账户标签:添加自定义标签以组织账户(例如,“客户A”、“工资单”)
  • 账户重新生成:生成新的账户号码,带有原因跟踪以便审计
  • 交易历史:查询与特定虚拟账户关联的交易

迁移指南

之前 — 单对象响应:
const response = await fetch(`/wallets/${walletId}/virtual-accounts`);
const account = await response.json();

console.log(account.accountNumber);
console.log(account.bankName);
之后 — 分页数组响应:
const response = await fetch(`/wallets/${walletId}/virtual-accounts`);
const { data, meta } = await response.json();

// 处理空数组情况
if (data.length === 0) {
  console.log('未找到虚拟账户');
  return;
}

// 获取第一个账户(相当于旧行为)
const account = data[0];
console.log(account.accountNumber);
console.log(account.bankName);

// 或遍历所有账户
for (const account of data) {
  console.log(account.accountNumber);
}

// 分页信息在 meta 中可用
console.log(`第 ${meta.currentPage} 页,共 ${meta.totalPages} 页`);
通过 ID 获取特定账户(推荐):
const response = await fetch(`/wallets/${walletId}/virtual-accounts/${virtualAccountId}`);

if (!response.ok) {
  console.log('未找到虚拟账户');
  return;
}

const { data } = await response.json();
console.log(data.accountNumber);

API 响应示例

列表端点 GET /wallets/{walletId}/virtual-accounts
{
  "message": "Virtual accounts retrieved successfully",
  "statusCode": 200,
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "accountNumber": "8012345678",
      "accountName": "Blockradar/John Doe",
      "bankName": "Wema Bank",
      "bankCode": "035",
      "isActive": true,
      "type": "AUTO_FUNDING",
      "label": "Customer Deposits",
      "createdAt": "2026-01-22T10:30:00.000Z",
      "updatedAt": "2026-01-22T10:30:00.000Z"
    }
  ],
  "meta": {
    "itemCount": 1,
    "totalItems": 1,
    "itemsPerPage": 10,
    "totalPages": 1,
    "currentPage": 1
  }
}
单账户端点 GET /wallets/{walletId}/virtual-accounts/{virtualAccountId}
{
  "message": "Virtual account retrieved successfully",
  "statusCode": 200,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "accountNumber": "8012345678",
    "accountName": "Blockradar/John Doe",
    "bankName": "Wema Bank",
    "bankCode": "035",
    "isActive": true,
    "type": "AUTO_FUNDING",
    "label": "Customer Deposits",
    "createdAt": "2026-01-22T10:30:00.000Z",
    "updatedAt": "2026-01-22T10:30:00.000Z"
  }
}

需要帮助?

2025年11月7日

虚拟账户 API

  • 新功能:虚拟账户 API 使企业能够创建和管理与主钱包或子地址关联的虚拟银行账户
  • 法币转稳定币转换:客户可以通过传统银行转账接收 NGN 付款,自动转换为 cNGN 稳定币
  • 自动充值支持:AUTO_FUNDING 类型账户在收到法币付款时自动铸造 cNGN 并转移到关联钱包
  • 主钱包集成:创建直接关联到主钱包的虚拟账户
  • 子地址集成:创建关联到特定子地址的虚拟账户以实现精细控制
  • 账户管理:激活或停用虚拟账户以控制自动充值行为

您需要做什么

  • 启用功能:联系 [email protected] 为您的企业启用虚拟账户
  • 确保 cNGN 支持:确保您的主钱包支持 cNGN 稳定币资产
  • 仅限主网:请注意虚拟账户仅在主网环境中可用
  • 查阅 API 端点:查看虚拟账户 API 文档了解实现详情

API 端点

以下是虚拟账户操作的核心 API 端点:

主钱包端点

子地址端点

主要功能

  • 支持的货币:NGN(尼日利亚奈拉)用于法币付款,cNGN 用于稳定币转换
  • 自动充值流程:收到付款时自动铸造和转移 cNGN(AUTO_FUNDING 类型)
  • 账户激活:通过激活或停用账户控制自动充值行为
  • 客户管理:使用客户信息(名字、姓氏、邮箱、电话)创建账户
更多信息,请参阅虚拟账户文档API 参考
2025年10月20日

cNGN 测试网代币地址更新

  • 更新的 cNGN 测试网地址:cNGN 团队已更新其在多个网络上的测试网代币地址
  • 新资产支持:在控制面板中添加了对更新后 cNGN 代币的支持
  • 资产管理:之前的测试网地址现在标记为 “old”,将在 30 天后移除
  • Tron USDT 支持:添加了更新的 Tron USDT 支持地址,之前的地址标记为 “old”

您需要做什么

  • 进入控制面板并添加新的 cNGN 资产(查找没有 “old” 标签的资产)
  • 更新您的集成以使用新的测试网地址
  • 旧的测试网地址将在 30 天后自动移除
  • 注意:这些更改仅适用于测试网环境 - 主网地址保持不变

更新的测试网地址

网络新 cNGN 合约地址
ASSETCHAIN0x4c00E85cd0B0307D8ED0b5534Bc678776C4aa7D3
BASE0x929A08903C22440182646Bb450a67178Be402f7f
BNBCHAIN0x20354A3Ad3B67836ab9c6D7D82cF5e5Ddfe104dD
ETHEREUM0xd076ceCB8af5D92F7f6F32bDf24Da708859593d3
POLYGON0xf24B1Cee8cA70341FcefBCa10e7e4Db9A4896486
LISK0x999E3A32eF3F9EAbF133186512b5F29fADB8a816

更新的 Tron USDT 地址

网络新 Tron USDT 合约地址
TRONTXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf
有关 cNGN 稳定币项目的更多信息,请访问官方仓库