# Welcome to Dedot

Dedot is the next-generation JavaScript client for [Polkadot](https://polkadot.com) and [Polkadot SDK-based](https://polkadot.com/platform/sdk/) networks.

Designed to elevate the dapp development experience, Dedot is built & optimized to be lightweight and tree-shakable, offering precise Types & APIs suggestions for individual Polkadot SDK-based blockchains and ink! Smart Contracts. Dedot also helps dapps efficiently connect to multiple chains simultaneously as we head toward a seamless multi-chain future.

### Features

* Small bundle size, tree-shakable (no more `bn.js` or wasm blob)
* Typesafe APIs for [on-chain interactions](https://docs.dedot.dev/client-api) & [smart contracts](https://docs.dedot.dev/ink-smart-contracts)
* Build on top of both the [new](https://paritytech.github.io/json-rpc-interface-spec/introduction.html) & [legacy](https://github.com/w3f/PSPs/blob/master/PSPs/drafts/psp-6.md) (\*deprecated soon) JSON-RPC APIs
* Support light clients (e.g: [smoldot](https://github.com/smol-dot/smoldot))
* Using native TypeScript type system for [scale-codec](https://docs.substrate.io/reference/scale-codec/)
* Compatible with [`@polkadot/extension`](https://github.com/polkadot-js/extension)-based wallets (SubWallet, Talisman...)
* Fully-typed low-level JSON-RPC client for advanced usage
* Similar API-style with `@polkadot/api`, easy and fast migration
* Support Metadata V14, V15, V16 (latest)
* Metadata optimization (caching, compact mode 🔜)
* ... and a lot more 🔜

### How to get started

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Installation</strong></td><td>Install <code>dedot</code> packages &#x26; setup your projects</td><td></td><td></td><td><a href="getting-started/installation">installation</a></td></tr><tr><td><strong>Connecting to network</strong></td><td>Connect &#x26; interact with networks</td><td></td><td></td><td><a href="getting-started/connect-to-network">connect-to-network</a></td></tr><tr><td><strong>Clients &#x26; Providers</strong></td><td>Learn more about Clients &#x26; Providers API</td><td></td><td></td><td><a href="clients-and-providers">clients-and-providers</a></td></tr><tr><td><strong>ink! Smart Contracts</strong></td><td>Deploy &#x26; tnteract with ink! smart contracts</td><td></td><td></td><td><a href="ink-smart-contracts">ink-smart-contracts</a></td></tr><tr><td><strong>Runtime upgrades</strong></td><td>Prepare your dapps for the next runtime upgrades</td><td></td><td></td><td><a href="runtime-upgrades">runtime-upgrades</a></td></tr><tr><td><strong>Utilities</strong></td><td>Utility functions to work with hex, hash, Uint8Array...</td><td></td><td></td><td><a href="utilities">utilities</a></td></tr></tbody></table>

### Join the community

* Join [Dedot Telegram](https://t.me/JoinDedot) to get supports and project updates
* Follow the creator of Dedot - [@realsinzii](https://x.com/realsinzii) on X
* Github repository: [dedotdev/dedot](https://github.com/dedotdev/dedot)

### Acknowledgment

Dedot takes a lot of inspirations from project [`@polkadot/api`](https://github.com/polkadot-js/api). A big thank to all the maintainers/contributors of this awesome library.

Funded by [Web3 Foundation Grants Program](https://grants.web3.foundation/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dedot.dev/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
