跳转到主要内容
钱包 API 处于 Beta 阶段。端点和响应格式可能会更改。

概述

Transaction History 端点使用增强交易 API 检索 Solana 钱包的完整交易历史记录。它返回可读的、解析后的交易及每笔交易的余额变化,以时间倒序(最新的优先)。 该端点每次请求最多返回 100 笔交易,因此分页是手动的。使用 before 参数和 pagination.nextCursor 以获取下一页,并查看 pagination.hasMore 了解是否有更多结果可用。每个请求是一个 API 调用,消耗 100 个积分。 tokenAccounts 参数控制是否包括钱包拥有的代币账户的交易:
  • balanceChanged(推荐):包括改变代币账户余额的交易,过滤垃圾信息。
  • none:仅限于直接的账户互动。
  • all:所有代币账户交易,包括垃圾信息。
tokenAccounts 过滤器依赖于代币余额元数据中的 owner 字段,该字段在 slot 111,491,819(~2022年12月)之前不可用。涉及 slot 之前激活的代币账户的交易可能会丢失。查看 getTransactionsForAddress 教程 以获取解决方法。

何时使用

需要使用 Transaction History API 的情况:
  • 显示交易动态:向用户展示完整的交易历史。
  • 计算损益:跟踪所有交易的收益和损失。
  • 税务和会计:生成完整的交易报告以进行报税。
  • 投资组合分析:分析交易模式和活动。
  • 审计追踪:维护完整的钱包活动记录。
  • 余额重建:从历史数据重建当前余额。

快速开始

基本历史查询

获取最近余额变化的交易:

完整历史的分页

使用参数 before 分页获取所有交易:

查询参数

可用的交易类型

参数 type 支持按以下交易类型过滤: SWAP, TRANSFER, NFT_SALE, NFT_BID, NFT_LISTING, NFT_MINT, NFT_CANCEL_LISTING, TOKEN_MINT, BURN, COMPRESSED_NFT_MINT, COMPRESSED_NFT_TRANSFER, COMPRESSED_NFT_BURN, CREATE_STORE, WHITELIST_CREATOR, ADD_TO_WHITELIST, REMOVE_FROM_WHITELIST, AUCTION_MANAGER_CLAIM_BID, EMPTY_PAYMENT_ACCOUNT, UPDATE_PRIMARY_SALE_METADATA, ADD_TOKEN_TO_VAULT, ACTIVATE_VAULT, INIT_VAULT, INIT_BANK, INIT_STAKE, MERGE_STAKE, SPLIT_STAKE, CREATE_AUCTION_MANAGER, START_AUCTION, CREATE_AUCTION_MANAGER_V2, UPDATE_EXTERNAL_PRICE_ACCOUNT, EXECUTE_TRANSACTION

过滤示例

响应格式

字段说明

  • timestamp: Unix 秒。对于尚未完全处理的最新交易,可能为 null
  • error: 成功交易为 null;失败的交易为错误值。失败的交易仍会产生费用。
  • balanceChanges: 钱包在交易中持有量的变化 — 正数 amount 表示接收到的代币,负数 amount 表示发送或花费的代币。
  • mint (在 balanceChanges 内): 代币铸造地址,或本地 SOL 为 "SOL"
  • amount (在 balanceChanges 内): 人类可读,已除以 decimals-0.05 表示 −0.05 SOL,而不是 −0.05 lamports。此端点不包括原始 amountRaw 字段。

示例余额变化

用例

计算总交易量

汇总所有转账以获得交易量:

生成税务报告

创建用于报税的交易报告:

跟踪失败的交易

查找所有失败的交易以了解错误:

重建历史余额

计算特定时间点的余额:
对于单个代币在特定时间点的确切余额,历史余额 端点直接从链上后余额读取,而不是在客户端累加变化。

分析交易费用

计算支付的总费用:

最佳实践

  • 使用分页获取完整历史记录。 有些钱包有成千上万的交易;在获取所有交易时,请始终分页。
  • 缓存历史数据。 历史交易不会更改。将它们缓存在本地,仅获取新的交易。
  • 处理失败的交易。 检查 error 字段以区分成功和失败的交易。失败的交易仍会产生费用。
  • 使用时间戳进行日期过滤。 时间戳是 Unix 秒。转换为本地日期进行显示和过滤。

常见错误

后续步骤

Token Transfers

仅限转账视图,包含发送者/接收者信息,比完整历史简单。

Wallet API Overview

所有 Wallet API 端点和共享约定。

API Reference

交易历史的请求和响应模式。