finds.dev← search

// the find

pyth-network/pyth-client-js

★ 106 · TypeScript · Apache-2.0 · updated Feb 2025

Javascript API for on-chain pyth account structure

JavaScript/TypeScript client for reading Pyth price feed data directly from Pythnet (Pyth's Solana-based chain) via on-chain account parsing. Supports both WebSocket streaming and one-off HTTP requests. Primarily useful for node operators or tooling that needs raw on-chain data; most application developers should use the Hermes REST API instead.

- The README is honest and upfront that this library is the wrong choice for most users, pointing to Hermes as the preferred alternative — that's unusually good documentation hygiene.

- Decent test coverage with per-account-type test files (Price, Product, Mapping, Permission) and fixtures, making it easier to verify binary deserialization correctness.

- Includes Anchor coder integration, which allows the library to slot into Anchor-based toolchains without reimplementing account parsing.

- CHANGELOG is maintained and the release process is documented clearly.

- 106 stars and the README effectively says 'don't use this' — it's essentially a low-level internal utility that has been published to npm, which raises questions about long-term maintenance priority versus Hermes-based tooling.

- The getData() method on PythHttpClient fetches all products at once with no filtering or pagination — at scale this is a heavy operation and there's no partial fetch API.

- Depends on @solana/web3.js v1.x, which is being superseded by the v2 rewrite; no indication this library will track that migration.

- tslint is used instead of ESLint — tslint has been deprecated since 2019, signaling the tooling hasn't been modernized in years.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →