参考
接口
GET /v1/wallets/{address}/history
返回该钱包的每一笔买入与卖出交易。
请求
curl -N "https://veltrabot.com/v1/wallets/{address}/history" \
-H "Authorization: Bearer YOUR_API_KEY"响应
默认调用会以 NDJSON 流式返回历史,每行一个 JSON 对象。交易批次在获取到的那一刻就以 { "trades": [...] } 返回,因此大额钱包会在同一条打开的连接上逐步补齐,无需额外调用。最后一行 { "complete": true, "tradeCount": ..., "wallet": ..., "firstTrade": ... } 表示流结束。
{"trades":[{"signature":"43C6...aY1Ve2X","side":"sell","token":"Benny","tokenMint":"9xY2...pump","amountSol":0.0448,"amount":152340.12,"dex":"Pump.fun","blockTime":"2026-07-19T07:37:17+00:00"}, ...],"cursor":"8kQ2mZ...f0X"}
{"trades":[ ...获取过程中返回的更多交易... ],"cursor":"pW3nZ2...Kd9"}
{"complete":true,"tradeCount":354,"wallet":"BtDyZ4EF...AAu9","firstTrade":"2026-07-12T07:39:02+00:00"}每笔交易都带有 amountSol(该笔交易的 SOL 价值)与 amount(转移的代币数量),以及 tokenMint,即代币的 mint 地址。由于代币符号可能重复,mint 地址是稳定的按代币主键。二者结合即可计算成本基础与已实现盈亏。当某笔交易无法确定时,这两个数值字段都可能为 null。
请逐行读取响应:累加每行的 trades,读到带有 complete 的那一行即可停止。大多数钱包会在这一次调用中完整返回。若钱包过大、无法在约 55 秒内完成,则会以 complete: false 和一个 cursor 结束,其余部分会在后台继续加载。
中断与恢复:随时关闭连接即可停止流(例如使用 AbortController 或按 Ctrl-C)。每个批次行都带有 cursor,因此只需发起一次新请求并把 ?cursor= 设为你收到的最后一个 cursor(不带 limit),流就会从那个位置精确恢复。
分页
比起流式返回,更希望拿到离散的单个 JSON 页面?传入 limit,每次调用会返回一个普通 JSON 页面(而非 NDJSON):trades 限制为 limit 行(无上限),外加用于下一页的 cursor。请把 cursor 原样传回以获取下一页,不要尝试解析或修改它。持续跟随 cursor,直到某次响应不再包含 cursor 为止,这只会在 complete 为 true 时发生。
limit 是选择该模式的开关。只带 cursor 而不带 limit 的请求会恢复 NDJSON 流,因此分页遍历时请在每一页都带上 limit。
limit 决定了你被计费的上限。 它会限制实时获取量:?limit=100 只获取 100 笔交易并计入 100 笔用量,而不会预先索引钱包的全部历史。
当 complete 为 false 时会省略 totalPages。 因为 limit 会提前中止获取,钱包的真实规模在遍历结束前无法确定,此时的 tradeCount 表示“目前已获取的交易数”,而不是钱包的总数。与其给出一个错误的页数,我们选择直接省略该字段:请跟随 cursor 直到它消失。一旦 complete 为 true,tradeCount 与 totalPages 都会描述完整历史。
每笔交易只计入一次用量。使用 cursor 翻页时如果重新读取到你已经拿过的交易,这些交易不会被重复计费。
curl "https://veltrabot.com/v1/wallets/{address}/history?limit=100" \
-H "Authorization: Bearer YOUR_API_KEY"
curl "https://veltrabot.com/v1/wallets/{address}/history?limit=100&cursor=8kQ2mZ3rV9...tLf0X" \
-H "Authorization: Bearer YOUR_API_KEY"链
该 接口 覆盖 Solana、所有主流 EVM 链以及 Tron。加上 ?chain=<slug> 即可选择其中之一,默认值为 sol,因此已有的 Solana 调用无需改动。钱包地址会按该链的地址体系校验:Solana 为 base58,EVM 链为 0x…,Tron 为 T…。在非 Solana 链上,amountSol 携带的是原生代币数量(ETH/BNB/TRX 等)而非 SOL。
| 链 | ?chain= | 地址 | 状态 |
|---|---|---|---|
| Solana | sol | base58 | 已上线 |
| Ethereum | eth | 0x… (EVM) | 已上线 |
| Base | base | 0x… (EVM) | 已上线 |
| BSC | bsc | 0x… (EVM) | 已上线 |
| Tron | tron | T… (Tron) | 已上线 |
| Hyperliquid | hyperevm | 0x… (EVM) | 已上线 |
| Monad | monad | 0x… (EVM) | 已上线 |
| Robinhood | robinhood | 0x… (EVM) | 已上线 |