.. |nbsp| unicode:: U+00A0 .. non-breaking space .. _api-wallet: Wallets and Signers ******************* A **Wallet** manages a private/public key pair which is used to cryptographically sign transactions and prove ownership on the Ethereum network. ----- .. _wallet: Wallet ====== The **Wallet** implements the :ref:`Signer API ` and can be used anywhere a *Signer* is expected and has all the required properties. | Creating Instances ------------------ new :sup:`Wallet` ( privateKey [ , provider ] ) Creates a new instance from *privateKey* and optionally connect a provider :sup:`Wallet` . createRandom ( [ options ] ) |nbsp| :sup:`=>` |nbsp| :sup:`Wallet` Creates a new random wallet. Ensure this wallet is stored somewhere safe, if lost there is **NO way to recover it**. Options may have the properties: - **extraEntropy** --- additional entropy to stir into the random source .. _fromEncryptedJson: :sup:`Wallet` . fromEncryptedJson ( json, password [ , progressCallback ] ) |nbsp| :sup:`=>` |nbsp| :sup:`Wallet` Decrypt an encrypted Secret Storage `JSON Wallet`_ (from Geth, parity, Crowdsale tools, or that was created using *prototype.encrypt* ) :sup:`Wallet` . fromMnemonic ( mnemonic [ , path :sup:`= "m/44'/60'/0'/0/0"` [ , wordlist ] ] ) |nbsp| :sup:`=>` |nbsp| :sup:`Wallet` Generate a `BIP-039`_ + `BIP-044`_ wallet from *mnemonic* deriving *path* using the *wordlist*. The default language is English (en). In the browserified ``dist/ethers.min.js`` only the English wordlist is available. Each additional wordlist may be included by adding a ``