Skip to main content
钱包 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

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