Wallet API находится на стадии бета-тестирования. Эндпоинты и форматы ответов могут измениться.
Обзор
Эндпоинт Transaction History получает полную историю транзакций кошелька Solana с помощью Enhanced Transactions API. Он возвращает разобранные транзакции в удобочитаемом формате с изменениями баланса для каждой транзакции в обратном хронологическом порядке (сначала новые). Эндпоинт возвращает до 100 транзакций на запрос, поэтому пагинацию необходимо выполнять вручную. Чтобы получить следующую страницу, используйте параметрbefore со значением pagination.nextCursor. Проверяйте pagination.hasMore, чтобы узнать, доступны ли дополнительные результаты. Каждый запрос представляет собой один вызов API и расходует 100 кредитов.
Параметр tokenAccounts определяет, включать ли транзакции, связанные с принадлежащими кошельку аккаунтами токенов:
balanceChanged(рекомендуется): включает транзакции, которые изменили балансы аккаунтов токенов, и отфильтровывает спам.none: только прямые взаимодействия с кошельком.all: все транзакции аккаунтов токенов, включая спам.
Когда это использовать
Используйте Transaction History API, если вам нужно:- Отобразить ленту транзакций: покажите пользователям полную историю их транзакций.
- Рассчитать PnL: отслеживайте прибыль и убытки по всем транзакциям.
- Налоговый и бухгалтерский учет: создавайте полные отчеты о транзакциях для подачи налоговой декларации.
- Аналитика портфеля: анализируйте торговые модели и активность.
- Аудиторские журналы: храните полные записи об активности кошелька.
- Восстановление баланса: восстанавливайте текущие балансы по историческим данным.
Быстрый старт
Базовый запрос истории
Получите последние транзакции с изменениями баланса:- JavaScript
- Python
- cURL
Пагинация для получения полной истории
Получите все транзакции с помощью пагинации и параметраbefore:
- JavaScript
- Python
Параметры запроса
Доступные типы транзакций
Параметр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
Примеры фильтров
- Filter by Type
- Token Accounts Filter
- Combined Filters
Формат ответа
Примечания к полям
timestamp: время Unix в секундах. Для совсем недавних транзакций, которые еще не были полностью обработаны, значением может бытьnull.error:nullдля успешных транзакций; значение ошибки для неудачных. За неудачные транзакции комиссия также взимается.balanceChanges: изменение активов кошелька в результате транзакции — положительное значениеamountозначает получение токенов, а отрицательное — отправку или расходование токенов.mint(вbalanceChanges): адрес минта токена или"SOL"для нативного SOL.amount(вbalanceChanges): удобочитаемое значение, уже разделенное наdecimals—-0.05означает −0,05 SOL, а не −0,05 лампорта. Этот эндпоинт не включает необработанное полеamountRaw.
Пример изменений баланса
Варианты использования
Расчет общего объема торговли
Суммируйте все переводы, чтобы получить объем торговли:Создание налогового отчета
Создайте отчет о транзакциях для подачи налоговой декларации:Отслеживание неудачных транзакций
Найдите все неудачные транзакции, чтобы разобраться в ошибках:Восстановление исторического баланса
Рассчитайте баланс на определенный момент времени:Анализ комиссий за транзакции
Рассчитайте общую сумму уплаченных комиссий:Рекомендации
- Используйте пагинацию для получения полной истории. Некоторые кошельки содержат сотни тысяч транзакций. При получении всех транзакций всегда используйте пагинацию.
- Кэшируйте исторические данные. Исторические транзакции никогда не меняются. Кэшируйте их локально и получайте только новые транзакции.
- Обрабатывайте неудачные транзакции. Проверяйте поле
error, чтобы отличать успешные транзакции от неудачных. За неудачные транзакции комиссия также взимается. - Используйте временные метки для фильтрации по дате. Временные метки указаны в секундах Unix. Для отображения и фильтрации преобразуйте их в локальные даты.
Распространенные ошибки
Следующие шаги
Token Transfers
Представление только переводов с информацией об отправителе и получателе — проще, чем полная история.
Wallet API Overview
Все эндпоинты Wallet API и общие соглашения.
API Reference
Схемы запросов и ответов для истории транзакций.