Voor developers · Marktdata

Crypto Bubbles API: waar de data écht vandaan stroomt en hoe je je eigen board bouwt

Het korte antwoord op de meest gestelde vraag: de officiële app adverteert geen publieke API. Het langere antwoord is interessanter — want de hele dataketen waarop bubbel-apps draaien is publiek toegankelijk, en je kunt er in één avond je eigen board mee bouwen. We laten zien hoe: van de keuze van je bron, via REST versus WebSocket, tot de code die de bubbels tekent.

Schema van de datastroom: crypto-exchanges, aggregators, API en de bubbelinterface

Eerlijk vanaf de drempel

Heeft Crypto Bubbles een publieke API?

Laten we beginnen met waar de meeste mensen voor komen. De officiële website cryptobubbles.net adverteert geen publieke, gedocumenteerde API voor ontwikkelaars. Er is geen developerportaal, geen prijslijst per verzoek en geen endpoint-documentatie. Crypto Bubbles is een consumentenproduct — een visualisatie van ruim duizend munten, automatisch ververst, beschikbaar in de browser en als mobiele app (zo presenteert de eigen website het) — en geen datawarehouse.

We schrijven dit zo expliciet omdat er online nogal wat handleidingen circuleren die het tegendeel suggereren of — erger — zich voordoen als „de officiële Crypto Bubbles API” met te koop aangeboden keys. Behandel zulke aanbiedingen als de neppe APK's van fora: iemand probeert je iets te verkopen wat de maker niet aanbiedt. De regel uit onze gids over het downloaden van de app geldt ook hier — de enige bron van waarheid over het officiële product is cryptobubbles.net.

En nu het goede nieuws: om je eigen bubbelbord te bouwen heb je de API van een specifieke app helemaal niet nodig. Bubbels zijn slechts een manier om data te tekenen die de markt toch al publiceert. Je hebt vier getallen per munt nodig en veertig regels code. De rest van deze pagina gaat daar precies over.

Hoe bubbel-apps aan hun data komen: een keten met drie schakels

Elke marktvisualisatie — van bubbels tot de heatmaps die we beschrijven in de gids over de marktkaart — staat op dezelfde toeleveringsketen:

  • Schakel 1: exchanges. De oerbron van elke prijs is het orderboek van een specifieke exchange. Hier komen de transacties tot stand, en „de prijs van bitcoin” is in werkelijkheid tientallen prijzen op tientallen handelsvloeren, die fracties van een procent van elkaar verschillen.
  • Schakel 2: aggregators. Dataplatforms verzamelen noteringen van honderden exchanges, middelen ze uit (meestal gewogen naar volume), voegen het circulerend aanbod toe en leveren kant-en-klare metrics: marktkapitalisatie, ranking, procentuele veranderingen in standaard tijdvensters.
  • Schakel 3: apps. Visualisaties zoals het bubbelbord halen genormaliseerde JSON op bij de aggregators en zetten getallen om in geometrie en kleur. Alle „magie” gebeurt in de browser van de gebruiker.

Deze opdeling heeft een praktische consequentie voor jouw project: je kunt op elke schakel aanhaken. Een aggregator geeft je gemak — één endpoint, duizenden munten, uitgerekende marktkapitalisaties. Een exchange geeft je versheid — data rechtstreeks uit het orderboek, zonder tussenpersoon en zonder vertragende middeling, maar alleen voor de paren die op die ene vloer noteren. Volwassen projecten combineren vaak beide bronnen: de aggregator voor ranking en market cap, de exchange voor realtime prijzen.

Architectuur

REST of WebSocket: twee manieren om uit dezelfde kraan te drinken

Elke serieuze markt-API levert data op twee manieren, en de keuze daartussen is de eerste architectuurbeslissing van je project.

