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

# App Registration

> Register your application with Dialect and start sending or receiving notifications.

<video src="https://res.cloudinary.com/dnxjhra4h/video/upload/v1755639830/register-your-project_lki0ep.mp4" controls alt="Walkthrough of registering your app on the Dialect dashboard" />

## Registration Methods

<Tabs>
  <Tab title="Dashboard (Recommended)">
    1. Access the [Dialect Developer Dashboard](https://dashboard.dialect.to)
    2. Connect your wallet (We highly recommend using a new keypair)
    3. Click on Alerts
    4. Register your Project

    **Required Fields:**

    * **Project Name**: Public name users will see
    * **Description**: Brief explanation of your app's purpose
    * **Project Logo**: App icon (recommended: 256x256px PNG max. 1MB)
  </Tab>

  <Tab title="SDK">
    **Step 1: Install packages**

    ```bash theme={null}
    npm install @dialectlabs/sdk @dialectlabs/blockchain-sdk-solana
    ```

    **Step 2: Create a keypair for your app**

    <Warning>
      Creating a keypair is analogous to creating a username & password. It's important to securely create and manage your keypair, as it will be used to access your Dialect account.
    </Warning>

    ```bash theme={null}
    # Create new keypair
    solana-keygen new -o <your-app-name>-messaging-keypair.json

    # Get the public key
    solana-keygen publickey <your-app-name>-messaging-keypair.json > app-pubkey.pub
    ```

    **Step 3: Set environment variable**

    ```bash theme={null}
    # Set your keypair as environment variable (use the array format from your keypair file)
    export DIALECT_SDK_CREDENTIALS="[170,23,...,300]"
    ```

    **Step 4: Register programmatically**

    ```typescript theme={null}
    import { Dialect, DialectCloudEnvironment, DialectSdk, BlockchainType } from "@dialectlabs/sdk";
    import {
      Solana,
      SolanaSdkFactory,
      NodeDialectSolanaWalletAdapter,
    } from "@dialectlabs/blockchain-sdk-solana";

    const environment: DialectCloudEnvironment = "production"; // or "development"

    // Create SDK instance
    const sdk: DialectSdk<Solana> = Dialect.sdk(
      {
        environment,
      },
      SolanaSdkFactory.create({
        // IMPORTANT: must set environment variable DIALECT_SDK_CREDENTIALS
        // to your dapp's Solana keypair e.g. [170,23, . . . ,300]
        wallet: NodeDialectSolanaWalletAdapter.create(),
      })
    );

    // Register your app
    const dapp = await sdk.dapps.create({
      name: "My App Name",
      description: "Brief description of what my app does",
      blockchainType: BlockchainType.SOLANA,
    });

    console.log('App registered successfully:', dapp);
    ```

    <Warning>
      **Always create a new wallet for each app.** Never reuse existing wallet keypairs from other applications or personal wallets. This ensures proper security isolation and prevents unauthorized access to your notification system.
    </Warning>

    <Warning>
      Keep your `DIALECT_SDK_CREDENTIALS` secure. This is your app's private key and should never be exposed in client-side code or committed to version control.
    </Warning>

    <Tip>
      Dialect's database *never* stores your app's private keys, only the public key.
    </Tip>
  </Tab>

  <Tab title="API">
    Coming soon! For now, please use the Dashboard or SDK methods above.
  </Tab>
</Tabs>

Your app is now ready to send notifications! 🎉

## Next Steps

After successful registration:

1. **[Understand core concepts](/alerts/setup/topics-channels-subscribers)** - Learn about topics, channels, and subscribers
2. **[Explore the dashboard](/alerts/setup/dashboard-introduction)** - Manage your app and monitor usage
3. **[Send your first notification](/alerts/send/index)** - Start integrating notification sending
4. **[Universal Inbox Guide](/alerts/integrate-inbox/index)** - Integrate an Inbox using APIs or advanced UI components
