GetTransfers
Get transfers
Retrieves a list of transfers based on various query filters.
Transfer access: Requires transfers.read. Without transfers.filter, the default feed is descending by time, with no filters except chains and an optional usdGte=1. transfers.explorer additionally permits one address or entity as base, or base=all with one token. Combining a specific base and token, or changing other filters or sorting, requires transfers.filter. Full filtering includes explorer queries. Separately, offset + limit may not exceed the caller's transfers.max_results, counting an omitted limit as its default of 20. Logged-out access comes from the anonymous plan over the default plan; its initial grants permit only the default feed's first 50 results. A missing capability or a request past transfers.max_results returns 401 for logged-out callers or 403 for authenticated callers.
Rate Limit: This endpoint has a stricter rate limit of 1 request per second.
Sequence ranges: Every chain numbers its transfers as they are indexed, and includeCursors=true reports each chain's latest number. Pass seqGte and seqLte to fetch one chain's transfers between two of those numbers — for example, to poll incrementally without missing or repeating a transfer by walking from the last sequence you saw to the latest one reported. A sequence range needs exactly one chain, one whose transfers carry sequences, and may span at most 10,000,000 sequences; a range spanning more is walked in segments, the last of them ending at the chain's reported number. A range must end at or below that number — a seqLte beyond it is rejected, because the transfers up to it are not all searchable yet, and a chain reporting no number yet accepts no range at all. Sequences begin when a chain's numbering was introduced, so older transfers carry no seq and ranges below the earliest sequenced transfer return nothing. It cannot be combined with timeLast, which moves with the clock — use timeGte and timeLte. A sequence range comes back in ascending sequence order and so cannot be combined with sortKey or sortDir, and every transfer in it carries its own seq. That is how you page a range: a response with fewer than limit transfers has completed it, and a full one is continued by repeating the request with seqGte set to the last transfer's seq plus one. count is capped and does not report whether any of the range remains.
Real-time streaming: For live transfer notifications instead of polling, use the WebSocket API. See GET /ws/transfers for real-time streaming with transfer filtering. Service-wallet selectors are supported on the HTTP transfer endpoints only.
Filter forms: For the filter forms these parameters accept, see the Param Filters guide.
Costs 2 API credits per row.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "GetTransfers"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No |