REST werkt als vraag en antwoord: je stuurt een HTTP-verzoek, je krijgt JSON terug, einde gesprek. Voordelen: eenvoud, makkelijk debuggen (het antwoord bekijk je gewoon in je browser), caching gratis erbij. Nadelen: elke update is een nieuw verzoek, en de rate limits van gratis abonnementen zijn vaak krap — typisch enkele tot tientallen verzoeken per minuut. Voor een bubbelbord dat elke 30–60 seconden ververst is dat ruim voldoende; terzijde: de officiële Crypto Bubbles-app ververst haar data ook elke paar tientallen seconden, aldus haar website.

WebSocket is een open lijn: je legt één verbinding en de server duwt zelf elke verandering naar je toe — een nieuwe prijstick, een nieuwe transactie, een update van het orderboek. Voordelen: vertragingen van milliseconden in plaats van seconden en geen verspilde limieten aan de vraag „is er al iets veranderd?”. Nadelen: je moet verbroken verbindingen, hersubscripties en het bufferen van berichten afhandelen — de code wordt serieuzer. WebSocket is onmisbaar bij algoritmisch traden en live tickers; voor een visualisatie van „de stand van de markt” is het nogal eens een kanon voor een mug.

Praktische vuistregel: begin met REST. Stap pas over op WebSocket als je concreet kunt benoemen wat er kapotgaat door 30 seconden vertraging. Kun je dat niet — dan gaat er niets kapot.

De vier velden waaruit je bubbels tekent

Laten we het board ontleden tot data. Om een zinnige bubbelweergave te tekenen heb je per munt precies vier velden nodig:

  • Symbool (BTC, ETH…) — het label van de bubbel.
  • Marktkapitalisatie — stuurt de grootte aan. Zíj, en niet de stuksprijs, geeft de schaal van een project weer; waarom dat een fundamenteel verschil is, leggen we uit bij de CoinCompare calculator.
  • Procentuele verandering in het gekozen venster (uur, dag, week…) — stuurt de kleur en de verzadiging aan.
  • Volume 24u — tekent zelf niets, maar laat je „dode” munten wegfilteren waarvan de prijs verandert op drie transacties per dag.

Alles boven op deze set — ranking, aanbod, ATH, links — zijn extra's voor de muntkaart, niet voor het board zelf. Merk op dat we het over een paar honderd bytes per munt hebben: duizend munten is één JSON-respons ter grootte van een kleine foto. Daarom draaien bubbelborden soepel, zelfs op zwakke telefoons.

Werkplaats

Mini-tutorial: je eigen bubbelbord in één avond

Hieronder een skelet in JavaScript — bewust versimpelde pseudocode, zelf aan te vullen met het adres van je gekozen API. De logica bestaat uit drie stappen: haal de tickers op, vertaal marktkapitalisatie naar straal en procentuele verandering naar kleur, en teken.

// 1. Haal de data op (REST, verversen elke 60 s)
async function fetchCoins() {
  const res = await fetch(API_URL + '/tickers?limit=100'); // API-key in de header, nooit in de code
  const coins = await res.json();
  return coins.filter(c => c.volume24h > 1_000_000); // filter dode munten weg
}

// 2. Schalen: straal ~ wortel van de market cap
//    (het oog vergelijkt OPPERVLAKTEN van cirkels, geen stralen!)
function radius(cap, maxCap) {
  const R_MAX = 90, R_MIN = 6;
  return Math.max(R_MIN, R_MAX * Math.sqrt(cap / maxCap));
}

// 3. Kleur: groen bij stijging, rood bij daling,
//    de verzadiging groeit met de absolute waarde van de verandering
function color(changePct) {
  const sat = Math.min(Math.abs(changePct) / 15, 1); // volle verzadiging vanaf ±15%
  return changePct >= 0
    ? `rgba(34, 197, 94, ${0.35 + 0.65 * sat})`
    : `rgba(239, 68, 68, ${0.35 + 0.65 * sat})`;
}

