// the find
pyth-network/pyth-client-js
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.