Dla deweloperów · Dane rynkowe

Crypto Bubbles API: skąd naprawdę płyną dane i jak zbudować własny board

Krótka odpowiedź na najczęstsze pytanie: oficjalna aplikacja nie reklamuje publicznego API. Dłuższa odpowiedź jest ciekawsza — bo cały łańcuch danych, z którego korzystają aplikacje bąbelkowe, jest publicznie dostępny i możesz z niego zbudować własną planszę w jeden wieczór. Pokazujemy jak: od wyboru źródła, przez REST kontra WebSocket, po kod rysujący bąbelki.

Schemat przepływu danych: giełdy kryptowalut, agregatory, API i interfejs bąbelkowy

Uczciwie od progu

Czy Crypto Bubbles ma publiczne API?

Zacznijmy od tego, po co większość ludzi tu trafia. Oficjalna strona cryptobubbles.net nie reklamuje publicznego, udokumentowanego API dla deweloperów. Nie ma tam portalu deweloperskiego, cennika zapytań ani dokumentacji endpointów. Crypto Bubbles to produkt konsumencki — wizualizacja dla ponad tysiąca monet, odświeżana automatycznie, dostępna w przeglądarce i aplikacjach mobilnych (tak przedstawia go własna witryna) — a nie hurtownia danych.

Piszemy to wprost, bo w sieci krąży sporo poradników sugerujących coś przeciwnego albo — gorzej — podszywających się pod „oficjalne API Crypto Bubbles” z kluczami do kupienia. Traktuj takie oferty jak fałszywe APK z forów: ktoś próbuje sprzedać ci coś, czego producent nie oferuje. Zasada z naszego przewodnika po pobieraniu aplikacji obowiązuje i tutaj — źródłem prawdy o oficjalnym produkcie jest wyłącznie cryptobubbles.net.

I teraz dobra wiadomość: do zbudowania własnej planszy bąbelków w ogóle nie potrzebujesz API konkretnej aplikacji. Bąbelki to tylko sposób rysowania danych, które rynek i tak publikuje. Potrzebujesz czterech liczb na monetę i czterdziestu linijek kodu. Resztę tej strony poświęcamy właśnie temu.

Jak aplikacje bąbelkowe zdobywają dane: łańcuch w trzech ogniwach

Każda wizualizacja rynku — od bąbelków po heatmapy, o których piszemy w przewodniku po mapie rynku — stoi na tym samym łańcuchu dostaw:

  • Ogniwo 1: giełdy. Pierwotnym źródłem każdej ceny jest arkusz zleceń konkretnej giełdy. To tu zawierane są transakcje, a cena „bitcoina” to w rzeczywistości dziesiątki cen z dziesiątek parkietów, różniących się o ułamki procenta.
  • Ogniwo 2: agregatory. Serwisy danych zbierają notowania z setek giełd, uśredniają je (zwykle ważąc wolumenem), doliczają podaż w obiegu i wystawiają gotowe metryki: kapitalizację, ranking, zmiany procentowe w standardowych oknach czasowych.
  • Ogniwo 3: aplikacje. Wizualizacje takie jak plansza bąbelkowa pobierają z agregatorów znormalizowany JSON i zamieniają liczby na geometrię i kolor. Cała „magia” dzieje się w przeglądarce użytkownika.

Ten podział ma praktyczną konsekwencję dla twojego projektu: możesz podpiąć się na dowolnym ogniwie. Agregator da ci wygodę — jeden endpoint, tysiące monet, policzone kapitalizacje. Giełda da ci świeżość — dane prosto z arkusza, bez pośrednika i bez opóźnień uśredniania, za to tylko dla par notowanych na tym jednym parkiecie. Dojrzałe projekty często łączą oba źródła: agregator do rankingu i kapitalizacji, giełdę do cen w czasie rzeczywistym.

Architektura

REST czy WebSocket: dwa sposoby picia z tego samego kranu

Każde poważne API rynkowe podaje dane na dwa sposoby i wybór między nimi to pierwsza decyzja architektoniczna twojego projektu.

