Skip to content
Promise and RxJS APIs around Polkadot and any Substrate-based chain RPC calls. It is dynamically generated based on what the Substrate runtime provides in terms of metadata. Full documentation & examples available
TypeScript Other
Branch: master
Clone or download
Github Actions
Github Actions [CI Skip] 0.95.0-beta.31
Latest commit 0b45bc6 Oct 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Split merge docs gen into sep process (#1482) Oct 12, 2019
docs Split merge docs gen into sep process (#1482) Oct 12, 2019
packages [CI Skip] 0.95.0-beta.31 Oct 22, 2019
.123trigger multi-merge failure May 23, 2019
.babelrc.js TypeScript conversion (#101) Jun 23, 2018
.codeclimate.yml Correctly type `api.query.*.*` (#1406) Sep 23, 2019
.editorconfig Initial add Nov 18, 2017
.eslintignore eslint rules (#1099) Jul 14, 2019
.eslintrc.js Bump dev deps (#1502) Oct 22, 2019
.gitignore Low-hanging circular deps (#1297) Aug 11, 2019
.npmignore Move to lerna repo (#19) Nov 28, 2017
.nvmrc Add documentation and examples (#145) Sep 15, 2018 Allow BTreeMap.with('u32', 'Text') (not only classes) (#1483) Oct 14, 2019 Deploy docs via gh-pages (#746) Feb 28, 2019
LICENSE Update LICENSE and README (#408) Nov 21, 2018 Fix moved link for rpc methods (#1403) Sep 17, 2019 0.90 (#1339) Aug 24, 2019
babel.config.js Use @babel 7 (#90) May 16, 2018 bash (#1359) Sep 2, 2019
docker-compose.yml Fix & convert e2e tests (#1167) Jul 31, 2019
jest.config.js eslint rules (#1099) Jul 14, 2019
lerna.json [CI Skip] 0.95.0-beta.31 Oct 22, 2019
package.json [CI Skip] 0.95.0-beta.31 Oct 22, 2019
tsconfig.json Exclude build folders (#1503) Oct 22, 2019
typedoc.js Pull in vuepress foir docs (as opposed to gitbook) (#742) Feb 26, 2019
yarn.lock Bump dev deps (#1502) Oct 22, 2019

polkadotjs license npm beta maintainability coverage


This library provides a clean wrapper around all the methods exposed by a Polkadot/Subtrate network client and defines all the types exposed by a node. For complete documentation around the classes, interfaces and their use, visit the documentation portal.

If you are an existing user, please be sure to track the CHANGELOG and UPGRADING guides when changing versions.


Looking for tutorials to get started? Look at examples for guides on how to use the API to make queries and submit transactions.


The API is split up into a number of internal packages -

  • @polkadot/api The API library, providing both Promise and RxJS Observable-based interfaces. This is the main user-facing entry point.
  • @polkadot/api-derive Derived results that are injected into the API, allowing for combinations of various query results (only used internally and exposed on the Api instances via api.derive.*)
  • @polkadot/api-metadata Base extrinsic, storage and constant injectors for injection
  • @polkadot/rpc-core Wrapper around all JSON-RPC methods exposed by a Polkadot network client
  • @polkadot/rpc-provider Providers for connecting to nodes, including WebSockets and Http

Type definitions for interfaces as exposed by Polkadot & Substrate clients -


Contributions are welcome!

To start off, this repo (along with others in the @polkadot family) uses yarn workspaces to organise the code. As such, after cloning, its dependencies should be installed via yarn, not via npm; the latter will result in broken dependencies.

To get started -

  1. Clone the repo locally, via git clone <optional local path>
  2. Ensure that you have a recent version of Node.js, for development purposes Node 10 is recommended.
  3. Ensure that you have a recent version of Yarn, for development purposes Yarn >=1.10.1 is required.
  4. Install the dependencies by running yarn
  5. Build the everything via yarn run build
  6. You can also launch the API Docs, via yarn vuepress dev docs
  7. Access the docs via http://localhost:8080
You can’t perform that action at this time.