Przejdź do treści
solscanner

Poradnik dla deweloperów · API

API eksploratora Solana: co wywołać, gdy potrzebujesz danych, a nie strony

Nie istnieje jedno API eksploratora Solana. Eksploratory czytają te same metody JSON-RPC, które możesz wywołać sam (getSignaturesForAddress, getTransaction, getBalance), i dokładają zindeksowane dodatki: etykiety, posiadaczy i ceny w USD. Zacznij od RPC bez klucza, a za Solscan Pro lub Helius płać dopiero wtedy, gdy potrzebujesz historii, parsowania albo dużej skali.

Regulowana giełda · rejestracja w FinCEN i FCA · od 2013 r. Aktualizacja · 8 min czytania

solscanner — rpc

$ curl solana-rpc … getTransaction

protokółJSON-RPC 2.0

metodagetTransaction

sygnatur na stronę1–1000

domyślny commitmentfinalized

limit publiczny100 zap. / 10 s

klucz apiniewymagany

✓ finalized

Każdy eksplorator Solana to nakładka na API. Gdy szukasz sygnatury w Solscanie albo Solana Explorer, strona wywołuje interfejs JSON-RPC Solany, często przez własny indekser, i renderuje wynik. Kiedy więc ktoś szuka API eksploratora Solana, zwykle chce jednej z trzech rzeczy: surowych danych on-chain, które pobierze za darmo, bogatszego zindeksowanego API z etykietami i historią albo danych rynkowych, takich jak ceny i pary handlowe. Ten poradnik porównuje wszystkie trzy opcje według stanu na wrzesień 2026 roku, z działającym kodem i limitami, które zmierzyliśmy sami.

Opcje API eksploratora Solana w pigułce

Krótka odpowiedź: JSON-RPC do surowych danych, indekser do historii i parsowania, API rynkowe do cen. Tabela podsumowuje opcje, które przetestowaliśmy na potrzeby naszej wyszukiwarki na żywo.

DostawcaKluczDo czegoLimity
api.mainnet-beta.solana.comNieTesty, lekkie skrypty100 zap. / 10 s na IP
solana-rpc.publicnode.comNieTransakcje, sygnatury, salda, blokiBez zindeksowanych wywołań tokenów
public.rpc.solanavibestation.comNieKonta tokenów, posiadacze, podażOgraniczany ruch
Solscan Pro APITakEtykiety, transfery, dane tokenówLite: 49 USD/mies., 20M CU
HeliusTakParsowana historia, DAS, archiwumFree: 1M kredytów, 10 zap./s
Jupiter lite-apiNieCeny i metadane tokenówOgraniczany ruch
DexScreenerNiePary DEX, płynność60–300 zap./min

Kilka dodatkowych wyników z naszych testów, żebyś nie stracił na to popołudnia. Anonimowy dostęp w Tatum pozwalał tylko na 5 zapytań na minutę, a wiele metod było płatnych. Ankr wymagał klucza. Darmowy plan dRPC nie obejmował Solany. BlockEden był wyłącznie płatny. Publiczne API SolanaFM i Solana Beach zwracały podczas naszych sprawdzeń błąd HTTP 502.

Podstawowe metody JSON-RPC, z których korzysta każdy eksplorator

Cztery metody pokrywają większość tego, co widać na stronie eksploratora. Każda przyjmuje ciało JSON z polami jsonrpc, id, method i params, wysyłane metodą POST do dowolnego endpointu RPC.

  • getSignaturesForAddress zwraca sygnatury transakcji, które dotyczyły danego adresu, od najnowszych. Każdy wpis zawiera signature, slot, err (null przy sukcesie), memo, blockTime i confirmationStatus. limit wynosi od 1 do 1000, domyślnie 1000. To właśnie lista „historii” na stronie portfela.
  • getTransaction zwraca pełną transakcję dla jednej sygnatury: instrukcje, konta, opłatę, zużyte compute units, logi oraz salda przed i po. Przekaż "maxSupportedTransactionVersion": 0, inaczej transakcje wersjonowane zwrócą błąd.
  • getBalance zwraca saldo SOL konta w lamportach (1 SOL = 1 000 000 000 lamportów).
  • getTokenAccountsByOwner zwraca konta tokenów SPL należące do portfela, filtrowane po mincie albo po programie tokenów (starszy SPL Token lub Token-2022). Użyj kodowania jsonParsed, żeby dostać czytelne salda.

