Naar inhoud
solscanner

Developergids · API's

Solana explorer API: wat je aanroept als je de data nodig hebt, niet de pagina

Er bestaat niet één Solana explorer API. Explorers lezen dezelfde JSON-RPC-methodes die jij ook kunt aanroepen (getSignaturesForAddress, getTransaction, getBalance) en voegen daar geïndexeerde extra's aan toe, zoals labels, holders en USD-prijzen. Begin met RPC zonder sleutel en betaal pas voor Solscan Pro of Helius als je historie, parsing of volume nodig hebt.

Gereguleerde exchange · geregistreerd bij FinCEN & FCA · sinds 2013 Bijgewerkt · 8 min leestijd

solscanner — rpc

$ curl solana-rpc … getTransaction

protocolJSON-RPC 2.0

methodegetTransaction

signatures/pagina1–1.000

standaard commitmentfinalized

openbare limiet100 req / 10 s

api-sleutelniet nodig

✓ finalized

Elke Solana explorer is een front-end bovenop een API. Zoek je een signature op in Solscan of Solana Explorer, dan roept de site de JSON-RPC-interface van Solana aan, vaak via een eigen indexer, en toont het resultaat. Wie zoekt op Solana explorer API, wil dus meestal een van drie dingen: ruwe on-chain data die je gratis kunt ophalen, een rijkere geïndexeerde API met labels en historie, of marktdata zoals prijzen en trading pairs. Deze gids vergelijkt alle drie zoals ze er in september 2026 voorstaan, met werkende code en de limieten die we zelf hebben gemeten.

Solana explorer API-opties in één oogopslag

Het korte antwoord: gebruik JSON-RPC voor ruwe data, een indexer voor historie en parsing, en markt-API’s voor prijzen. De tabel vat de opties samen die we hebben getest voor de eigen live zoektool van Solscanner.

ProviderSleutel nodigGoed voorLimieten
api.mainnet-beta.solana.comNeeTesten, lichte scripts100 req / 10 s per IP
solana-rpc.publicnode.comNeeTx, signatures, saldi, blokkenGeen geïndexeerde token-calls
public.rpc.solanavibestation.comNeeToken accounts, holders, aanbodRate limits
Solscan Pro APIJaLabels, transfers, tokendataLite: $49/mnd, 20M CU
HeliusJaGeparste historie, DAS, archiefGratis: 1M credits, 10 req/s
Jupiter lite-apiNeeTokenprijzen, metadataRate limits
DexScreenerNeeDEX-pairs, liquiditeit60–300 req/min

Nog een paar resultaten uit onze tests, zodat jij er geen middag aan kwijt bent. De anonieme toegang van Tatum stond maar 5 requests per minuut toe en veel methodes waren betaald. Ankr vroeg om een sleutel. Het gratis abonnement van dRPC bevatte geen Solana. BlockEden was alleen betaald. De openbare API’s van SolanaFM en Solana Beach gaven tijdens onze controles HTTP 502 terug.

De kern-JSON-RPC-methodes die elke explorer gebruikt

Vier methodes dekken het grootste deel van wat een explorerpagina toont. Elke methode krijgt een JSON-body met jsonrpc, id, method en params, via POST naar een willekeurig RPC-endpoint.

  • getSignaturesForAddress geeft de transactie-signatures terug die een adres raakten, nieuwste eerst. Elk item bevat signature, slot, err (null bij succes), memo, blockTime en confirmationStatus. limit loopt van 1 tot 1.000, met 1.000 als standaard. Dit is de “historie”-lijst op een walletpagina.
  • getTransaction geeft de volledige transactie voor één signature: instructies, accounts, kosten, verbruikte compute units, logs en saldi voor en na. Geef "maxSupportedTransactionVersion": 0 mee, anders mislukken versioned transacties.
  • getBalance geeft het SOL-saldo van een account in lamports (1 SOL = 1.000.000.000 lamports).
  • getTokenAccountsByOwner geeft de SPL-token accounts van een wallet, gefilterd op mint of op tokenprogramma (legacy SPL Token of Token-2022). Gebruik de encoding jsonParsed voor leesbare saldi.

Dit zijn de bouwstenen van de weergaven in de wallet-explorer en de transactie-explorer. Holderlijsten, tokenaanbod en scans van accounts die bij een programma horen, gebruiken zwaardere methodes zoals getTokenLargestAccounts, getSupply en getProgramAccounts, die veel openbare nodes als “geïndexeerde” verzoeken zien en blokkeren.

