> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-wallets-docs-2-5.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Wallet

> Create a wallet using Crossmint's APIs

## Prerequisites

* **API Key**: Ensure you have an API key with the scopes: `wallets.create`.

## Create a Wallet

<Tabs>
  <Tab title="React">
    ```typescript theme={null}
    import { useWallet } from '@crossmint/client-sdk-react-ui';

    const { getOrCreateWallet } = useWallet();

    const wallet = await getOrCreateWallet({
        chain: "<your-chain>",
    });
    ```

    ### Parameters

    <ParamField path="chain" type="string" required>
      The chain to use the wallet on.
    </ParamField>

    <ParamField path="signer" type="Signer">
      The [signer](/wallets/signers-and-custody) to use the wallet with.
    </ParamField>

    <ParamField path="owner" type="string">
      The owner of the wallet.

      * `email:<email>`
      * `userId:<userId>`
      * `phoneNumber:<phoneNumber>`
      * `twitter:<handle>`
      * `x:<handle>`
    </ParamField>

    <ParamField path="options" type="WalletOptions">
      The options to use the wallet with.
    </ParamField>

    ### Returns

    <ParamField path="wallet" type="Wallet">
      The created wallet.
    </ParamField>
  </Tab>

  <Tab title="Node.js">
    ```typescript theme={null}
    const wallet = await crossmintWallets.createWallet({
        chain: "<your-chain>",
    });
    ```

    ### Parameters

    <ParamField path="chain" type="string" required>
      The chain to use the wallet on.
    </ParamField>

    <ParamField path="signer" type="Signer">
      The [signer](/wallets/signers-and-custody) to use the wallet with.
    </ParamField>

    <ParamField path="owner" type="string">
      The owner of the wallet.

      * `email:<email>`
      * `userId:<userId>`
      * `phoneNumber:<phoneNumber>`
      * `twitter:<handle>`
      * `x:<handle>`
    </ParamField>

    <ParamField path="options" type="WalletOptions">
      The options to use the wallet with.
    </ParamField>

    ### Returns

    <ParamField path="wallet" type="Wallet">
      The created wallet.
    </ParamField>
  </Tab>

  <Tab title="React Native">
    ```typescript theme={null}
    import { useWallet } from '@crossmint/client-sdk-react-native-ui';

    const { getOrCreateWallet } = useWallet();

    const wallet = await getOrCreateWallet({
        chain: "<your-chain>",
    });
    ```

    ### Parameters

    <ParamField path="chain" type="string" required>
      The chain to use the wallet on.
    </ParamField>

    <ParamField path="signer" type="Signer">
      The [signer](/wallets/signers-and-custody) to use the wallet with.
    </ParamField>

    <ParamField path="owner" type="string">
      The owner of the wallet.

      * `email:<email>`
      * `userId:<userId>`
      * `phoneNumber:<phoneNumber>`
      * `twitter:<handle>`
      * `x:<handle>`
    </ParamField>

    <ParamField path="options" type="WalletOptions">
      The options to use the wallet with.
    </ParamField>

    ### Returns

    <ParamField path="wallet" type="Promise<Wallet>">
      The created wallet.
    </ParamField>
  </Tab>
</Tabs>