To podstawowe klocki widoków eksploratora portfeli i eksploratora transakcji. Listy posiadaczy, podaż tokena i skanowanie kont należących do programu wymagają cięższych metod, takich jak getTokenLargestAccounts, getSupply i getProgramAccounts, które wiele publicznych węzłów traktuje jako zapytania „zindeksowane” i blokuje.

Przykład getSignaturesForAddress: fetch i curl

Oto minimalny przykład dla przeglądarki lub Node 18+, który wypisuje 25 ostatnich sygnatur dla adresu. Jako przykładowego adresu używa mintu USDC, ale zadziała z dowolnym portfelem lub programem.

const RPC = 'https://solana-rpc.publicnode.com';
const address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';

const res = await fetch(RPC, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'getSignaturesForAddress',
    params: [address, { limit: 25, commitment: 'confirmed' }],
  }),
});
const { result, error } = await res.json();
if (error) throw new Error(`${error.code}: ${error.message}`);
for (const s of result) {
  console.log(s.signature, s.slot, s.err ? 'failed' : 'ok', s.blockTime);
}

To samo wywołanie z terminala:

curl -s https://solana-rpc.publicnode.com \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"getSignaturesForAddress",
       "params":["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",{"limit":5}]}'

Żeby pobrać jedną z tych transakcji, zmień metodę na getTransaction i przekaż [signature, { "encoding": "jsonParsed", "maxSupportedTransactionVersion": 0 }]. blockTime to uniksowy znacznik czasu w sekundach i dla bardzo starych lub usuniętych danych może mieć wartość null.

Paginacja z before i until

getSignaturesForAddress stronicuje wstecz w czasie. Przekaż before z ostatnią sygnaturą z poprzedniej strony, żeby dostać kolejną, starszą stronę; przekaż until, żeby zatrzymać się po dotarciu do znanej sygnatury. Pusta tablica oznacza, że doszedłeś do końca historii, którą przechowuje węzeł.

async function allSignatures(address, max = 5000) {
  const out = [];
  let before;
  while (out.length < max) {
    const params = [address, { limit: 1000, ...(before && { before }) }];
    const page = await rpc('getSignaturesForAddress', params); // twoja funkcja pomocnicza do POST
    if (!page.length) break;
    out.push(...page);
    before = page[page.length - 1].signature;
  }
  return out;
}

Przy synchronizacji przyrostowej zapisuj najnowszą sygnaturę, jaką widziałeś, i następnym razem przekaż ją jako until. Pobierasz wtedy tylko nowe dane, co pozwala spokojnie mieścić się w publicznych limitach.

Głębokość historii bywa różna: nie każdy węzeł RPC przechowuje pełną księgę. Publiczny węzeł może zwrócić krótką historię starego portfela, podczas gdy dostawca archiwalny zwróci dane z kilku lat. Jeśli historia portfela wygląda podejrzanie krótko, sprawdź zindeksowane API, zanim uznasz, że konto jest nowe.

Poziomy commitment: processed, confirmed, finalized

Commitment mówi węzłowi, jak bardzo utrwalony musi być blok, zanim węzeł odpowie. Oficjalna dokumentacja RPC definiuje trzy poziomy, a domyślny jest zwykle finalized.

  • processed: najnowszy blok węzła. Najszybciej, ale blok wciąż może zostać wycofany.
  • confirmed: przegłosowany przez superwiększość, czyli ponad dwie trzecie aktywnego stake’u.
  • finalized: maksymalny lockout; najmocniejsza gwarancja.

