> For the complete documentation index, see [llms.txt](https://cramiumlabs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cramiumlabs.gitbook.io/docs/sdk-mpc-ios/usage-guide-for-an-mpc-wallet-app/import-recovery.md).

# Import/Recovery

To perform the key import process for MPC wallets, you need to:

1. **Import the mnemonic phrase** and derive private keys for child wallets.
2. **Generate a list of `KeyGenWallet`** using the derived private keys and public wallet addresses.
3. **Recall the `createMnemonicWallet` method** with the same input list of `KeyGenWallet`.
   * `wallets`: A list of KeyGenWallet to perform keygen. Each item requires: - `secret`: The private key of the Child Wallet (derived from the mnemonic phrase). - `walletAddress`: The public address or public key of the Child Wallet. - `ChainId`: The chain name (e.g., ethereum, solana). - `ecType`: The cryptographic algorithm type (eddsa, ecdsa).
4. When receiving the backup from **`createMnemonicWallet()`** , please ensure that the server shards of the newly created Paillier group and Keygen group are stored in a safe and secure location.

**Example**:

```swift

let walletResponse = client.createMnemonicWallet(
    name: "KeyGenGroupID123",
    numParties: 2,
    mnemonicPhrase: "your mnemonic phrase here",
    wallets: [
        KeyGenWallet(
            secret: "derived private key",
            walletAddress: "0xYourWalletAddress",
            chainId: "ethereum",
            ecType: "ecdsa"
        )
    ]
)

for masterWallet in walletResponse.masterWallets {
    for wallet in masterWallet {
        // Assuming wallet has properties: keyIdentity, ecType, and address
        print("keyIdentity: \(wallet.keyIdentity) - ecType: \(wallet.ecType) - address: \(wallet.address)")
    }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cramiumlabs.gitbook.io/docs/sdk-mpc-ios/usage-guide-for-an-mpc-wallet-app/import-recovery.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