REST działa jak pytanie i odpowiedź: wysyłasz żądanie HTTP, dostajesz JSON, koniec rozmowy. Zalety: prostota, łatwe debugowanie (odpowiedź obejrzysz w przeglądarce), cache'owanie za darmo. Wady: każda aktualizacja to nowe żądanie, a limity zapytań (rate limits) w darmowych planach bywają ciasne — typowo od kilku do kilkudziesięciu zapytań na minutę. Dla planszy bąbelkowej odświeżanej co 30–60 sekund to w zupełności wystarcza; nawiasem mówiąc, oficjalna aplikacja Crypto Bubbles także odświeża dane co kilkadziesiąt sekund, jak podaje jej strona.

WebSocket to otwarta linia: nawiązujesz jedno połączenie, a serwer sam pcha ci każdą zmianę — nowy tick ceny, nową transakcję, aktualizację arkusza. Zalety: opóźnienia rzędu milisekund zamiast sekund i brak marnowania limitów na pytanie „czy coś się zmieniło?”. Wady: musisz obsłużyć zrywanie połączeń, ponowną subskrypcję, kolejkowanie wiadomości — kod robi się poważniejszy. WebSocket jest niezbędny w tradingu algorytmicznym i tickerach na żywo; do wizualizacji „stanu rynku” bywa armatą na wróbla.

Praktyczna reguła: zaczynaj od REST. Przejdź na WebSocket dopiero wtedy, gdy umiesz powiedzieć, co konkretnie zepsuje ci opóźnienie 30 sekund. Jeśli nie umiesz — nie zepsuje nic.

Cztery pola, z których rysuje się bąbelki

Rozbierzmy planszę na dane. Żeby narysować sensowny widok bąbelkowy, dla każdej monety potrzebujesz dokładnie czterech pól:

  • Symbol (BTC, ETH…) — etykieta bąbelka.
  • Kapitalizacja rynkowa — steruje wielkością. To ona, a nie cena jednostkowa, oddaje skalę projektu; dlaczego to fundamentalna różnica, tłumaczymy przy okazji kalkulatora CoinCompare.
  • Zmiana procentowa w wybranym oknie (godzina, dzień, tydzień…) — steruje kolorem i jego nasyceniem.
  • Wolumen 24h — nie rysuje niczego wprost, ale pozwala odfiltrować „martwe” monety, których cena zmienia się na trzech transakcjach dziennie.

Wszystko powyżej tego zestawu — ranking, podaż, ATH, linki — to dodatki do karty monety, nie do samej planszy. Zauważ, że mówimy o kilkuset bajtach na monetę: tysiąc monet to jedna odpowiedź JSON wielkości małego zdjęcia. Dlatego plansze bąbelkowe działają płynnie nawet na słabych telefonach.

Warsztat

Mini-tutorial: własna plansza bąbelków w jeden wieczór

Poniżej szkielet w JavaScripcie — celowo uproszczony pseudokod, do uzupełnienia adresem wybranego API. Logika jest trzyetapowa: pobierz tickery, przelicz kapitalizację na promień, zmianę procentową na kolor, narysuj.

// 1. Pobierz dane (REST, odświeżanie co 60 s)
async function fetchCoins() {
  const res = await fetch(API_URL + '/tickers?limit=100'); // klucz API w nagłówku, nigdy w kodzie
  const coins = await res.json();
  return coins.filter(c => c.volume24h > 1_000_000); // odetnij martwe monety
}

// 2. Skalowanie: promień ~ pierwiastek z kapitalizacji
//    (oko porównuje POWIERZCHNIE kół, nie promienie!)
function radius(cap, maxCap) {
  const R_MAX = 90, R_MIN = 6;
  return Math.max(R_MIN, R_MAX * Math.sqrt(cap / maxCap));
}

// 3. Kolor: zielony dla wzrostu, czerwony dla spadku,
//    nasycenie rośnie z wartością bezwzględną zmiany
function color(changePct) {
  const sat = Math.min(Math.abs(changePct) / 15, 1); // pełne nasycenie od ±15%
  return changePct >= 0
    ? `rgba(34, 197, 94, ${0.35 + 0.65 * sat})`
    : `rgba(239, 68, 68, ${0.35 + 0.65 * sat})`;
}

