Create a wallet

Once you have a Portal instance, you can now create a wallet for your user.

If you don't have a Portal instance already, we recommend reading this page first.

In the MPC wallet creation process, two sets of key shares are generated. The signing key shares are used for signing transactions, and the backup key shares are used for recovery if the device storing a signing key share is lost.

The portal.createWallet command initiates the MPC process to create a set of shares. The users' signing shares are automatically stored in the user's secure phone storage.

Ensure you have created and connected the UI element in the storyboard to the action.

// Create the wallet.
// Obtain the Ethereum and Solana addresses of the user's new wallet.
let addresses = try await portal.createWallet()

print("My Portal EVM address: \(addresses.ethereum)")
print("My Portal Solana address: \(addresses.solana)")

Status Flow

case generatingShare = "Generating share"
case parsingShare = "Parsing share"
case storingShare = "Storing share"
case done = "Done"

Now that you've created your user's wallet, let's try to send a transaction with it!

Related Documentation

Last updated

Was this helpful?