---
title: "隆重推出 Multichain Transfers API (Beta)"
description: "一次调用即可获取某个钱包在最多 5 个网络上的转账历史，结果已合并并按时间排序。"
datePublished: "2026-11-04"
dateModified: "2026-11-04T09:00:00-06:00"
---

# 隆重推出 Multichain Transfers API (Beta)

<ImageBlock
  src="https://media.alchemy.com/Alchemy-Multichain-transfers-API-(Beta).png"
  alt="Alchemy Multichain Transfers API (Beta)"
  width={3840}
  height={2160}
  priority
/>

钱包和投资组合应用是链上增长最快的类别之一。加密钱包市场预计将从 [2025 年的 $15.5B 增长到 2033 年的 $100.8B，复合年增长率为 26.6%](https://www.grandviewresearch.com/industry-analysis/crypto-wallet-market-report)。我们很自豪能够帮助 Zerion、Rainbow、Phantom、Trust Wallet 和 Coinbase Wallet 等领先钱包支撑其转账历史和余额追踪功能。

这些团队最常用的方法之一是 `alchemy_getAssetTransfers`。过去 30 天内，有数万个团队调用过它，按请求量计算，它是使用量排名第二的 Data API。团队用它来获取钱包的原生代币、ERC-20、ERC-721 和 ERC-1155 转账历史，并以此支撑活动动态、余额追踪和投资组合视图。

今天，我们升级了这一体验：[Multichain Transfers API](https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-transfers-by-address) 一次调用即可返回单个钱包在最多 5 个网络上的转账历史，结果已合并并按时间排序。

它现已推出 beta 版：[立即试用](https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-transfers-by-address)。

## 一次调用，覆盖多条链

此前，调用 `alchemy_getAssetTransfers` 每次请求只能查询一个网络。要扩展到更多链，就意味着要成倍增加调用次数、自己合并结果，还要决定在某个网络响应缓慢或返回错误时该怎么处理。

所以我们对它进行了升级。Multichain Transfers API 有四项关键升级：

- **一次调用，多链覆盖。** 传入网络列表，即可得到一个按 `blockTimestamp` 排序的列表。
- **同时查询两个方向。** 将 `direction` 设为 `to`、`from` 或 `both`，即可一并获取转入和转出的转账。
- **基于时间的筛选。** 使用 `fromTimestamp` 和 `toTimestamp` 代替区块号进行筛选，并通过 `order`（`asc` 或 `desc`）按 `blockTimestamp` 对结果排序。
- **更简洁的响应结构。** 代币数量位于 `fungible` 下，NFT 数据位于 `nfts` 下，`blockTimestamp` 始终在顶层，代币和 NFT 转账的 `contractAddress` 也在顶层。

如果你请求的某个网络没有返回结果，调用仍会返回 200 以及所有已成功加载的数据，并附带一个 `error.partialErrors` 数组，列出失败的部分。

## 试一试

<CodeSnippet
  language="bash"
  code={`curl --request POST \\
  --url https://api.g.alchemy.com/data/v1/YOUR_API_KEY/transfers/by-address \\
  --header 'Content-Type: application/json' \\
  --data '{
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "direction": "both",
    "networks": ["eth-mainnet", "base-mainnet", "matic-mainnet"],
    "fromTimestamp": "2026-08-01T00:00:00Z",
    "toTimestamp": "2026-08-06T00:00:00Z",
    "category": ["external", "erc20", "erc721", "erc1155"],
    "order": "desc",
    "maxCount": 100
  }'`}
/>

响应是一个横跨你所请求的全部网络的 `transfers` 数组，按从新到旧排序，并带有用于获取下一页的 `pageKey`（为便于阅读已作精简）：

<CodeSnippet
  language="json"
  code={`{
  "transfers": [
    {
      "network": "base-mainnet",
      "blockTimestamp": "2026-08-05T23:58:41Z",
      "category": "erc20",
      "from": "0x1f98abcd...",
      "to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
      "contractAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "fungible": { "value": 250, "decimals": 6, "asset": "USDC" }
    },
    {
      "network": "eth-mainnet",
      "blockTimestamp": "2026-08-05T23:55:12Z",
      "category": "external",
      "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
      "to": "0x7a250d...",
      "fungible": { "value": 0.5, "decimals": 18, "asset": "ETH" }
    }
  ],
  "pageKey": "eyJ0cyI6..."
}`}
/>

原生代币、ERC-20、ERC-721 和 ERC-1155 转账在全部 14 个受支持的网络（11 个主网和 3 个测试网）上均可使用，包括 Ethereum、Base、Polygon、Arbitrum、Optimism 和 BNB Chain（[完整列表](https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-transfers-by-address)）。内部转账支持 Ethereum、Base、Polygon 和 Arc（主网和测试网），特殊 NFT 支持 Ethereum。我们会持续新增更多网络。

有一点需要注意：`category` 为必填项，因此每个请求都需要至少传入一个。

## 开始使用

Multichain Transfers API 现已推出 beta 版，端点为 `POST /data/v1/{apiKey}/transfers/by-address`。你可以在[文档 playground](https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-transfers-by-address) 中直接试用，无需注册。也可以将你自己的 API key 填入上面的示例，并把现有的 `getAssetTransfers` 集成迁移到新端点，从而省去按网络循环调用的步骤。

### 它与 alchemy_getAssetTransfers 有什么不同？

`getAssetTransfers` 每次调用只返回一个网络的转账。Multichain Transfers API 接收最多 5 个网络的列表，并在单次请求中返回一个合并后、按时间排序的列表，可查询单向或双向转账。

### 如果某个网络失败会怎样？

你仍会收到 200 响应，其中包含所有成功加载的转账，以及一个 `error.partialErrors` 数组，列出哪些网络或类别没有返回结果。不会有静默失败，也不会因为等待最慢的网络而被阻塞。