// 4. Rysowanie: canvas + prosta symulacja odpychania
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);

Dwie wskazówki wykraczające poza szkielet. Po pierwsze, fizyka rozmieszczania: żeby bąbelki się nie nakładały, użyj gotowej symulacji sił — w bibliotece d3 to moduł d3-force z kolizjami (forceCollide), na czystym canvasie wystarczy pętla odpychająca przecinające się okręgi. Po drugie, pierwiastek w funkcji promienia to nie fanaberia: powierzchnia koła rośnie z kwadratem promienia, więc liniowe skalowanie promienia sprawiłoby, że moneta 100 razy większa zajmie 10 000 razy więcej ekranu. Połowa „amatorskich” plansz w sieci popełnia dokładnie ten błąd i wizualnie kłamie o proporcjach rynku — a proporcje to całe sedno tej wizualizacji, o czym szerzej w przewodniku o tym, czym jest Crypto Bubbles.

Jak wybrać API danych: sześć kryteriów

KryteriumO co pytaćNa co uważać
Pokrycie rynkuIle monet i giełd obejmuje? Czy liczy kapitalizacje?„10 000 monet” bywa liczone z martwymi tokenami bez wolumenu
WebSocketCzy jest strumień na żywo i czego dotyczy (ticki, transakcje, arkusz)?Część planów oferuje WS tylko od progu płatnego
Limity zapytańIle żądań na minutę/miesiąc w twoim planie?Limity liczone per endpoint potrafią zaskoczyć w środku miesiąca
CenaKoszt planu przy twoim realnym ruchu, nie przy dzisiejszymSkoki cen między progami bywają kilkukrotne
Dane historyczneJak daleko wstecz sięgają świece i z jaką rozdzielczością?Darmowe plany często dają tylko dni, nie lata
Stabilność i SLAStatus page, historia awarii, gwarancje dostępnościBrak publicznego status page'a to odpowiedź sama w sobie

Osobna uwaga o API giełdowych jako pełnoprawnym źródle: jeżeli twój projekt dotyczy handlu — backtesting, bot, monitor własnych zleceń — API giełdy jest nie tyle alternatywą, co koniecznością, bo tylko ono da ci arkusz zleceń, historię transakcji i dostęp do składania zleceń. Dokumentacje dojrzałych giełd oferują REST i WebSocket, sandboxy do testów i biblioteki klienckie w popularnych językach. To także najkrótsza droga, by zderzyć teorię z tej strony z prawdziwym strumieniem danych.

Informacje o funkcjach oficjalnej aplikacji Crypto Bubbles (zakres monet, platformy, częstotliwość odświeżania) podajemy za cryptobubbles.net (stan: lipiec 2026).

Bezpieczeństwo

Klucze API: krótki kurs niepodpalania sobie konta

Sekcja pisana z pozycji audytora, który widział zbyt wiele repozytoriów z kluczami w historii commitów. Klucz API do danych publicznych to drobiazg — najwyżej ktoś zje twój limit zapytań. Klucz API do konta giełdowego to zupełnie inna kategoria: w złych rękach potrafi wyczyścić rachunek. Zasady:

  • Nigdy nie commituj kluczy. Trzymaj je w zmiennych środowiskowych albo menedżerze sekretów; plik .env od pierwszego dnia w .gitignore. Klucz, który raz trafił do historii repozytorium, uznaj za spalony i wygeneruj nowy — usunięcie pliku nie usuwa go z historii.
  • Minimalne uprawnienia. Do odczytu danych wystarczy klucz read-only. Prawo do handlu włączaj tylko botom, które faktycznie handlują, a prawo do wypłat — najlepiej nigdy. Żaden bot analityczny nie potrzebuje możliwości wypłacania środków.
  • Lista dozwolonych IP. Dojrzałe API pozwalają ograniczyć klucz do konkretnych adresów. Wyciek klucza przypiętego do IP twojego serwera jest dla złodzieja bezużyteczny.
  • Rotacja i higiena. Osobny klucz na każdy projekt, przegląd i kasowanie nieużywanych co kwartał, natychmiastowa rotacja po każdym podejrzeniu wycieku. Brzmi biurokratycznie, zajmuje dziesięć minut, ratuje konta.

