> ## Documentation Index
> Fetch the complete documentation index at: https://solanalabs-beeman-seeker-connect-docs-location-1e9568.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Installing Mobile Wallet Standard

> Use the **Mobile Wallet Standard** library to register Mobile Wallet Adapter as a wallet option into your web application.

export const FooterDisclaimer = () => {
  return <p className="not-prose mt-16 text-center text-xs text-gray-500 dark:text-gray-400">
      Code samples on this page are subject to the{" "}
      <a className="underline underline-offset-2" href="https://www.apache.org/licenses/LICENSE-2.0">
        Apache 2.0 license
      </a>
      .
    </p>;
};

## Installation

### 1. Install the package

You can add Mobile Wallet Adapter to your web application by installing:

```shell theme={null}
npm install @solana-mobile/wallet-standard-mobile
```

### 2. Register the wallet

In the root of your web application, invoke the `registerMwa` function.

<Warning>
  **CAUTION**

  `registerMwa` must run in the browser, not during server-side rendering. If you're using a framework with Server Side Rendering (e.g. Next.js), ensure it is invoked in a non-SSR context - for example, inside a `'use client'` component.
</Warning>

```typescript theme={null}
// 'use client' - If using Next.js, ensure it is registered in a non-SSR context.

import {
  createDefaultAuthorizationCache,
  createDefaultChainSelector,
  createDefaultWalletNotFoundHandler,
  registerMwa,
} from "@solana-mobile/wallet-standard-mobile";

registerMwa({
  appIdentity: {
    name: "My app",
    uri: "https://myapp.io",
    icon: "relative/path/to/icon.png", // resolves to https://myapp.io/relative/path/to/icon.png
  },
  authorizationCache: createDefaultAuthorizationCache(),
  chains: ["solana:devnet", "solana:mainnet"],
  chainSelector: createDefaultChainSelector(),
  onWalletNotFound: createDefaultWalletNotFoundHandler(),
});
```

Once registered, MWA will appear as a wallet option for users browsing on Android Chrome. The connection is handled locally via Android Intents (same as native Android apps).

<FooterDisclaimer />
