> ## Documentation Index
> Fetch the complete documentation index at: https://docs.portalhq.io/llms.txt
> Use this file to discover all available pages before exploring further.

# createWallet

> Create a new MPC wallet for the user.

## Function Signature

```dart theme={null}
Future<PortalAddresses> createWallet()
```

## Description

Generates a new MPC wallet and returns the addresses for Ethereum and Solana. The private keys are split across multiple parties and never exist in full on the device.

## Parameters

This method takes no parameters.

## Returns

**`PortalAddresses`** - An object containing:

| Property   | Type      | Description              |
| ---------- | --------- | ------------------------ |
| `ethereum` | `String?` | The Ethereum/EVM address |
| `solana`   | `String?` | The Solana address       |

## Example

```dart theme={null}
import 'package:portal_flutter/portal_flutter.dart';

final portal = Portal();

final addresses = await portal.createWallet();

print('EVM address: ${addresses.ethereum}');
print('Solana address: ${addresses.solana}');
```

## Errors

| Code              | Description                                           |
| ----------------- | ----------------------------------------------------- |
| `NOT_INITIALIZED` | Portal was not initialized before calling this method |
| `WALLET_EXISTS`   | A wallet already exists for this client               |

## Related

* [Create a wallet guide](../guide/create-a-wallet)
* [getAddresses](./getaddresses)
* [doesWalletExist](./doeswalletexist)
