mnemonicToAccount
A Mnemonic Account is a Hierarchical Deterministic (HD) Account that is derived from a BIP-39 mnemonic phrase and an optional HD path.
It has the ability to sign transactions and messages with the private key derived from the HD Node.
Import
import { mnemonicToAccount } from 'viem/accounts'Usage
To initialize a Mnemonic Account, you will need to pass a mnemonic phrase to mnemonicToAccount:
import { createWalletClient, http } from 'viem'
import { mnemonicToAccount } from 'viem/accounts'
import { mainnet } from 'viem/chains'
 
const account = mnemonicToAccount('legal winner thank year wave sausage worth useful legal winner thank yellow') 
 
const client = createWalletClient({
  account,
  chain: mainnet,
  transport: http()
})Note: the above is a valid mnemonic, but it is not a "real" mnemonic. Please do not use it for anything other than testing.
Generating Mnemonics
You can generate a random BIP-39 mnemonic using the generateMnemonic function with a wordlist:
import { english, generateMnemonic } from 'viem/accounts'
 
const mnemonic = generateMnemonic(english)Available wordlists:
- czech
- english
- french
- italian
- japanese
- korean
- portuguese
- simplifiedChinese
- spanish
- traditionalChinese
Parameters
mnemonic
- Type: string
The BIP-39 mnemonic phrase.
const account = mnemonicToAccount(
  'legal winner thank year wave sausage worth useful legal winner thank yellow'
)options.accountIndex
- Type: number
- Default: 0
The account index to use in the path ("m/44'/60'/${accountIndex}'/0/0") to derive a private key.
const account = mnemonicToAccount(
  'legal winner thank year wave sausage worth useful legal winner thank yellow',
  {
    accountIndex: 1
  }
)options.addressIndex
- Type: number
- Default: 0
The address index to use in the path ("m/44'/60'/0'/0/${addressIndex}") to derive a private key.
const account = mnemonicToAccount(
  'legal winner thank year wave sausage worth useful legal winner thank yellow',
  {
    accountIndex: 1,
    addressIndex: 6
  }
)options.changeIndex
- Type: number
- Default: 0
The change index to use in the path ("m/44'/60'/0'/${changeIndex}/0") to derive a private key.
const account = mnemonicToAccount(
  'legal winner thank year wave sausage worth useful legal winner thank yellow',
  {
    accountIndex: 1,
    addressIndex: 6,
    changeIndex: 2
  }
)options.path
- Type: "m/44'/60'/${string}"
The HD path to use to derive a private key.
const account = mnemonicToAccount(
  'legal winner thank year wave sausage worth useful legal winner thank yellow',
  {
    path: "m/44'/60'/5'/0/2"
  }
)
