Strona główna
» Aktualności
»
Chainlink vs. Pyth Network: Choosing a Web3 Oracle for Real-Time Data
Chainlink vs. Pyth Network: Choosing a Web3 Oracle for Real-Time Data
A DeFi application can have flawless smart-contract logic and still fail at the moment that matters most if its market data is stale, delayed, unavailable, or interpreted incorrectly. That is the practical oracle problem: a lending protocol may liquidate at the wrong price, a perpetual exchange may quote a market that has already moved, or a vault may keep operating after its reference market has closed.
Chainlink and Pyth Network both address this problem, but a simple “Chainlink vs. Pyth” comparison hides an important detail. Each now offers more than one data-delivery model. Chainlink has traditional onchain Data Feeds and low-latency Data Streams; Pyth has Pyth Core, Pyth Pro, and optional push infrastructure. The useful question is therefore not which brand is universally better, but which data path matches the application’s latency, asset coverage, trust assumptions, cost model, and failure controls.
There is also a recent change developers should know about. On August 26, 2026, Pyth upgraded Pyth Core. Its public Hermes interface now requires API-key authentication, and the underlying architecture moved away from the older Pythnet/Wormhole path toward a system based on five independently operated routers with a 3-of-5 signing quorum. Existing interfaces were designed to remain compatible, but builders should verify that their integration is using the current endpoints and contracts. See the official Pyth Core upgrade documentation.
Chainlink and Pyth both aggregate external market data, but their products expose different update paths: traditional push feeds, low-latency pull streams, and application-triggered onchain updates.
The first problem to solve: how fresh does your price actually need to be?
Start with the application, not the oracle vendor. A lending market that recalculates collateral every few minutes has different requirements from a perpetual exchange that promises near-instant execution. If the protocol cannot define an acceptable maximum data age, it cannot choose an oracle safely.
Chainlink Data Feeds are designed for data that can be published onchain when update conditions are met. In practice, price feeds typically update according to mechanisms such as a deviation threshold or heartbeat. That model is well suited to lending, collateral valuation, reserve checks, and other applications where continuously storing a current reference value onchain is useful.
Chainlink Data Streams targets a different class of workload. The current documentation describes it as a pull-based service that delivers low-latency market data offchain and allows applications to verify reports onchain only when needed. Chainlink states that Data Streams supports sub-second data resolution and is intended for latency-sensitive products such as perpetual futures, options, and prediction markets. See the official Chainlink Data Streams documentation.
Pyth Core also uses a pull model. An application or user fetches a signed price update, submits it to the Pyth contract, and then reads the verified price. The application can require a maximum age using functions such as getPriceNoOlderThan(). This makes freshness an explicit part of the transaction flow rather than relying only on a continuously updated onchain value. See Pyth’s explanation of why prices must be updated.
Push versus pull: what changes operationally?
Model
Main advantage
Main trade-off
Typical fit
Onchain push feed
Contracts can read an already-published value
Updates consume chain resources even when nobody uses them
Lending, collateral valuation, reference pricing
Pull-based report
Fetch and verify fresh data only when a transaction needs it
The application must handle fetching, authentication, submission, and failures
Perpetuals, options, low-latency execution
Managed push around a pull oracle
Simple reads while retaining pull infrastructure underneath
Someone must operate and fund the updater
Apps migrating from traditional push integration
The distinction is no longer “Chainlink equals push, Pyth equals pull.” Chainlink Data Streams is explicitly pull-based, while Pyth documents sponsored push feeds on selected networks and provides a Price Pusher that teams can operate themselves. Architecture should therefore be compared product by product.
Where does the data come from?
Chainlink: multiple data sources plus decentralized oracle networks
Chainlink Data Feeds aggregate data from multiple sources and publish the result through decentralized oracle networks. Chainlink’s documentation describes the design as combining a decentralized data model with Offchain Reporting, allowing multiple oracle nodes to reach agreement offchain before a report is transmitted onchain. This reduces the number of onchain transactions required for aggregation.
That design separates several risks: a protocol is not dependent on one exchange, one API, or one oracle node. However, integrators still need to inspect the specific feed they use. Chainlink maintains different feed categories and risk considerations, so the presence of a Chainlink interface alone does not mean every feed has identical data sources, liquidity quality, or update parameters. The starting point is the official Chainlink Data Feeds documentation.
Pyth: publisher data aggregated into price and confidence
Pyth’s model emphasizes direct contributions from market-data publishers such as exchanges, trading firms, market makers, and other financial data providers. Pyth publishes an aggregate price together with a confidence interval, which is useful because real markets do not have one perfectly uniform price at every instant.
The confidence interval can be incorporated into risk controls. For example, a lending protocol can value collateral conservatively when publisher dispersion grows, or pause a market when uncertainty becomes too high. Pyth’s official best-practices guide explicitly recommends considering confidence and staleness rather than treating the reported midpoint as infallible.
What changed in Pyth’s architecture in 2026?
This is the biggest current-version issue in the comparison. Older descriptions of Pyth often explain Pythnet as the chain where publishers submitted prices, with Wormhole guardians relaying signed messages to other chains. Pyth’s current documentation says Pythnet is being shut down and that Pyth Pro now documents the current data architecture.
For upgraded Pyth Core, five independently operated routers calculate aggregates and sign Merkle roots. Hermes collects the signed roots and proofs, and onchain contracts verify a 3-of-5 signing quorum before accepting the requested aggregate. The Core contract ABI remains compatible with the previous interface, but newer contract addresses exist and API authentication is now required for Hermes access.
Builders relying on a 2024 or 2025 tutorial should therefore re-check endpoints, authentication, and contract addresses before deploying. The current technical description is in How the upgraded Pyth Core works.
Which option is easier to integrate?
For a contract that only needs a conventional onchain reference price, Chainlink Data Feeds can be operationally simple: read the appropriate aggregator contract and validate the returned timestamp and value according to the application’s risk rules.
Pyth Core adds an explicit update step in the canonical pull flow. The caller fetches price-update data from Hermes, pays the update fee, submits the update, and then consumes a sufficiently recent price. That can be a feature rather than a burden for latency-sensitive execution because the transaction can bring its own current data, but it gives the application more plumbing to own.
Chainlink Data Streams has similar operational concerns to any low-latency pull system: API or WebSocket access, report decoding, authentication, onchain verification, fallback behavior, and billing must all be handled. It is more appropriate to compare Pyth Core or Pro with Chainlink Data Streams for high-frequency trading than to compare them only with Chainlink’s traditional push feeds.
What about latency?
Opóźnienie powinno być mierzone od początku do końca. Dostawca może generować dane milisekundowe lub ułamkowe, ale aplikacja nadal ma opóźnienia sieciowe, opóźnienia API, produkcję bloków, uwzględnianie transakcji, wykonywanie kontraktów i logikę rozliczeń.
Aktualna dokumentacja Chainlink Data Streams reklamuje rozdzielczość danych poniżej sekundy i weryfikację na żądanie. Pyth Pro dokumentuje kanały czasu rzeczywistego i o stałej szybkości, od dostaw zorientowanych na milisekundy, przez interwały 50 ms, 200 ms, aż po 1 sekundę, w zależności od subskrypcji i trybu integracji. Te możliwości na poziomie produktu mają największe znaczenie w przypadku instrumentów pochodnych i systemów animowania rynku, gdzie przeterminowane wykonanie może być bezpośrednio monetyzowane przez doświadczonych traderów.
W przypadku wolniejszych zastosowań związanych z pożyczaniem lub przechowywaniem danych w skarbcu, dążenie do jak najkrótszego czasu oczekiwania może zwiększyć koszty i złożoność bez znaczącej poprawy bezpieczeństwa. Dobrze zaprojektowany próg nieaktualności i konserwatywne zasady likwidacji mogą mieć większe znaczenie niż skrócenie ścieżki przepływu danych o dziesiątki milisekund.
Jak porównywać bezpieczeństwo?
Nie ograniczaj zabezpieczeń Oracle do jednego węzła. Przeanalizuj całą ścieżkę:
Różnorodność źródeł: Ile niezależnych źródeł lub dostawców danych udostępnia wartościowe informacje?
Agregacja: Jak radzimy sobie z przypadkami odstającymi od normy, nieaktualnymi wydawcami i niespójnymi rynkami?
Niezależność sygnatariusza lub węzła: Jaka grupa stron musi się zgodzić przed zaakceptowaniem danych?
Weryfikacja on-chain: Co dokładnie weryfikuje kontrakt konsumpcyjny?
Świeżość: Czy atakujący może celowo wykorzystać starszą, ale technicznie rzecz biorąc wciąż prawidłową aktualizację?
Dostępność: Co się stanie, jeśli API, przekaźnik, blockchain lub rynek danych będzie niedostępny?
Kontrola aplikacji: Czy protokół wstrzymuje działanie, zwiększa spready, ogranicza narażenie lub odrzuca nieaktualne dane w warunkach stresujących?
Własne wytyczne dotyczące bezpieczeństwa języka Pyth ostrzegają przed selekcją wrogich działań w aktualizacjach pull: użytkownicy mogą wybierać spośród aktualizacji, które nadal spełniają dozwolone ograniczenia czasowe. Zalecają one rygorystyczne kontrole nieaktualności, a w przypadku rynków wykonywalnych, techniki takie jak opóźnione rozliczenie, ustalanie cen uwzględniających zaufanie, okresy utrzymywania i limity ekspozycji.
Chainlink nakłada również na deweloperów obowiązek monitorowania znaczników czasu, wyboru odpowiednich kanałów i ochrony aplikacji przed nietypowymi warunkami rynkowymi. Infrastruktura Oracle może zmniejszyć ryzyko związane z danymi, ale nie może decydować o akceptowalnym poziomie dźwigni protokołu, buforze likwidacyjnym ani polityce godzin rynkowych.
Co oferuje każda sieć poza jedną ceną?
Chainlink znacznie wykroczył poza podstawowe źródła danych kryptowalutowych/USD. Jego obecny zestaw produktów obejmuje źródła danych z informacjami o cenach i rezerwach, SmartData, źródła danych o stopach procentowych i zmienności, źródła danych o czasie sprawności sekwencera L2 oraz strumienie danych, które mogą ujawniać bogatsze dane rynkowe, takie jak ceny bid i ask ważone płynnością, a także inne konteksty rynkowe, w zależności od schematu raportu.
Pyth wykracza również poza pojedynczy punkt środkowy. Pyth Core dostarcza dane dotyczące cen, wiarygodności i średniej kroczącej (EMA), podczas gdy Pyth Pro udostępnia bogatsze informacje rynkowe o wysokiej częstotliwości i konfigurowalną dostawę. Szerszy kierunek rozwoju Pyth do 2026 roku obejmuje również infrastrukturę danych komercyjnych i Data Marketplace.
Pokrycie zasobów należy sprawdzić w momencie wdrożenia. Obaj dostawcy dodają, modyfikują i wycofują źródła danych. Nigdy nie zakładaj, że symbol dostępny w jednym łańcuchu, warstwie usług lub historycznej integracji jest nadal dostępny z tymi samymi parametrami aktualizacji w innym miejscu.
Czym różnią się koszty?
Koszt to nie tylko cena subskrypcji Oracle. Obejmuje on również gaz blockchain, transakcje aktualizacji, dostęp do API, wywołania weryfikacyjne, nakład pracy inżynierów, monitorowanie, redundancję i infrastrukturę zapasową.
Chainlink Data Feeds często przenosi ciągłą pracę nad publikacją do ekosystemu sponsorującego, podczas gdy Data Streams ma własny model rozliczeniowy dla raportów na żądanie. Chainlink zauważa, że obsługiwane kanały mogą również zostać wycofane, gdy ich wykorzystanie i opłacalność ekonomiczna przestaną uzasadniać ich działanie.
Ekonomia Pytha uległa istotnej zmianie w 2026 roku. Pyth ogłosił komercyjny model danych dla Pyth Core, a od aktualizacji Core z 26 sierpnia dostęp do Hermes wymaga klucza API. Dokumentacja Pytha kieruje użytkowników do aktualnych planów, zamiast zakładać nieograniczony, nieuwierzytelniony dostęp do API. Aktualizacje onchain pull również wymagają opłaty za aktualizację, obliczanej na podstawie kontraktu Pytha.
W przypadku protokołu pożyczek o niskim wolumenie, infrastruktura o niskim opóźnieniu i ciągłej dostępności może być zbędna. W przypadku giełdy wieczystej o dużym wolumenie, płacenie za lepsze dane i redundantną łączność może być tańsze niż straty wynikające z negatywnej selekcji spowodowanej przez nieaktualne wykonanie.
Praktyczna ścieżka selekcji
1. Jeśli potrzebujesz standardowego zabezpieczenia lub ceny referencyjnej
Zacznij od sprawdzenia, czy w Twoim łańcuchu docelowym istnieje dojrzały kanał danych Chainlink lub Python dla konkretnego zasobu i konwencji rynkowej, której potrzebujesz. Porównaj sposób aktualizacji, źródła danych, godziny otwarcia rynku i obciążenie operacyjne integracji. Nie wybieraj wyłącznie na podstawie rozpoznawalności marki.
2. Jeśli potrzebujesz danych handlowych w czasie niemal rzeczywistym
Porównaj Chainlink Data Streams z Pyth Core lub Pyth Pro, zamiast używać wyłącznie tradycyjnych kanałów push jako punktu odniesienia. Zmierz opóźnienie od początku do końca, od utworzenia danych do momentu wykonania, w warunkach własnego łańcucha.
3. Jeśli rynek staje się niebezpieczny, gdy wzrasta niepewność
Wykorzystaj sygnały jakości danych. Przedział ufności języka Pyth można bezpośrednio uwzględnić w spreadach, dyskontach zabezpieczeń lub progach pauzy. Dzięki Chainlink możesz sprawdzić konkretny schemat raportu, znacznik czasu, metodologię źródłową i wszelkie dodatkowe pola stanu rynku dostępne dla danego produktu.
4. Jeśli przestoje są niedopuszczalne
Zaprojektuj nadmiarowe pobieranie i awaryjne rozwiązania aplikacji. Chainlink Data Streams dokumentuje tryby aktywnej dostawy w wielu lokalizacjach i wysokiej dostępności SDK. Integracje z Pyth Pro i Core powinny uwzględniać dostępność API, uwierzytelnianie, aktualne adresy kontraktów oraz możliwość, że cena stanie się nieaktualna.
5. Jeśli jedna wyrocznia nie wystarczy do Twojego modelu ryzyka
Niektóre protokoły porównują wiele niezależnych ścieżek wyroczni, stosują wyłączniki lub utrzymują zasilanie wtórne. Może to poprawić odporność, ale może również stworzyć nowy problem w zakresie zarządzania: umowa musi decydować, co zrobić w przypadku rozbieżności między źródłami. Rozwiązanie awaryjne, które bezmyślnie wybiera korzystniejszą cenę, nie jest mechanizmem bezpieczeństwa.
Chainlink kontra Pyth: porównanie według wymagań
Wymóg
Podejście ogniwa łańcuchowego
Podejście Pyth
Konwencjonalna cena referencyjna w łańcuchu bloków
Kanały danych publikują zagregowane wartości w łańcuchu
Rdzeń Pythona można aktualizować na żądanie; dostępne są również wybrane kanały push
Pobieranie danych o niskim opóźnieniu
Strumienie danych z dostawą poza łańcuchem i weryfikacją na łańcuchu
Aktualizacje ściągane Pyth Core i wydajniejszy Pyth Pro
Sygnał niepewności danych
Zależy od schematu kanału lub strumienia i pól rynkowych
Cena plus jawny przedział ufności
Odpowiedzialność za integrację
Zakres od prostych odczytów kanałów do pełnego interfejsu API strumieni danych i przepływu weryfikacji
Przepływ pull wymaga pobierania, przesyłania i sprawdzania bieżących aktualizacji
Problem operacyjny 2026
Kanały i strumienie można dodawać lub usuwać; należy monitorować oficjalne notatki dotyczące wersji
Aktualizacja rdzenia 26 sierpnia 2026 r.; Hermes wymaga teraz uwierzytelniania kluczem API
Jak samodzielnie sprawdzić integrację Oracle przed jej uruchomieniem
Zanim uznasz integrację Oracle za gotową do produkcji, przeprowadź przegląd awarii, zamiast testować jedynie ścieżkę bezpieczeństwa. Przydatna lista kontrolna:
Potwierdź dokładny identyfikator kanału lub strumienia i oficjalny adres umowy w sieci docelowej.
Określ maksymalny akceptowalny wiek dla każdej ceny stosowanej w protokole.
Symuluj nieaktualny kanał i sprawdź, czy aplikacja bezpiecznie przestanie działać.
Przetestuj niestabilne rynki, na których ceny różnią się w zależności od miejsca lub wzrasta zaufanie.
Testowanie awarii API lub WebSocket i błędów uwierzytelniania.
Zweryfikuj zachowanie, gdy rynek tradycyjny jest zamknięty.
Zmierz opóźnienie typu end-to-end w warunkach przeciążonego łańcucha bloków.
Subskrybuj oficjalne powiadomienia o wycofaniu produktów i aktualizacjach.
Udokumentuj, która strona pokrywa koszty aktualizacji, weryfikacji, subskrypcji i gazu.
Ponownie uruchom testy za każdym razem, gdy dostawca wyroczni zmieni architekturę lub adresy kontraktów.
Jeśli te kontrole generują wyraźne, deterministyczne zachowanie, wybór wyroczni jest prawdopodobnie powiązany z aplikacją, a nie podyktowany wyłącznie reputacją. Zarówno Chainlink, jak i Pyth oferują dojrzałe metody wprowadzania zewnętrznych danych finansowych do Web3, ale ich najmocniejsze produkty coraz bardziej się pokrywają: Chainlink oferuje teraz zarówno modele push, jak i pull, podczas gdy Pyth obsługuje zarówno aktualizacje pull wyzwalane przez aplikację, jak i wybrane wzorce push. Czynnikiem decydującym powinien być konkretny rynek, budżet na opóźnienia, założenia dotyczące bezpieczeństwa, możliwości operacyjne i polityka awarii protokołu pobierającego dane.