Ostrzeżenie: boty i „narzędzia sygnałowe” proszące o klucz z prawem wypłat to standardowy wektor kradzieży. Legalne narzędzie analityczne nigdy nie potrzebuje takich uprawnień — prośba o nie kończy rozmowę.

Najkrótsze streszczenie tej strony

  • Oficjalna aplikacja Crypto Bubbles nie reklamuje publicznego API — oferty „oficjalnych kluczy” omijaj szerokim łukiem.
  • Dane płyną łańcuchem giełdy → agregatory → aplikacje; własny projekt możesz podpiąć na dowolnym ogniwie.
  • REST wystarcza do planszy odświeżanej co minutę; WebSocket bierz dopiero, gdy opóźnienie naprawdę boli.
  • Do narysowania bąbelków wystarczą symbol, kapitalizacja, zmiana procentowa i wolumen — plus promień skalowany pierwiastkiem.
  • Klucze API: poza repozytorium, z minimalnymi uprawnieniami, przypięte do IP, rotowane.

FAQ

Najczęstsze pytania o Crypto Bubbles API i dane rynkowe

Czy Crypto Bubbles udostępnia publiczne API?

Oficjalna strona cryptobubbles.net nie reklamuje publicznego, udokumentowanego API dla deweloperów — aplikacja jest produktem konsumenckim, a nie dostawcą danych. Jeśli chcesz budować własną wizualizację, sięgnij po API agregatorów danych rynkowych albo bezpośrednio po API giełd.

REST czy WebSocket — czego użyć do danych rynkowych?

REST do danych, które odświeżasz co kilkadziesiąt sekund (kapitalizacje, rankingi, zmiany procentowe) — jest prostszy i łatwiejszy w debugowaniu. WebSocket do strumienia transakcji i ticków cenowych w czasie rzeczywistym, gdy liczy się każda sekunda. Plansza bąbelkowa spokojnie działa na REST.

Jakie pola danych są potrzebne, żeby narysować bąbelki?

Minimum to cztery pola na monetę: symbol, kapitalizacja rynkowa, zmiana procentowa w wybranym oknie czasowym i wolumen. Kapitalizacja steruje promieniem bąbelka, zmiana procentowa kolorem, a wolumen przydaje się do filtrowania martwych monet.

Dlaczego promień bąbelka skaluje się pierwiastkiem z kapitalizacji?

Bo oko porównuje powierzchnie kół, a nie promienie. Powierzchnia rośnie z kwadratem promienia, więc żeby moneta dziesięć razy większa zajmowała dziesięć razy więcej powierzchni, promień musi rosnąć jak pierwiastek z kapitalizacji. Skalowanie promienia liniowo zawyżałoby wizualnie duże monety setki razy.

Czy darmowe API rynkowe wystarczy do własnego projektu?

Do nauki i hobbystycznego dashboardu — zwykle tak: darmowe plany agregatorów oferują od kilku do kilkudziesięciu zapytań na minutę, a plansza odświeżana co 30–60 sekund mieści się w tych limitach. Do produktu komercyjnego potrzebujesz płatnego planu z SLA, wyższymi limitami i danymi historycznymi.

Jak bezpiecznie przechowywać klucze API?

Nigdy w kodzie ani w repozytorium — tylko w zmiennych środowiskowych lub menedżerze sekretów. Nadawaj kluczom minimalne uprawnienia (do odczytu, bez prawa wypłat), włącz listę dozwolonych adresów IP i rotuj je po każdym podejrzeniu wycieku. Klucz z prawem handlu traktuj jak hasło do konta bankowego.

Od czytania dokumentacji do pierwszego żądania

Najszybciej nauczysz się API rynkowych, wysyłając prawdziwe zapytania. Dokumentacja giełdowego API z REST-em, WebSocketami i kluczami o ograniczonych uprawnieniach to dobry poligon startowy.