Wallet API находится на стадии бета-тестирования. Конечные точки и форматы ответов могут измениться.
Обзор
Конечная точка Wallet Balances возвращает все токены и NFT в кошельке Solana — SOL, токены SPL, Token-2022 и NFT — вместе с ценами в USD, логотипами и метаданными. Результаты сортируются по стоимости в USD в порядке убывания: сначала отображаются токены, для которых доступны данные о цене, а затем токены без цены. Конечная точка возвращает до 100 токенов за запрос, поэтому разбивку на страницы нужно реализовать вручную. Используйте параметрpage для получения дополнительных страниц и проверяйте pagination.hasMore, чтобы узнать, доступны ли другие результаты. Каждый запрос представляет собой один вызов API и расходует 100 кредитов.
Цены в USD поступают из DAS и обновляются ежечасно. Они охватывают 10 000 крупнейших токенов по рыночной капитализации. Для неподдерживаемых токенов значения
pricePerToken и usdValue равны null. Цены являются оценочными, а не рыночными ценами в реальном времени.Когда это использовать
Используйте Wallet Balances API, если вам нужно:- Отображать содержимое портфеля: показывайте пользователям все принадлежащие им токены и NFT.
- Рассчитывать стоимость в USD: получайте оценку портфеля на основе цен, обновляемых ежечасно.
- Создавать интерфейсы кошельков: реализуйте панели управления кошельками и списки активов.
- Отслеживать токены: контролируйте балансы определенных токенов в разных кошельках.
- Анализировать портфель: анализируйте распределение и концентрацию активов.
- Готовить налоговую отчетность: создавайте снимки активов для налоговой отчетности.
Быстрый старт
Базовый запрос баланса
Получите балансы всех токенов в кошельке вместе со стоимостью в USD:- JavaScript
- Python
- cURL
Добавление NFT в результаты
Получите токены и NFT в одном запросе с помощьюshowNfts=true:
- JavaScript
- Python
Фильтрация результатов
Используйте параметры запроса, чтобы ограничить возвращаемые данные:Параметры запроса
Формат ответа
Примечания к полям
balance: удобочитаемое количество, уже скорректированное с учетом десятичных знаков —1.5означает 1,5 SOL, а1000.5— 1000,5 USDC. Преобразование лампортов не требуется. Эта конечная точка не предоставляет необработанное полеamountRaw. Если вам нужно точное целочисленное значение, вычислите его какMath.round(balance * 10 ** decimals).decimals: предоставляется только для справки.pricePerToken/usdValue: значениеnullдля токенов без данных о цене из DAS (см. примечание о ценах выше).totalUsdValue: общая стоимость в USD только для текущей страницы ответа. Чтобы получить стоимость всего портфеля, запросите все страницы и сложите значенияusdValueдля каждого баланса.tokenProgram: стандарт, используемый каждым токеном —spl-token(устаревший SPL Token) илиtoken-2022(Token Extensions). Оба стандарта полностью поддерживаются.
Сценарии использования
Создание панели управления портфелем
Отображайте активы пользователя вместе со стоимостью в USD:Расчет концентрации токенов
Анализируйте диверсификацию портфеля:Отслеживание баланса определенного токена
Отслеживайте определенный токен в нескольких кошельках:Экспорт активов для налоговой отчетности
Создайте снимок активов:Разбивка на страницы
Для кошельков, содержащих более 100 токенов, перебирайте страницы результатов с помощью параметраpage и pagination.hasMore:
Рекомендации
- Отфильтровывайте нулевые балансы, чтобы сделать интерфейс понятнее. Используйте
showZeroBalance=false, чтобы скрыть токены, которых больше нет в кошельке. - Включайте NFT только при необходимости. По умолчанию NFT исключены для повышения производительности. Задавайте
showNfts=trueтолько при необходимости их отображения. - Обрабатывайте отсутствие данных о цене. Перед отображением всегда проверяйте, равны ли
pricePerTokenиusdValueзначениюnull. Это ежечасные оценки от DAS, а не рыночные цены в реальном времени. - Кешируйте ответы. Данные о балансах можно кешировать на несколько секунд, чтобы сократить количество вызовов API.
- Используйте разбивку на страницы для крупных кошельков. Некоторые кошельки содержат тысячи токенов. Реализуйте разбивку на страницы для их эффективной обработки.
Распространенные ошибки
Дальнейшие действия
Historical Balance
Получите баланс токена или SOL для прошлой метки времени, даты и времени либо слота.
Wallet API Overview
Все конечные точки Wallet API и общие соглашения.
API Reference
Схемы запросов и ответов для балансов кошелька.