> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockradar.co/llms.txt
> Use this file to discover all available pages before exploring further.

# 概览

> 了解我们 API 的最新变更。

### 即将推出的变更

我们正在开发令人兴奋的新功能，将增强您的体验。在我们继续开发这些更新的同时，您可以继续构建！

<Note>
  我们建议您定期查看此更新日志以获取最新更新，并相应地规划您的开发周期。您的反馈对我们非常宝贵，如有任何建议或问题，请随时与我们分享。
</Note>

# 产品更新

> 新版本和改进

<Update label="2026年1月31日" tags={["改进", "资产更新"]} rss={{ title: "cNGN 合约地址更新", description: "5 个网络上的 cNGN 合约地址已更新为新的 v3 部署" }}>
  ## cNGN 合约地址更新

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

  ### 变更内容

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

  ### 您需要做什么

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

  ### 新合约地址

  | 网络          | 新 cNGN 合约地址                                  |
  | ----------- | -------------------------------------------- |
  | Ethereum    | `0xF55E56423e6b50808fD07cB62b6A32B91903f50E` |
  | BNB Chain   | `0x8a078b182bA9649c03982c2a80CDcc81cdc99dA8` |
  | Base        | `0xEFdF04BAfE0ebabb5F5cD9e3f36564f51CFe1530` |
  | Asset Chain | `0x00F0a33d9AFaC108A4963D4Cb4Ef6A9C6B8D8859` |
  | Arc         | `0x1716Df6A18DcFF031BFD209aDB8035174AdC0D31` |

  ### cNGN 测试代币

  需要用于沙盒（测试网）集成的测试 cNGN？请使用官方 [cNGN Faucet](https://cngn.co/faucet) 获取测试代币。

  有关 cNGN 稳定币项目的更多信息，请访问[官方仓库](https://github.com/wrappedcbdc/stablecoin-cngn)。
</Update>

<Update label="2026年1月22日" tags={["重大变更", "虚拟账户"]} rss={{ title: "虚拟账户 API 重大变更", description: "虚拟账户端点现在返回带有分页支持的多条记录" }}>
  ## 虚拟账户 API 重大变更

  <Warning>
    **重大变更**：此更新现已生效。使用虚拟账户 API 的现有集成应更新至新的响应格式。
  </Warning>

  ### 为什么进行此变更

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

  ### 变更内容

  | 端点                                                               | 之前的行为  | 新的行为   |
  | ---------------------------------------------------------------- | ------ | ------ |
  | `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`  | 重新生成子地址虚拟账户    |

  ### 分页详情

  所有列表端点现在支持以下分页参数：

  | 参数      | 类型      | 默认值  | 最大值   | 描述     |
  | ------- | ------- | ---- | ----- | ------ |
  | `page`  | integer | `1`  | —     | 要检索的页码 |
  | `limit` | integer | `10` | `100` | 每页记录数  |

  ### 新功能

  * **虚拟账户标签**：添加自定义标签以组织账户（例如，"客户A"、"工资单"）
  * **账户重新生成**：生成新的账户号码，带有原因跟踪以便审计
  * **交易历史**：查询与特定虚拟账户关联的交易

  ### 迁移指南

  **之前** — 单对象响应：

  ```javascript theme={null}
  const response = await fetch(`/wallets/${walletId}/virtual-accounts`);
  const account = await response.json();

  console.log(account.accountNumber);
  console.log(account.bankName);
  ```

  **之后** — 分页数组响应：

  ```javascript theme={null}
  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 获取特定账户**（推荐）：

  ```javascript theme={null}
  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`：

  ```json theme={null}
  {
    "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}`：

  ```json theme={null}
  {
    "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"
    }
  }
  ```

  ### 需要帮助？

  * **文档**：[虚拟账户指南](/zh/essentials/virtual-accounts)
  * **API 参考**：[虚拟账户端点](/zh/api-reference/virtual-accounts/master-wallet-get-all)
  * **邮件支持**：[support@blockradar.co](mailto:support@blockradar.co)
</Update>

<Update label="2025年11月7日" tags={["新功能", "虚拟账户"]} rss={{ title: "虚拟账户 API", description: "用于管理具有自动法币转稳定币转换功能的虚拟银行账户的新 API" }}>
  ## 虚拟账户 API

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

  ### 您需要做什么

  * **启用功能**：联系 [support@blockradar.co](mailto:support@blockradar.co) 为您的企业启用虚拟账户
  * **确保 cNGN 支持**：确保您的主钱包支持 cNGN 稳定币资产
  * **仅限主网**：请注意虚拟账户仅在主网环境中可用
  * **查阅 API 端点**：查看[虚拟账户 API 文档](/zh/essentials/virtual-accounts)了解实现详情

  ## API 端点

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

  ### **主钱包端点**

  * [POST /wallets/{walletId}/virtual-accounts](/zh/api-reference/virtual-accounts/master-wallet-create) – 为主钱包创建虚拟账户
  * [GET /wallets/{walletId}/virtual-accounts](/zh/api-reference/virtual-accounts/master-wallet-get) – 检索虚拟账户详情
  * [PATCH /wallets/{walletId}/virtual-accounts/{id}](/zh/api-reference/virtual-accounts/master-wallet-update) – 更新虚拟账户状态

  ### **子地址端点**

  * [POST /wallets/{walletId}/addresses/{addressId}/virtual-accounts](/zh/api-reference/virtual-accounts/child-address-create) – 为子地址创建虚拟账户
  * [GET /wallets/{walletId}/addresses/{addressId}/virtual-accounts](/zh/api-reference/virtual-accounts/child-address-get) – 检索虚拟账户详情
  * [PATCH /wallets/{walletId}/addresses/{addressId}/virtual-accounts/{virtualAccountId}](/zh/api-reference/virtual-accounts/child-address-update) – 更新虚拟账户状态

  ### 主要功能

  * **支持的货币**：NGN（尼日利亚奈拉）用于法币付款，cNGN 用于稳定币转换
  * **自动充值流程**：收到付款时自动铸造和转移 cNGN（AUTO\_FUNDING 类型）
  * **账户激活**：通过激活或停用账户控制自动充值行为
  * **客户管理**：使用客户信息（名字、姓氏、邮箱、电话）创建账户

  更多信息，请参阅[虚拟账户文档](/zh/essentials/virtual-accounts)和 [API 参考](/zh/api-reference/virtual-accounts/master-wallet-create)。
</Update>

<Update label="2025年10月20日" tags={["改进", "资产更新"]} rss={{ title: "cNGN 代币地址更新", description: "更新的测试网代币地址和 Tron USDT 支持" }}>
  ## cNGN 测试网代币地址更新

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

  ### 您需要做什么

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

  ### 更新的测试网地址

  | 网络         | 新 cNGN 合约地址                                |
  | ---------- | ------------------------------------------ |
  | ASSETCHAIN | 0x4c00E85cd0B0307D8ED0b5534Bc678776C4aa7D3 |
  | BASE       | 0x929A08903C22440182646Bb450a67178Be402f7f |
  | BNBCHAIN   | 0x20354A3Ad3B67836ab9c6D7D82cF5e5Ddfe104dD |
  | ETHEREUM   | 0xd076ceCB8af5D92F7f6F32bDf24Da708859593d3 |
  | POLYGON    | 0xf24B1Cee8cA70341FcefBCa10e7e4Db9A4896486 |
  | LISK       | 0x999E3A32eF3F9EAbF133186512b5F29fADB8a816 |

  ### 更新的 Tron USDT 地址

  | 网络   | 新 Tron USDT 合约地址                   |
  | ---- | ---------------------------------- |
  | TRON | TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf |

  有关 cNGN 稳定币项目的更多信息，请访问[官方仓库](https://github.com/wrappedcbdc/stablecoin-cngn)。
</Update>