Voorbeeld getSignaturesForAddress: fetch en curl

Hier is een minimaal voorbeeld voor de browser of Node 18+ dat de laatste 25 signatures voor een adres toont. Als voorbeeldadres gebruiken we de USDC-mint, maar elke wallet of elk programma werkt.

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);
}

Dezelfde aanroep vanuit een terminal:

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

Wil je een van die transacties ophalen, verander de methode dan in getTransaction en geef [signature, { "encoding": "jsonParsed", "maxSupportedTransactionVersion": 0 }] mee. blockTime is een Unix-tijdstempel in seconden en kan null zijn bij heel oude of opgeschoonde data.

Paginering met before en until

getSignaturesForAddress bladert terug in de tijd. Geef before mee met de laatste signature van de vorige pagina om de volgende, oudere pagina te krijgen; geef until mee om te stoppen zodra een bekende signature is bereikt. Een lege array betekent dat je het einde hebt bereikt van de historie die de node bewaart.

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); // je eigen POST-helper
    if (!page.length) break;
    out.push(...page);
    before = page[page.length - 1].signature;
  }
  return out;
}

Voor incrementele synchronisatie bewaar je de nieuwste signature die je hebt gezien en geef je die de volgende keer mee als until. Je haalt dan alleen op wat nieuw is, en zo blijf je ruim binnen de openbare rate limits.

Diepte van de historie verschilt: niet elke RPC-node bewaart de volledige ledger. Een openbare node kan voor een oude wallet een korte historie teruggeven, terwijl een archiefprovider jaren teruggaat. Lijkt de historie van een wallet verdacht kort, probeer dan een geïndexeerde API voordat je concludeert dat het account nieuw is.

Commitment-niveaus: processed, confirmed, finalized

Commitment vertelt de node hoe definitief een blok moet zijn voordat hij antwoordt. De officiële RPC-documentatie kent drie niveaus, en finalized is de gebruikelijke standaard.

  • processed: het laatste blok van de node. Het snelst, maar kan nog worden teruggedraaid.
  • confirmed: gestemd door een supermeerderheid, meer dan twee derde van de actieve stake.
  • finalized: maximale lockout; de sterkste garantie.

getSignaturesForAddress accepteert alleen confirmed of finalized. Voor pagina’s in explorerstijl is confirmed het gangbare compromis: een nieuwe signature verschijnt binnen een paar slots (slots duren sinds de verlagingen van aug.–sept. 2026 ~250–300 ms) en rollbacks op dat niveau zijn heel zeldzaam. Voor alles wat geld verplaatst of een leidende database bijwerkt, wacht je op finalized.

Netjes omgaan met rate limits op openbare endpoints

Openbare endpoints worden gedeeld, dus gedraag je als een beleefde gast. De officiële endpoints voor mainnet, devnet en testnet staan 100 requests per 10 seconden per IP toe, 40 per 10 seconden voor één methode en 40 gelijktijdige verbindingen, en zijn uitdrukkelijk niet bedoeld voor productie.

Praktische regels die we in de eigen client van Solscanner (rpc.ts) volgen:

  1. Rouleer, niet bombarderen. Onze zoektool gebruikt twee pools. “Lichte” calls (transacties, signatures, saldi, blokken, epoch) gaan eerst naar publicnode, dan naar Solana Vibe Station en dan naar het officiële endpoint. “Zware” geïndexeerde calls (getTokenAccountsByOwner, getTokenLargestAccounts, getSupply, getProgramAccounts, getTokenSupply) gaan eerst naar Solana Vibe Station. Devnet en testnet gebruiken de officiële endpoints.
  2. Zie rate-limitfouten als “probeer elders”. Codes als -32005, 429 en 403, of meldingen over limieten of abonnementen, sturen het verzoek door naar het volgende endpoint in plaats van te falen.
  3. Onthoud wat werkte. Het laatste endpoint dat antwoordde, wordt de volgende keer de eerste keuze.
  4. Time-out. Elk verzoek breekt na 14 seconden af, zodat een trage node de pagina niet kan bevriezen.
  5. Cache en bundel. Haal finalized transacties niet opnieuw op; die veranderen nooit.