// 4. Tekenen: canvas + simpele afstotingssimulatie
setInterval(async () => {
  const coins = await fetchCoins();
  const maxCap = Math.max(...coins.map(c => c.marketCap));
  draw(coins.map(c => ({
    label: c.symbol,
    r: radius(c.marketCap, maxCap),
    fill: color(c.change24h)
  })));
}, 60_000);

Twee tips die verder gaan dan het skelet. Ten eerste, de plaatsingsfysica: om te voorkomen dat bubbels elkaar overlappen, gebruik je een kant-en-klare krachtsimulatie — in de d3-bibliotheek is dat de module d3-force met botsingen (forceCollide); op kaal canvas volstaat een lus die elkaar snijdende cirkels uit elkaar duwt. Ten tweede, de wortel in de straalfunctie is geen gril: de oppervlakte van een cirkel groeit met het kwadraat van de straal, dus lineair schalen zou een munt die 100 keer groter is 10.000 keer meer scherm laten innemen. De helft van de „amateurborden” op internet maakt precies deze fout en liegt visueel over de marktverhoudingen — en die verhoudingen zijn nu juist de kern van deze visualisatie, waarover meer in de gids over wat Crypto Bubbles is.

Hoe kies je een data-API: zes criteria

CriteriumWat je vraagtWaar je op moet letten
MarktdekkingHoeveel munten en exchanges worden gedekt? Worden market caps berekend?„10.000 munten” wordt soms geteld inclusief dode tokens zonder volume
WebSocketIs er een livestream en wat omvat die (ticks, transacties, orderboek)?Sommige abonnementen bieden WS pas vanaf de betaalde laag
Rate limitsHoeveel verzoeken per minuut/maand in jouw plan?Limieten per endpoint kunnen je midden in de maand verrassen
PrijsDe kosten van het plan bij je reële verkeer, niet dat van vandaagPrijssprongen tussen de lagen kunnen een veelvoud zijn
Historische dataHoe ver terug reiken de candles en met welke resolutie?Gratis plannen geven vaak alleen dagen, geen jaren
Stabiliteit en SLAStatuspagina, storingshistorie, beschikbaarheidsgarantiesGeen publieke statuspagina is op zichzelf al een antwoord

Nog een aparte opmerking over exchange-API's als volwaardige bron: draait je project om handelen — backtesting, een bot, het monitoren van je eigen orders — dan is de API van een exchange niet zozeer een alternatief als wel een noodzaak, want alleen die geeft je het orderboek, de transactiehistorie en de mogelijkheid om orders te plaatsen. De documentatie van volwassen exchanges biedt REST en WebSocket, sandboxes om te testen en clientbibliotheken in populaire talen. Het is ook de kortste route om de theorie van deze pagina te laten botsen met een echte datastroom.

Informatie over de functies van de officiële Crypto Bubbles-app (aantal munten, platforms, verversingsfrequentie) ontlenen we aan cryptobubbles.net (stand: juli 2026).

Beveiliging

API-keys: een spoedcursus je account niet in de fik zetten

Deze sectie is geschreven vanuit de stoel van een auditor die te veel repositories met keys in de commitgeschiedenis heeft gezien. Een API-key voor publieke data is een kleinigheid — hooguit eet iemand je rate limit op. Een API-key voor je exchange-account is een compleet andere categorie: in verkeerde handen kan die je rekening leegtrekken. De regels:

  • Commit nooit keys. Bewaar ze in omgevingsvariabelen of een secrets manager; het .env-bestand vanaf dag één in .gitignore. Een key die ooit in de repositorygeschiedenis is beland, beschouw je als verbrand en vervang je door een nieuwe — het bestand verwijderen wist hem niet uit de historie.
  • Minimale rechten. Voor het uitlezen van data volstaat een read-only key. Handelsrechten zet je alleen aan voor bots die daadwerkelijk handelen, en opnamerechten — het liefst nooit. Geen enkele analysebot heeft de mogelijkheid nodig om geld op te nemen.
  • IP-allowlist. Volwassen API's laten je een key beperken tot specifieke adressen. Een gelekte key die vastzit aan het IP van jouw server is voor een dief waardeloos.
  • Rotatie en hygiëne. Een aparte key per project, elk kwartaal ongebruikte keys doorlichten en verwijderen, onmiddellijke rotatie bij elk vermoeden van een lek. Klinkt bureaucratisch, kost tien minuten, redt accounts.

