Простой доступ к данным кошельков Solana
Один REST API для получения балансов, истории, идентификационных данных и источников финансирования кошельков Solana. Не нужно запоминать методы Solana JSON-RPC или выполнять расчёты в лампортах.



Узнайте, кому принадлежит кошелёк
Определяйте владельца по адресу Solana или доменному имени. Поддерживается более 32 500 меток и 21,5 млн тегов.
- Одиночный поиск или пакетная обработка до 100 адресов
- Пользовательские TLD из SNS и ANS разрешаются в основной сети
- Поддерживаются метки для адресов бирж, кошельков протоколов, организаций и отмеченных адресов
{
"address": "HXsKP7wrBWaQ8T2Vtjry3Nj3oUgwYcqq9vrHDM12G664",
"type": "exchange",
"name": "Binance 1",
"category": "Centralized Exchange",
"tags": ["Centralized Exchange"]
}
- Одиночный поиск или пакетная обработка до 100 адресов
- Пользовательские TLD из SNS и ANS разрешаются в основной сети
- Поддерживаются метки для адресов бирж, кошельков протоколов, организаций и отмеченных адресов
{
"address": "HXsKP7wrBWaQ8T2Vtjry3Nj3oUgwYcqq9vrHDM12G664",
"type": "exchange",
"name": "Binance 1",
"category": "Centralized Exchange",
"tags": ["Centralized Exchange"]
}
Отслеживайте, кто пополнил кошелёк
Узнайте первоначальный источник финансирования кошелька: кто первым отправил SOL, в каком объёме и когда. Имя и тип отправителя определяются той же системой идентификации.
- Адрес непосредственного отправителя, сумма, слот и подпись
- Биржа, протокол или неизвестный источник — с меткой, если он нам известен
- Кэшируйте навсегда. Первый отправитель средств на кошелёк никогда не меняется
{
"funder": "26MAyPNpK4At8LgRECMMbgiKQuJyg3oACtw1Q9FRyuba",
"funderName": null,
"funderType": null,
"mint": "So11111111111111111111111111111111111111111",
"symbol": "SOL",
"amount": 0.09811972,
"amountRaw": "98119720",
"decimals": 9,
"date": "2022-01-19T20:46:34.000Z",
"signature": "5WX9C5kCQNULGGrSHJBR1WDFyetVyekbUpe1KQ45p3zEBe6jVgSsJuMqLWijjTDcnaAK2518ZriktRMCNycnsNAG",
"timestamp": 1642625194,
"slot": 116984883,
"explorerUrl": "https://orbmarkets.io/tx/5WX9C5kCQNULGGrSHJBR1WDFyetVyekbUpe1KQ45p3zEBe6jVgSsJuMqLWijjTDcnaAK2518ZriktRMCNycnsNAG?tab=summary"
}
- Адрес непосредственного отправителя, сумма, слот и подпись
- Биржа, протокол или неизвестный источник — с меткой, если он нам известен
- Кэшируйте навсегда. Первый отправитель средств на кошелёк никогда не меняется
{
"funder": "26MAyPNpK4At8LgRECMMbgiKQuJyg3oACtw1Q9FRyuba",
"funderName": null,
"funderType": null,
"mint": "So11111111111111111111111111111111111111111",
"symbol": "SOL",
"amount": 0.09811972,
"amountRaw": "98119720",
"decimals": 9,
"date": "2022-01-19T20:46:34.000Z",
"signature": "5WX9C5kCQNULGGrSHJBR1WDFyetVyekbUpe1KQ45p3zEBe6jVgSsJuMqLWijjTDcnaAK2518ZriktRMCNycnsNAG",
"timestamp": 1642625194,
"slot": 116984883,
"explorerUrl": "https://orbmarkets.io/tx/5WX9C5kCQNULGGrSHJBR1WDFyetVyekbUpe1KQ45p3zEBe6jVgSsJuMqLWijjTDcnaAK2518ZriktRMCNycnsNAG?tab=summary"
}
Полностью разобранная активность кошелька
История транзакций с изменениями баланса по каждой транзакции в удобном для чтения виде.
- Сначала новые, до 100 транзакций на странице
tokenAccounts=balanceChanged— только для обновленийamountуже приведено к десятичному формату — расчёты в лампортах не нужны
{
"data": [
{
"signature": "5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE",
"timestamp": 1704067200,
"slot": 250000000,
"fee": 0.000005,
"feePayer": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"error": null,
"balanceChanges": [
{
"mint": "So11111111111111111111111111111111111111111",
"amount": -0.05,
"decimals": 9
}
]
}
],
"pagination": {
"hasMore": true,
"nextCursor": "5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE"
}
}
- Сначала новые, до 100 транзакций на странице
tokenAccounts=balanceChanged— только для обновленийamountуже приведено к десятичному формату — расчёты в лампортах не нужны
{
"data": [
{
"signature": "5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE",
"timestamp": 1704067200,
"slot": 250000000,
"fee": 0.000005,
"feePayer": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"error": null,
"balanceChanges": [
{
"mint": "So11111111111111111111111111111111111111111",
"amount": -0.05,
"decimals": 9
}
]
}
],
"pagination": {
"hasMore": true,
"nextCursor": "5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE"
}
}
Запускайте кошелёк и слой данных вместе
Добавляйте в приложение встроенные некастодиальные кошельки с поддержкой входа через ключи доступа, электронную почту и существующие кошельки с помощью helius-wallet-kit
Сценарии использования Wallet API
Панели мониторинга кошельков
Балансы, значения в USD и метаданные за один вызов REST. Не нужно объединять данные DAS или выполнять расчёты в лампортах
Трекеры портфелей
Используйте историю и balance-at, чтобы восстановить состав активов и рассчитать PnL за разные периоды
Платёжные процессоры
Регистрируйте транзакции и переводы с указанием контрагента, суммы, минта и направления
Налоги и бухгалтерский учёт
Получайте удобную для чтения историю с балансами и их изменениями по каждой транзакции
Комплаенс и AML
Находите известные биржи и казначейские кошельки, а также узнавайте, как финансировались кошельки
Обозреватели и аналитика
Получайте теги для более чем 21 млн кошельков и добавляйте метки аккаунтов в приложение
Один REST API для всех данных кошельков Solana
1. Получите ключ API
Зарегистрируйтесь, получите ключ Helius API и передавайте api-key в строке запроса или заголовке X-Api-Key
2. Обратитесь к одному пути REST
GET /v1/wallet/{wallet}/balances, identity, history или любая другая конечная точка Wallet API
3. Добавьте данные в приложение
Суммы приведены к десятичному формату, идентификационные данные снабжены метками, а данные правильно отформатированы. Дополнительные действия не нужны
const getWalletBalances = async (address) => {
const url = `https://api.helius.xyz/v1/wallet/${address}/balances?api-key=YOUR_API_KEY`;
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
const solBalance = data.balances[0]; // SOL is always first when showNative=true
console.log(`SOL Balance: ${solBalance.balance} SOL ($${solBalance.usdValue})`);
console.log(`Page ${data.pagination.page} Total Value: $${data.totalUsdValue}`);
console.log(`Token Count (this page): ${data.balances.length}`);
// Display top holdings
data.balances.slice(0, 5).forEach(token => {
console.log(`${token.symbol}: ${token.balance} ($${token.usdValue || 'N/A'})`);
});
return data;
};
getWalletBalances("86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY");1. Получите ключ API
Зарегистрируйтесь, получите ключ Helius API и передавайте api-key в строке запроса или заголовке X-Api-Key
2. Обратитесь к одному пути REST
GET /v1/wallet/{wallet}/balances, identity, history или любая другая конечная точка Wallet API
3. Добавьте данные в приложение
Суммы приведены к десятичному формату, идентификационные данные снабжены метками, а данные правильно отформатированы. Дополнительные действия не нужны
const getWalletBalances = async (address) => {
const url = `https://api.helius.xyz/v1/wallet/${address}/balances?api-key=YOUR_API_KEY`;
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
const solBalance = data.balances[0]; // SOL is always first when showNative=true
console.log(`SOL Balance: ${solBalance.balance} SOL ($${solBalance.usdValue})`);
console.log(`Page ${data.pagination.page} Total Value: $${data.totalUsdValue}`);
console.log(`Token Count (this page): ${data.balances.length}`);
// Display top holdings
data.balances.slice(0, 5).forEach(token => {
console.log(`${token.symbol}: ${token.balance} ($${token.usdValue || 'N/A'})`);
});
return data;
};
getWalletBalances("86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY");Частые вопросы
Найдите ответы на частые вопросы. Нужна помощь или индивидуальный тариф? Свяжитесь с нашей командой.
Балансы, исторический баланс (balance-at), история и переводы доступны на всех тарифах, включая Free. Для identity (одиночного и пакетного) и funded-by требуется любой платный тариф (Developer и выше). На Free они возвращают 403.
Каждый запрос Wallet API расходует 100 кредитов, включая пакетную идентификацию до 100 адресов за один вызов. Смотрите полную таблицу кредитов.
Используйте balances для текущего портфеля, balance-at — для активов в прошлом слоте или на определённый момент времени, history — для полной ленты активности с изменениями баланса по каждой транзакции, а transfers — если нужны только отправленные или полученные платежи с указанием контрагента. Используйте identity, чтобы пометить известную биржу, протокол или организацию, а funded-by — чтобы найти кошелёк, который первым отправил SOL.
Wallet API предоставляет доступ на чтение: через REST можно получать балансы, историю, идентификационные данные и информацию funded-by о кошельке. WaaS — это встроенные кошельки: создавайте и подписывайте транзакции с помощью helius-wallet-kit.
WaaS находится в бета-версии и доступен на всех платных тарифах: Developer, Business, Professional и Enterprise. На Free он недоступен.
Отдельной подписки и платы за пользователя нет. Каждая подпись расходует 200 кредитов ($0.001 по стандартной стоимости кредита). Создание кошелька бесплатно. Каждый вызов signMessage, signTransaction и signAndSendTransaction считается одной подписью. Подпись оплачивается, даже если позднее ончейн-транзакция завершается с ошибкой. За отменённый запрос плата не взимается. Отслеживайте использование в панели управления в разделе WaaS → Analytics. Подробнее — в разделе Кредиты WaaS.
Перейдите на платный тариф, создайте ключ API и установите helius-wallet-kit. Оберните приложение в HeliusWalletProvider и следуйте краткому руководству по WaaS.
Для начала изучите эти материалы:
Данные кошельков без лишней сложности
Откажитесь от низкоуровневых методов Solana JSON-RPC и начните запрашивать ончейн-данные кошельков за несколько минут