Voor marktdata roepen we de sleutelloze lite-api.jup.ag van Jupiter aan voor tokenprijzen en metadata (in onze client tot 100 mints per verzoek), CoinGecko als terugvaloptie voor de SOL-prijs, en DexScreener voor trading pairs. DexScreener documenteert in zijn API-referentie 60 requests per minuut voor tokenprofiel-endpoints en 300 per minuut voor pair-endpoints. Onze gids voor DeFi-explorers legt uit wat die pair-cijfers betekenen.

Solscan Pro API, Helius en andere betaalde explorer-API’s

Betaalde API’s zijn het waard als je geïndexeerde data nodig hebt die gewone RPC niet goedkoop kan leveren: gelabelde transfers, ranglijsten van tokenholders, gedecodeerde DeFi-activiteit of jaren aan historie in één verzoek.

Solscan Pro API. Solscan, sinds januari 2024 eigendom van Etherscan, stelt zijn geïndexeerde data (accounts, transfers, tokens, NFT’s, markten) beschikbaar via de Pro API. Er is een gratis tier; het Lite-abonnement kost $49 per maand met 20 miljoen compute units en 1.000 requests per 60 seconden, en sluit multi-endpoints, Market/price-ohlcv, Account/metadata en Account/funded_by uit. Er zijn hogere tiers, maar hun actuele prijzen konden we niet verifiëren, dus kijk zelf op de prijspagina van Solscan. API-abonnementen worden niet terugbetaald.

Helius. Helius, het team achter de Orb-explorer, biedt een gratis abonnement met API-sleutel: op het moment van schrijven 1 miljoen credits per maand en 10 RPC-requests per seconde. De enhanced API’s geven geparste, leesbare transacties terug, en Orb zelf draait op archiefdata van Helius en de methode getTransactionsForAddress.

Solana Beach API. Solana Beach publiceert documentatie op solanabeach.io/docs en een GitHub-repo, gericht op validators en staking. In onze tests gaf die 502 terug, dus verifieer eerst de status.

Veelvoorkomende Solana API-fouten en wat ze betekenen

De meeste API-fouten vallen in een paar patronen, en de body van de fout vertelt meestal welk. Lees error.code en error.message voordat je iets opnieuw probeert.

HTTP 403 of 429. Het endpoint blokkeert je IP of knijpt het af. Wacht even, rouleer naar een ander endpoint of stap over op een abonnement met sleutel. Het officiële mainnet-endpoint gaf ons vanaf een datacenter-IP een 403, wat vaak gebeurt bij gedeelde cloudadressen.

Fout -32005 of meldingen over je “plan”. De provider levert die methode niet in jouw tier. Geïndexeerde calls zoals getTokenAccountsByOwner zijn op gratis nodes meestal de dupe.

CORS-fouten in de browserconsole. Het endpoint werkt vanuit curl maar weigert verzoeken van een webpagina. Elk sleutelloos endpoint in onze tabel accepteerde in september 2026 browserverzoeken; daarom kan een statische site zoals Solscanner zijn zoektool zonder back-end draaien. Voeg je een provider toe die een sleutel nodig heeft, roep die dan vanaf een server aan, zodat de sleutel nooit bij gebruikers terechtkomt.

Een null-resultaat. Bij getTransaction betekent null meestal dat die node de signature niet kent: verkeerd cluster, nog niet op jouw commitment-niveau of buiten de historie van de node. Onze client kan zulke calls op het volgende endpoint opnieuw proberen voordat hij “not found” meldt.

Wanneer heb je een indexer nodig in plaats van RPC?

Je hebt een indexer nodig zodra je vraag over veel accounts of lange periodes gaat. RPC beantwoordt “hoe staat dit account er nu voor?” en “wat deed deze transactie?” prima. Maar “elke USDC-transfer van deze wallet sinds 2023, met USD-waarden” gaat slecht, omdat je dan door duizenden signatures moet lopen en ze elk moet parsen.

Signalen dat je ruwe RPC bent ontgroeid:

  • Je roept getTransaction honderden keren per paginaweergave aan.
  • Je hebt aantallen of ranglijsten van tokenholders nodig (openbare nodes blokkeren vaak getTokenLargestAccounts en getProgramAccounts).
  • Je hebt menselijke labels nodig (exchanges, programma’s, bekende wallets) of historische USD-prijzen.
  • Je hebt historie nodig die ouder is dan wat je node bewaart.

