web3
web3.js
TypeScript

Collection of comprehensive TypeScript libraries for Interaction with the Ethereum JSON RPC API and utility functions.

Last updated Jul 9, 2026
19.9k
Stars
5.1k
Forks
144
Issues
0
Stars/day
Attention Score
99
Language breakdown
No language data available.
Files click to expand
README

web3.js

Web3.js

Web3.js libraries are being sunset on March 4th, 2025. For migration guides and more details please refer to Chainsafe blog

[![Dependency Status][downloads-image]][npm-url] Unit Test Coverage Commit Activity Contributors

ES Version Node Version

Web3.js is a TypeScript implementation of the Ethereum JSON RPC API and related tooling maintained by ChainSafe Systems.

Installation

You can install the package either using NPM or using Yarn

If you wanna checkout latest bugfix or feature, use npm install web3@dev

Using NPM

npm install web3

Using Yarn

yarn add web3

Getting Started

Discord

Prerequisites

Migration Guide

Breaking changes are listed in migration guide and its first step for migrating from Web3.js 1.x to 4.x. If there is any question or discussion feel free to ask in Discord, and in case of any bug or new feature request open issue or create a pull request for contributions.

Useful links

Architecture Overview

| Package | Version | License | Docs | Description | | ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | web3 | npm | License: LGPL v3 | documentation | :rotating_light: Entire Web3.js offering (includes all packages) | | web3-core | npm | License: LGPL v3 | documentation | Core functions for web3.js packages | | web3-errors | npm | License: LGPL v3 | documentation | Errors Objects | | web3-eth | npm | License: LGPL v3 | documentation | Modules to interact with the Ethereum blockchain and smart contracts | | web3-eth-abi | npm | License: LGPL v3 | documentation | Functions for encoding and decoding EVM in/output | | web3-eth-accounts | npm | License: LGPL v3 | documentation | Functions for managing Ethereum accounts and signing | | web3-eth-contract | npm | License: LGPL v3 | documentation | The contract package contained in web3-eth | | web3-eth-ens | npm | License: LGPL v3 | documentation | Functions for interacting with the Ethereum Name Service | | web3-eth-iban | npm | License: LGPL v3 | documentation | Functionality for converting Ethereum addressed to IBAN addressed and vice versa | | web3-eth-personal | npm | License: LGPL v3 | documentation | Module to interact with the Ethereum blockchain accounts stored in the node | | web3-net | npm | License: LGPL v3 | documentation | Functions to interact with an Ethereum node's network properties | | web3-providers-http | npm | License: LGPL v3 | documentation | Web3.js provider for the HTTP protocol | | web3-providers-ipc | npm | License: LGPL v3 | documentation | Web3.js provider for IPC | | web3-providers-ws | npm | License: LGPL v3 | documentation | Web3.js provider for the Websocket protocol | | web3-rpc-methods | npm | License: LGPL v3 | documentation | RPC Methods | | web3-types | npm | License: LGPL v3 | documentation | Shared useable types | | web3-utils | npm | License: LGPL v3 | documentation | Useful utility functions for Dapp developers | | web3-validator | npm | License: LGPL v3 | documentation | Utilities for validating objects |

Package.json Scripts

| Script | Description | | ------------------------------ | ------------------------------------------------------------------ | | clean | Uses rimraf to remove dist/ | | build | Uses tsc to build all packages | | lint | Uses eslint to lint all packages | | lint:fix | Uses eslint to check and fix any warnings | | format | Uses prettier to format the code | | test | Uses jest to run unit tests in each package | | test:integration | Uses jest to run tests under /test/integration in each package | | test:unit | Uses jest to run tests under /test/unit in each package | | test:manual:long-connection-ws | Runs manual tests for keeping a long WebSocket connection | | test:manual | Runs manual tests under test/manual in the web3 package |

[npm-url]: https://npmjs.org/package/web3 [downloads-image]: https://img.shields.io/npm/dm/web3?label=npm%20downloads

© 2026 GitRepoTrend · web3/web3.js · Updated daily from GitHub