---
url: "https://predictiontoolkit.com/tools/polymarket-client/"
publisher: "PredictionToolkit"
dateModified: "2026-11-02"
---

[← SDKs & libraries](<https://predictiontoolkit.com/polymarket-sdks/>) 

![@polymarket/client logo](<https://predictiontoolkit.com/assets/logo-tool-polymarket-client-765ba4cc040b.webp>)

SDK

# @polymarket/client: Official TypeScript SDK

@polymarket/client is Polymarket's official unified TypeScript SDK, usable from TypeScript and JavaScript through npm. It separates credential-free market reads from authenticated trading and wallet actions.

[**4.0**/ 5Editorial rating](<https://predictiontoolkit.com/tools/polymarket-client/#reviews>) [Editorial assessment](<https://predictiontoolkit.com/tools/polymarket-client/#reviews>) 

[View @polymarket/client on npm](<https://npmjs.com/package/@polymarket/client>) npmjs.com

**Pricing:** The package needs no subscription. Venue trading charges and infrastructure costs are separate.

[Screenshots](<https://predictiontoolkit.com/tools/polymarket-client/#screenshots>) [Explore alternatives](<https://predictiontoolkit.com/tools/polymarket-client/#alternatives>) 

[SDKs & libraries](<https://predictiontoolkit.com/polymarket-sdks/>) [Official developer tools](<https://predictiontoolkit.com/polymarket-official-tools/>) 

## Screenshots and interface

Product preview1 / 2

Official unified SDK introduction.

## What is @polymarket/client?

PublicClient supplies public data; SecureClient adds account functions with supported Viem, Privy or Ethers signer adapters. Exported models and branded token, market, condition and address types distinguish identifiers and decimal strings deliberately.

A list paginator is created synchronously; firstPage() or asynchronous iteration performs fetching. Keep nextCursor unchanged and resume with from(cursor).firstPage(), omitting the cursor for a fresh scan. Older CLOB clients use different method and account conventions, so migration needs the current guide.

### Who it is for

-   TypeScript market and trading applications.
-   Teams replacing legacy clients.
-   Consumers combining several real-time feeds.

## Clients and supported operations

-   **Public and secure clients**
    
    Separate public data from signed account actions.
    
-   **Typed models**
    
    Use exported Event, Market and OrderBook response types.
    
-   **Branded IDs**
    
    Distinguish domain identifiers at compile time.
    
-   **Pagination**
    
    Iterate pages and retain opaque cursors.
    
-   **Error guards**
    
    Handle action-specific rate-limit and input errors; rethrow unexpected failures.
    
-   **Wallet adapters**
    
    Supported signer paths include Viem, Privy and Ethers.
    
-   **Combined subscriptions**
    
    Receive several topics through one event stream.
    
-   **Resumable scans**
    
    Fetch using firstPage() or async iteration and resume through from(cursor).firstPage().
    

## Development workflows

### Build a typed market view

Create PublicClient, read a small page and retain token IDs for books.

### Add account actions

Adapt the wallet signer, create SecureClient and inspect account identity before enabling actions.

### Consume topics

Subscribe to public topics, narrow each event by type and call stream.close() when disposed.

### Resume an interrupted scan

Persist nextCursor after processing each page. Reuse intended filters, pace requests and handle RateLimitError or UserInputError with the action guard while rethrowing unexpected errors.

## Pricing and total cost

The package needs no subscription. Venue trading charges and infrastructure costs are separate.

## Installation and configuration

1.  Install @polymarket/client from the official package.
2.  Create PublicClient and read active markets.
3.  Implement pagination and documented errors.
4.  Add a signer and SecureClient only for account functions.
5.  Use the current migration guide for legacy clients.

[Read the TypeScript SDK guide](<https://docs.polymarket.com/getting-started/typescript>) 

## Useful links

-   [Join Polymarket Discord](<https://discord.gg/polymarket>) 

### What to check

-   PublicClient does not supply private account streams.
-   Decimal strings and domain IDs have deliberately distinct types.
-   Legacy CLOB clients have different methods and account conventions.

A closer look

## Ratings & reviews

Editorial rating

**4.0**/ 5

0 user reviews

PredictionToolkit editorial

### Our take on @polymarket/client

Typed identifiers and a clear public/account split make this a well-documented TypeScript starting point. Moving from older clients still requires deliberate migration.

**Assessment criteria:** Task usefulness, documented scope, setup clarity, and access and cost transparency.

**Assessment date:** 2026-10-01

**Documentation reviewed:** 2026-10-01

Documentation-based assessment. [How we rate](<https://predictiontoolkit.com/methodology/>) 

### User reviews 0

The main score switches to user ratings after 5 published reviews.

**Be the first to share your experience**

A specific example helps the next person choose the right tool.

## Related tools

[Browse category](<https://predictiontoolkit.com/polymarket-sdks/>) 

![Official Polymarket CLOB price and book documentation](<https://predictiontoolkit.com/assets/cover-polymarket-clob-api-39f988b081351d90-400.webp>)

![Polymarket CLOB API logo](<https://predictiontoolkit.com/assets/logo-tool-polymarket-clob-api-765ba4cc040b.webp>)[Polymarket CLOB API](<https://predictiontoolkit.com/tools/polymarket-clob-api/>) 

Data API**4.0**Editorial

Read outcome prices and depth, then handle authenticated orders through a separate signing boundary.

-   Access API

Use direct HTTP for transport-level control.

![Official Polymarket Python SDK installation and quickstart](<https://predictiontoolkit.com/assets/cover-polymarket-python-sdk-abdc8e68d81b53bc-400.webp>)

![Polymarket Python SDK logo](<https://predictiontoolkit.com/assets/logo-tool-polymarket-python-sdk-765ba4cc040b.webp>)[Polymarket Python SDK](<https://predictiontoolkit.com/tools/polymarket-python-sdk/>) 

SDK**4.0**Editorial

Typed sync and async clients for scripts, notebooks, account workflows and real-time subscriptions.

-   Language Python

Use the official Python alternative.

![Poly SDK features, installation and services](<https://predictiontoolkit.com/assets/cover-poly-sdk-5d5c6a6ddd551594-400.webp>)

[Poly SDK](<https://predictiontoolkit.com/tools/poly-sdk/>) 

SDK**3.0**Editorial

Combine data clients, wallet tracking and strategy examples in a third-party TypeScript toolkit.

-   Language TypeScript

Compare higher-level third-party TypeScript strategies.

## Frequently asked questions about @polymarket/client

### Which package is the unified SDK?

@polymarket/client.

### Do public reads need a private key?

No. Start with createPublicClient.

### Can several topics share a stream?

Yes. Subscriptions accept multiple topic specifications, including sports and markets.

### How do I resume?

Store nextCursor unchanged and resume through the paginator.

### How do I stop a stream?

Call stream.close() on disposal. Public subscriptions exist on public and secure clients; account actions still need suitable signers and permissions.

In this profile
