Ethereum JavaScript API
RichardLitt and frozeman docs: Add License explicitly, and edit the README (#1895)
* docs: Add a copy of the LGPL-3.0 license

This should get picked up by GitHub, now, and packages the license with the code.

* docs( Move the Migration section

It has been at the top for three years. I think it should be moved down now.

* docs( Spelling, grammar, and added a ToC

* docs( Actually add license
Latest commit bc0c8dd Sep 3, 2018

Ethereum JavaScript API

Join the chat at

This is the Ethereum compatible JavaScript API which implements the Generic JSON RPC spec. It's available on npm as a node module, for Bower and component as embeddable scripts, and as a meteor.js package.

NPM version Build Status dependency status dev dependency status Coverage Status Stories in Ready

You need to run a local Ethereum node to use this library.


Table of Contents



npm install web3


yarn add web3


meteor add ethereum:web3

As a Browser module


<script src=""></script>


bower install web3


component install ethereum/web3.js
  • Include web3.min.js in your html file. (not required for the meteor package)


Use the web3 object directly from the global namespace:

console.log(web3); // {eth: .., shh: ...} // It's here!

Set a provider (HttpProvider):

if (typeof web3 !== 'undefined') {
  web3 = new Web3(web3.currentProvider);
} else {
  // Set the provider you want from Web3.providers
  web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

Set a provider (HttpProvider using HTTP Basic Authentication):

web3.setProvider(new web3.providers.HttpProvider('http://' + BasicAuthUsername + ':' + BasicAuthPassword + '@localhost:8545'));

There you go, now you can use it:

var coinbase = web3.eth.coinbase;
var balance = web3.eth.getBalance(coinbase);

You can find more examples in the example directory.

Migration from 0.13.0 to 0.14.0

web3.js version 0.14.0 supports multiple instances of the web3 object. To migrate to this version, please follow the guide:

-var web3 = require('web3');
+var Web3 = require('web3');
+var web3 = new Web3();



  • Node.js
  • npm
# On Linux:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
sudo apt-get install nodejs-legacy

Building (gulp)

npm run-script build

Testing (mocha)

npm test


Other implementations


LGPL-3.0+ © 2015 Contributors