Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including truffle-hdwallet-privkey-provider with all npm packages installed. Try it out:

require("truffle/package.json"); // truffle is a peer dependency. var truffleHdwalletPrivkeyProvider = require("truffle-hdwallet-privkey-provider")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

truffle-hdwallet-privkey-provider v0.0.8

HD Wallet-enabled Web3 provider using private


HD Wallet-enabled Web3 provider. Use it to sign transactions for addresses derived from private keys.


$ npm install truffle-hdwallet-privkey-provider


Node >= 7.6

General Usage

You can use this provider wherever a Web3 provider is needed (for version 0.x), not just in Truffle. For Truffle-specific usage, see next section.

var HDWalletProvider = require("truffle-hdwallet-privkey-provider");
var privKeys = ['<Your Private Key>'];
var provider = new HDWalletProvider(privKeys, "http://localhost:8545");

Currently, the HDWalletProvider manages only one address at a time, but it can be easily upgraded to manage (i.e., "unlock") multiple addresses.


  • privKeys: string. the private key array which addresses are created from.
  • provider_uri: string. URI of Ethereum client to send all other non-transaction-related Web3 requests.
  • index: number, optional. If specified, will tell the provider to manage the address at the index specified. Defaults to the first address (index 0).

Truffle Usage

You can easily use this within a Truffle configuration. For instance:


var HDWalletProvider = require("truffle-hdwallet-privkey-provider");

var privKeys = ['<Your Private Key>'];

module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*" // Match any network id
    ropsten: {
      // must be a thunk, otherwise truffle commands may hang in CI
      provider: () =>
        new HDWalletProvider(privKeys, "<Your Infura Key>"),
      network_id: '3',
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free