getSignaturesForAddress akceptuje tylko confirmed lub finalized. Dla stron w stylu eksploratora rozsądnym kompromisem jest confirmed: nowa sygnatura pojawia się w ciągu kilku slotów (od skrócenia w sierpniu i wrześniu 2026 roku slot trwa około 250–300 ms), a wycofania na tym poziomie zdarzają się bardzo rzadko. Przy wszystkim, co przesuwa pieniądze albo aktualizuje główną bazę danych, czekaj na finalized.

Dobre obyczaje przy limitach publicznych endpointów

Publiczne endpointy są współdzielone, więc zachowuj się jak kulturalny gość. Oficjalne endpointy mainnetu, devnetu i testnetu pozwalają na 100 zapytań na 10 sekund z jednego IP, 40 na 10 sekund dla pojedynczej metody i 40 jednoczesnych połączeń, i wprost nie są przeznaczone do produkcji.

Praktyczne zasady, których przestrzegamy we własnym kliencie Solscannera (rpc.ts):

  1. Rotuj, nie zasypuj. Nasza wyszukiwarka trzyma dwie pule. Wywołania „lekkie” (transakcje, sygnatury, salda, bloki, epoka) trafiają najpierw do publicnode, potem do Solana Vibe Station, a na końcu do oficjalnego endpointu. Wywołania „ciężkie”, zindeksowane (getTokenAccountsByOwner, getTokenLargestAccounts, getSupply, getProgramAccounts, getTokenSupply) idą najpierw do Solana Vibe Station. Devnet i testnet korzystają z oficjalnych endpointów.
  2. Traktuj błędy limitów jako „spróbuj gdzie indziej”. Kody takie jak -32005, 429 i 403 albo komunikaty wspominające o limitach lub planach przenoszą zapytanie do następnego endpointu, zamiast kończyć się porażką.
  3. Zapamiętuj, co zadziałało. Ostatni endpoint, który odpowiedział, staje się pierwszym wyborem przy kolejnym zapytaniu.
  4. Ustaw timeout. Każde zapytanie jest przerywane po 14 sekundach, żeby wolny węzeł nie zamroził strony.
  5. Cache’uj i grupuj. Nie pobieraj ponownie transakcji w stanie finalized; one się nigdy nie zmieniają.

Do danych rynkowych wywołujemy bezkluczowe lite-api.jup.ag od Jupitera dla cen i metadanych tokenów (w naszym kliencie do 100 mintów na zapytanie), CoinGecko jako zapasowe źródło ceny SOL i DexScreener dla par handlowych. DexScreener w swojej dokumentacji API podaje 60 zapytań na minutę dla endpointów profili tokenów i 300 na minutę dla endpointów par. Nasz przewodnik po eksploratorach DeFi wyjaśnia, co oznaczają te liczby dla par.

Solscan Pro API, Helius i inne płatne API eksploratorów

Płatne API mają sens, gdy potrzebujesz zindeksowanych danych, których zwykłe RPC nie da ci tanio: opisanych transferów, rankingów posiadaczy tokenów, zdekodowanej aktywności DeFi albo historii z wielu lat w jednym zapytaniu.

Solscan Pro API. Solscan, od stycznia 2024 roku należący do Etherscan, udostępnia swoje zindeksowane dane (konta, transfery, tokeny, NFT, rynki) przez Pro API. Istnieje darmowy poziom; plan Lite kosztuje 49 USD miesięcznie, daje 20 milionów compute units i 1000 zapytań na 60 sekund i nie obejmuje multi-endpointów, Market/price-ohlcv, Account/metadata ani Account/funded_by. Istnieją wyższe plany, ale nie udało nam się zweryfikować ich obecnych cen, więc sprawdź cennik Solscana samodzielnie. Za plany API nie ma zwrotów.