Op dat punt verdienen Helius, Solscan Pro of een eigen indexer (een Geyser-plug-in die een database vult) zichzelf terug. Ben je nog aan het prototypen, test dan eerst tegen de devnet-endpoints, en lees de gids voor de programma-explorer over het decoderen van instructies met een IDL. Voor een vergelijking vanuit gebruikersoogpunt van de explorers die op deze API’s zijn gebouwd, zie onze ranglijst van de beste Solana explorers.

Een laatste praktische tip voor ontwikkelaars in Nederland en België: veel teams hier draaien hun back-end in een Europese cloudregio. Openbare endpoints behandelen gedeelde datacenter-IP’s vaak strenger dan thuisverbindingen, dus test je rate limits vanaf de omgeving waar je code straks echt draait, niet alleen vanaf je laptop.

Door de researchdesk van SolscannerBijgewerkt · Reviewmethodiek

Veelgestelde vragen

Heeft Solscan een gratis API?

Solscan biedt een gratis tier en betaalde Pro API-abonnementen. Het instapabonnement Lite kost $49 per maand en bevat 20 miljoen compute units met een limiet van 1.000 requests per 60 seconden; multi-endpoints, het endpoint voor OHLCV-prijzen, account-metadata en funded-by-lookups vallen erbuiten. Solscan betaalt API-abonnementen niet terug, dus test eerst de gratis tier. Kijk op docs.solscan.io voor de actuele voorwaarden voordat je een abonnement neemt.

Wat is het beste gratis Solana RPC-endpoint zonder API-sleutel?

In onze tests van september 2026 verwerkte solana-rpc.publicnode.com transacties, signatures, saldi, blokken en epochdata zonder sleutel en met browser-CORS, maar weigerde het geïndexeerde calls zoals getTokenAccountsByOwner. public.rpc.solanavibestation.com leverde die wel, met strengere rate limits. Het officiële api.mainnet-beta.solana.com is beperkt tot 100 requests per 10 seconden per IP en gaf vanaf ons test-IP 403 terug.

Hoe krijg ik de volledige transactiegeschiedenis van een Solana-wallet?

Roep getSignaturesForAddress aan met limit 1.000, roep het daarna opnieuw aan met before op de laatste signature die je kreeg, en herhaal dat tot je een lege array terugkrijgt. Haal de details van elke signature op met getTransaction. Bij heel actieve wallets zijn dat duizenden requests, dus een geïndexeerde API zoals Helius of Solscan Pro is meestal sneller en goedkoper dan een openbare RPC-node.

Bestaat er een Solana Beach explorer API?

Solana Beach, gerund door Staking Facilities, publiceert API-documentatie op solanabeach.io/docs en een GitHub-repository op solana-beach/api, gericht op validators, staking en netwerkdata. In onze tests van september 2026 gaven de openbare API's van Solana Beach en SolanaFM HTTP 502-fouten, dus bouw er geen productie-afhankelijkheid op zonder eerst hun status te checken.

Waarom geeft getTransaction bij sommige signatures een fout?

Meestal omdat de transactie het versioned formaat (v0) gebruikt en je verzoek geen maxSupportedTransactionVersion: 0 in het config-object had. Voeg dat toe en de node geeft de transactie terug. Andere oorzaken: de signature staat op een ander cluster, heeft het gevraagde commitment-niveau nog niet bereikt, of de node heeft oude historie opgeschoond en je hebt een archiefprovider nodig.

Partnerlink

Check een signature zonder code te schrijven

Onze zoektool gebruikt dezelfde endpoints zonder sleutel die hier beschreven staan. Plak een signature, wallet of mint en bekijk het gedecodeerde resultaat.

Aan de slag

Duurt een paar minuten · ID-verificatie vereist

Onze partnerexchange, CEX.IO, is actief sinds 2013. Het platform is bij FinCEN geregistreerd als Money Services Business, heeft money-transmitter-licenties in 38 Amerikaanse staten plus DC, is geregistreerd bij de Britse FCA (FRN 1007192) en is PCI DSS Level 1-gecertificeerd. Beschikbaarheid hangt af van je land. Crypto is volatiel: investeer alleen wat je kunt missen.

Verder ontdekken

Gerelateerde gidsen en reviews uit de index