Waarschuwing: bots en „signaaltools” die om een key met opnamerechten vragen zijn een standaard diefstalvector. Een legitieme analysetool heeft zulke rechten nooit nodig — de vraag ernaar beëindigt het gesprek.

De kortst mogelijke samenvatting van deze pagina

  • De officiële Crypto Bubbles-app adverteert geen publieke API — loop met een grote boog om aanbiedingen van „officiële keys” heen.
  • De data stroomt via de keten exchanges → aggregators → apps; je eigen project kan op elke schakel aanhaken.
  • REST volstaat voor een board dat elke minuut ververst; pak WebSocket pas als de vertraging echt pijn doet.
  • Om bubbels te tekenen volstaan symbool, marktkapitalisatie, procentuele verandering en volume — plus een straal die met de wortel schaalt.
  • API-keys: buiten de repository, met minimale rechten, vastgepind op een IP, geroteerd.

FAQ

Veelgestelde vragen over de crypto bubbles API en marktdata

Biedt Crypto Bubbles een publieke API aan?

De officiële website cryptobubbles.net adverteert geen publieke, gedocumenteerde API voor ontwikkelaars — de app is een consumentenproduct, geen dataleverancier. Wil je je eigen visualisatie bouwen, gebruik dan de API's van marktdata-aggregators of rechtstreeks de API's van exchanges.

REST of WebSocket — wat gebruik je voor marktdata?

REST voor data die je elke paar tientallen seconden ververst (marktkapitalisaties, rankings, procentuele veranderingen) — het is simpeler en makkelijker te debuggen. WebSocket voor een realtime stroom van transacties en prijsticks, wanneer elke seconde telt. Een bubbelbord draait prima op REST.

Welke datavelden heb je nodig om bubbels te tekenen?

Het minimum is vier velden per munt: symbool, marktkapitalisatie, procentuele verandering in het gekozen tijdvenster en volume. De marktkapitalisatie stuurt de straal van de bubbel aan, de procentuele verandering de kleur, en het volume is handig om dode munten weg te filteren.

Waarom schaalt de straal van een bubbel met de wortel van de market cap?

Omdat het oog oppervlakten van cirkels vergelijkt, geen stralen. De oppervlakte groeit met het kwadraat van de straal, dus om een tien keer grotere munt tien keer zoveel oppervlakte te laten innemen, moet de straal groeien als de wortel van de marktkapitalisatie. De straal lineair schalen zou grote munten visueel honderden keren opblazen.

Is een gratis markt-API genoeg voor je eigen project?

Voor leren en een hobbydashboard meestal wel: gratis abonnementen van aggregators bieden enkele tot tientallen verzoeken per minuut, en een board dat elke 30–60 seconden ververst past binnen die limieten. Voor een commercieel product heb je een betaald plan nodig met SLA, hogere limieten en historische data.

Hoe bewaar je API-keys veilig?

Nooit in code of in een repository — alleen in omgevingsvariabelen of een secrets manager. Geef keys minimale rechten (alleen-lezen, geen opnamerechten), zet een IP-allowlist aan en roteer ze na elk vermoeden van een lek. Behandel een key met handelsrechten als het wachtwoord van je bankrekening.

Van documentatie lezen naar je eerste request

Markt-API's leer je het snelst door echte verzoeken te versturen. De documentatie van een exchange-API met REST, WebSockets en keys met beperkte rechten is een prima oefenterrein om te starten.