Helius. Helius, zespół stojący za eksploratorem Orb, oferuje darmowy plan z kluczem API: w chwili pisania 1 milion kredytów miesięcznie i 10 zapytań RPC na sekundę. Jego rozszerzone API zwracają sparsowane, czytelne dla człowieka transakcje, a sam Orb działa na danych archiwalnych Heliusa i metodzie getTransactionsForAddress.

API Solana Beach. Solana Beach publikuje dokumentację pod adresem solanabeach.io/docs i repozytorium na GitHubie, skupione na walidatorach i stakingu. W naszych testach zwracało błąd 502, więc najpierw sprawdź jego status.

Najczęstsze błędy API Solana i co oznaczają

Większość awarii API układa się w kilka wzorców, a treść błędu zwykle mówi, z którym masz do czynienia. Zanim cokolwiek ponowisz, przeczytaj error.code i error.message.

HTTP 403 lub 429. Endpoint blokuje twoje IP albo ogranicza jego ruch. Zwolnij, przełącz się na inny endpoint albo przejdź na plan z kluczem. Oficjalny endpoint mainnetu zwracał nam 403 z adresu IP centrum danych, co jest typowe dla współdzielonych adresów chmurowych.

Błąd -32005 lub komunikaty o „planie”. Dostawca nie obsługuje tej metody na twoim poziomie. Na darmowych węzłach ofiarą zwykle padają zindeksowane wywołania, takie jak getTokenAccountsByOwner.

Błędy CORS w konsoli przeglądarki. Endpoint działa z curl, ale odrzuca zapytania ze strony internetowej. Każdy endpoint bez klucza z naszej tabeli akceptował we wrześniu 2026 roku zapytania z przeglądarki i dlatego statyczna strona, taka jak Solscanner, może uruchamiać wyszukiwarkę bez backendu. Jeśli dodajesz dostawcę wymagającego klucza, wywołuj go z serwera, żeby klucz nigdy nie trafił do użytkowników.

Wynik null. W przypadku getTransaction null zwykle oznacza, że węzeł nie zna tej sygnatury: zły klaster, jeszcze nieosiągnięty poziom commitment albo sygnatura spoza historii węzła. Nasz klient potrafi ponowić takie wywołanie na kolejnym endpoincie, zanim zgłosi „not found”.

Kiedy potrzebujesz indeksera zamiast RPC?

Indekser jest potrzebny, gdy twoje pytanie obejmuje wiele kont albo długie okresy. RPC dobrze odpowiada na pytania „jaki jest teraz stan tego konta?” i „co zrobiła ta transakcja?”. Źle radzi sobie z pytaniem „każdy transfer USDC z tego portfela od 2023 roku, z wartościami w USD”, bo musiałbyś przejść przez tysiące sygnatur i sparsować każdą z nich.

Znaki, że wyrosłeś z surowego RPC:

  • Wywołujesz getTransaction setki razy na jedno wyświetlenie strony.
  • Potrzebujesz liczby lub rankingu posiadaczy tokena (publiczne węzły często blokują getTokenLargestAccounts i getProgramAccounts).
  • Potrzebujesz etykiet czytelnych dla ludzi (giełdy, programy, znane portfele) albo historycznych cen w USD.
  • Potrzebujesz historii starszej niż ta, którą przechowuje twój węzeł.

Na tym etapie Helius, Solscan Pro albo własny indekser (plugin Geyser zasilający bazę danych) szybko się zwraca. Jeśli wciąż tworzysz prototyp, testuj najpierw na endpointach devnetu i przeczytaj przewodnik po eksploratorze programów, żeby dekodować instrukcje za pomocą IDL. Porównanie eksploratorów zbudowanych na tych API z perspektywy użytkownika znajdziesz w naszym rankingu najlepszych eksploratorów Solana.

