---
title: "Create new wallet from existing mnemonic seed"
method: POST
path: "/wallet/restore"
tags: ["wallet"]
---

# Create new wallet from existing mnemonic seed

`POST /wallet/restore`

Creates a wallet from a mnemonic the caller already has (e.g. one previously returned by
`/wallet/init`, or generated elsewhere). The mnemonic is converted to a BIP-32 seed
(optionally salted with `mnemonicPass`) and the resulting secret is encrypted on disk
with `pass`. Note the `usePre1627KeyDerivation` flag — see its field description.

## Request body

- RestoreWallet
  - `pass` string, required — Spending password used to encrypt the wallet secret storage on disk. Required on every /wallet/unlock afterwards. Not recoverable — losing it means restoring from the mnemonic.
  - `mnemonic` string, required — BIP-39 mnemonic seed phrase (space-separated words) the wallet will be restored from.
  - `mnemonicPass` string — Optional BIP-39 passphrase (a.k.a. 25th word) mixed into the seed derivation. Distinct from `pass` and not stored by the node. Must match the value used when the mnemonic was originally generated, otherwise a different wallet will be restored silently.
  - `usePre1627KeyDerivation` boolean, required — Use the legacy (pre-EIP-3) BIP-32 key derivation that was the default before node v4.0.105. Set `true` only when restoring a wallet originally created on an older node; new wallets should use `false`. See https://github.com/ergoplatform/ergo/issues/1627 for details.

## Response `200`

Wallet restored successfully

## Other responses

- `default` — Error

---

[API](https://skmtc.net/ergoplatform/apis/ergo-node-api.md) · [All operations](https://skmtc.net/ergoplatform/apis/ergo-node-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ergoplatform/ergo-node-api/revisions/ef97e678f020/schema)
