What is @polymarket/client?
@polymarket/client brings multiple official Polymarket surfaces behind PublicClient and SecureClient. It handles common integration details while retaining explicit types for markets, outcome tokens, decimal strings and addresses. Use a public client for research, then add a supported signer adapter when the application needs account actions.
Who it is for
- TypeScript teams building a market browser or trading app
- Developers replacing separate legacy Polymarket clients
- Applications subscribing to several real-time feeds
Features and coverage
- Available on
- TypeScript, JavaScript, npm
- Markets & venues
- Polymarket
- Public and secure clients
Separate credential-free public data from account and trading actions.
- Typed models
Use Event, Market, OrderBook and other exported response types.
- Branded identifiers
Distinguish token IDs, market IDs, condition IDs and addresses at compile time.
- Paginator interface
Iterate pages or resume from an opaque cursor.
- Action-specific error guards
Handle documented rate-limit and input errors without swallowing unexpected failures.
- Wallet adapters
Integrate supported Viem, Privy and Ethers signer paths.
- Combined subscriptions
Read several real-time topics through one event stream.
Workflows with @polymarket/client
Build a typed market view
Create a PublicClient, fetch a small page and retain token IDs for book requests. Use explicit response types instead of loosely shaped JSON.
Add trading to an existing app
Adapt the app’s wallet signer, create a SecureClient and inspect its account identity before enabling the required actions.
Process multiple streams
Subscribe to the desired public topics, narrow each event by topic/type and close the stream when the view is disposed.
Pricing and total cost
The SDK package does not require a subscription. Venue trading costs and any infrastructure you operate are separate.
Getting started
Before you start: An SDK cursor is opaque; store it unchanged rather than parsing it.
- Install @polymarket/client from the official package link.
- Create a PublicClient and fetch the first page of active markets.
- Implement pagination and documented error handling.
- Add a supported signer adapter and SecureClient only for account functions.
- Use the current migration guide when replacing legacy SDKs.
Useful links
What to check
- An SDK cursor is opaque; store it unchanged rather than parsing it.
- PublicClient does not provide private account streams.
- Decimal strings and domain identifiers are deliberately distinct types.
- The unified SDK has different method and account conventions from older CLOB clients.
A closer look
Ratings & reviews
User reviews 0
The main score switches to user ratings after 5 published reviews.
A specific example helps the next person choose the right tool.
Write a review
How was your experience with @polymarket/client?
Share what you used, what worked and what could be better. We confirm your email and review the submission before publishing.
To submit a review, email info@polytradingbot.com with the tool name, your rating and your experience. Enable JavaScript to prepare a draft here.
Related tools
Browse categoryFrequently asked questions about @polymarket/client
Which package should I install?
The current unified TypeScript package is @polymarket/client.
Do I need a private key for public data?
No. Start with createPublicClient.
Can it stream sports and market data together?
The subscription interface accepts multiple topic specifications.
How do I resume a scan?
Store the returned nextCursor and resume through the paginator.