Zespół badawczy SolscannerAktualizacja · Metodologia recenzji

Najczęściej zadawane pytania

Czy Solscan ma darmowe API?

Solscan oferuje darmowy poziom i płatne plany Pro API. Najtańszy płatny plan, Lite, kosztuje 49 USD miesięcznie i obejmuje 20 milionów compute units przy limicie 1000 zapytań na 60 sekund; nie zawiera multi-endpointów, endpointu cen OHLCV, metadanych kont ani wyszukiwania funded-by. Solscan nie zwraca pieniędzy za plany API, więc najpierw przetestuj darmowy poziom. Przed subskrypcją sprawdź aktualne warunki na docs.solscan.io.

Jaki jest najlepszy darmowy endpoint RPC Solana bez klucza API?

W naszych testach z września 2026 roku solana-rpc.publicnode.com obsługiwał transakcje, sygnatury, salda, bloki i dane epok bez klucza i z CORS dla przeglądarki, ale odrzucał zindeksowane wywołania, takie jak getTokenAccountsByOwner. public.rpc.solanavibestation.com obsługiwał również je, przy ostrzejszych limitach. Oficjalny api.mainnet-beta.solana.com ma limit 100 zapytań na 10 sekund z jednego IP i naszemu testowemu IP zwracał błąd 403.

Jak pobrać pełną historię transakcji portfela Solana?

Wywołaj getSignaturesForAddress z limitem 1000, potem wywołaj ją ponownie z parametrem before ustawionym na ostatnią otrzymaną sygnaturę i powtarzaj, aż dostaniesz pustą tablicę. Szczegóły każdej sygnatury pobierz przez getTransaction. Przy bardzo aktywnych portfelach oznacza to tysiące zapytań, więc zindeksowane API, takie jak Helius lub Solscan Pro, jest zwykle szybsze i tańsze niż publiczny węzeł RPC.

Czy Solana Beach ma API eksploratora?

Solana Beach, prowadzony przez Staking Facilities, publikuje dokumentację API pod adresem solanabeach.io/docs i repozytorium na GitHubie solana-beach/api, skupione na walidatorach, stakingu i danych sieci. W naszych testach z września 2026 roku publiczne API Solana Beach i SolanaFM zwracały błędy HTTP 502, więc nie opieraj na nich produkcyjnej aplikacji bez wcześniejszego sprawdzenia ich statusu.

Dlaczego getTransaction zwraca błąd dla niektórych sygnatur?

Najczęściej dlatego, że transakcja używa formatu wersjonowanego (v0), a twoje zapytanie nie zawierało maxSupportedTransactionVersion: 0 w obiekcie konfiguracji. Dodaj ten parametr, a węzeł zwróci transakcję. Inne przyczyny: sygnatura pochodzi z innego klastra, nie osiągnęła jeszcze żądanego poziomu commitment albo węzeł usunął starą historię i potrzebujesz dostawcy archiwalnego.

Link partnerski

Sprawdź sygnaturę bez pisania kodu

Nasza wyszukiwarka korzysta z tych samych endpointów bez klucza, które opisujemy tutaj. Wklej sygnaturę, portfel lub mint i zobacz zdekodowany wynik.

Zacznij teraz

Zajmuje kilka minut · wymagana weryfikacja tożsamości

Nasza giełda partnerska, CEX.IO, działa od 2013 roku. Jest zarejestrowana w FinCEN jako Money Services Business, posiada licencje przekazu pieniężnego (money transmitter) w 38 stanach USA oraz w Dystrykcie Kolumbii (DC), jest zarejestrowana w brytyjskim FCA (FRN 1007192) i posiada certyfikat PCI DSS Level 1. Dostępność zależy od Twojego kraju. Kryptowaluty są zmienne: inwestuj tylko tyle, ile możesz stracić.

Czytaj dalej

Powiązane poradniki i recenzje z indeksu