# @polkadot-api/known-chains

Latest version **0.12.3** (published 2026-09-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install @polkadot-api/known-chains
pnpm add @polkadot-api/known-chains
yarn add @polkadot-api/known-chains
bun add @polkadot-api/known-chains
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.12.3 |
| Published | 2026-09-01 |
| First published | 2024-04-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 4.9 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 156 |
| Author | Victor Oliva (https://github.com/voliva) |
| Maintainers | voliva, josepot |

## Links

- npm: https://www.npmjs.com/package/@polkadot-api/known-chains
- Repository: https://github.com/polkadot-api/polkadot-api
- npm.io page: https://npm.io/package/@polkadot-api/known-chains

## Recent versions

- 0.12.3 (latest) — 2026-09-01
- 0.12.4-canary.49bdaa9 (canary) — 2026-09-01
- 0.11.0 (rc) — 2026-04-08
- 0.12.4-canary.786fa29 — 2026-09-01
- 0.12.3-canary.2bce46a — 2026-08-20
- 0.12.3-canary.e24aebd — 2026-08-20
- 0.12.2 — 2026-08-18
- 0.12.3-canary.d8b2d3d — 2026-08-18
- 0.12.2-canary.8c00f44 — 2026-08-17
- 0.12.1-canary.57eb571 — 2026-07-29
- 0.12.1-canary.996069a — 2026-07-29
- 0.12.1-canary.7f105ae — 2026-07-28
- 0.12.1 — 2026-07-21
- 0.12.1-canary.9390531 — 2026-07-20
- 0.12.0 — 2026-07-20
- … 162 more at https://npm.io/package/@polkadot-api/known-chains/versions

## README

# polkadot-api

## Features

- Light client first: built on top of the [new JSON-RPC spec](https://paritytech.github.io/json-rpc-interface-spec/) to fully leverage the potential of light-clients (i.e: [smoldot](https://www.npmjs.com/package/smoldot)).
- Delightful TypeScript support with types and docs generated from on-chain metadata.
- First class support for storage reads, constants, transactions, events and runtime-calls.
- Performant and lightweight: ships with multiple subpaths, so dApps don't bundle unnecessary assets.
- Uses native [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt), instead of large BigNumber libraries
- Leverages dynamic imports to favour faster loading times.
- Promise-based and Observable-based APIs: use the one that best suit your needs and/or coding style.
- Use signers from your browser extension, or from a private key.
- Easy integration with PJS-based extensions.

... and a lot lot more.

## Overview

#### `smoldot.ts`

```ts
import { startFromWorker } from "polkadot-api/smoldot/from-worker"
import SmWorker from "polkadot-api/smoldot/worker?worker"

// Starting smoldot on a Worker (strongly recommended)
export const smoldot = startFromWorker(new SmWorker())

// Alternatively, we could have smoldot running on the main-thread, e.g:
// import { start } from "polkadot-api/smoldot"
// export const smoldot = start()
```

#### `main.ts`

```ts
import { createClient } from "polkadot-api"
import { getSmProvider } from "polkadot-api/sm-provider"
import { polkadotTypes } from "@polkadot-api/descriptors"
import { smoldot } from "./smoldot"

// dynamically importing the chainSpec improves the performance of your dApp
const smoldotRelayChain = import("polkadot-api/chains/polkadot").then(
  ({ chainSpec }) => smoldot.addChain({ chainSpec }),
)

// getting a `JsonRpcProvider` from a `smoldot` chain.
const jsonRpcProvider = getSmProvider(smoldotRelayChain)

// we could also create a `JsonRpcProvider` from a WS connection, eg:
// const jsonRpcProvider = WsProvider("wss://some-rpc-endpoint.io")

const polkadotClient = createClient(jsonRpcProvider)

// logging blocks as they get finalized
polkadotClient.finalizedBlock$.subscribe((block) => {
  console.log(`#${block.number} - ${block.hash} - parentHash: ${block.parent}`)
})

// pulling the latest finalized block
const block = await polkadotClient.getFinalizedBlock()

// obtaining a delightfully typed interface from the descriptors
// previously generated from the metadata
const polkadotApi = polkadotClient.getTypedApi(polkadotTypes)

// presenting the transferrable amount of a given account
const {
  data: { free, frozen },
} = await polkadotApi.query.System.Account.getValue(
  "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
)
console.log(`Transferrable amount: ${free - frozen}`)
```

## Documentation

Browse our latest docs [here](https://papi.how/)!

## Announcement: Transfer of Ownership

As of 2024-02-01, the original owner and maintainer of the Polkadot-API project, Parity Technologies, has officially transferred ownership of the project to me, Josep M Sobrepere. Read more about this transfer [here](NEWS.md#announcement-transfer-of-ownership).

---
_Source: https://npm.io/package/@polkadot-api/known-chains · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
