# Zunia Docs > How to connect a dApp to Zunia, a self-custody multi-chain Cosmos wallet (browser extension, phone app and web dashboard), and how to use the wallet itself. Every page below is also Markdown at the same address with `.md` added. All pages in one file: https://docs.zunialab.com/llms-full.txt. The same pages as JSON: https://docs.zunialab.com/docs-index.json. The JavaScript SDKs are on npm: `@zunialab/sdk-web` (browser dApps), `@zunialab/sdk-react` (React hooks and components), `@zunialab/sdk-core` (server-side sign-in checks, shared types and errors) and `@zunialab/interchain` (IBC routes, denoms, packet-forward memos). Coding assistants can search and read these docs through the Zunia MCP server at https://docs.zunialab.com/mcp (Streamable HTTP, no key). Setup: https://docs.zunialab.com/docs/get-started/ai. ## Overview - [How Zunia works](https://docs.zunialab.com/docs/intro.md): Zunia is a non-custodial Cosmos wallet. Keys stay on the device that created or imported them. A dApp never sees a seed phrase. It asks the wallet for addresses, signatures, and live account events. - [FAQ](https://docs.zunialab.com/docs/faq.md): The extension is on the Chrome Web Store. Safari, the App Store and Google Play are in review. Firefox is planned. For the others, load a build from GitHub. See Install the extension and Install the mobile wallet. ## Get started - [Quickstart](https://docs.zunialab.com/docs/get-started/quickstart.md): This page gets a React app talking to the Zunia extension: connect, restore after a reload, and sign in. The same session object signs transactions with CosmJS. - [Compatibility](https://docs.zunialab.com/docs/get-started/compatibility.md): Honest status for each surface. The extension is on the Chrome Web Store. Safari, the App Store and Google Play are in review. The JavaScript packages are on npm. - [Build with AI](https://docs.zunialab.com/docs/get-started/ai.md): Connect Claude, Cursor, VS Code or any MCP client to the Zunia docs and SDK, and the llms.txt files for everything else. ## Integrate - [Web dApp (extension)](https://docs.zunialab.com/docs/integrate/extension.md): Use @zunialab/sdk-web when you are not on React, or when you want the session object yourself. The extension injects window.zunia on https:// pages and on localhost. - [React](https://docs.zunialab.com/docs/integrate/react.md): @zunialab/sdk-react is a thin layer on @zunialab/sdk-web. Components are client components ("use client"), so they work in the Next.js App Router. - [Sign in with Zunia](https://docs.zunialab.com/docs/integrate/sign-in.md): Use this when you only need to know which Cosmos account is at the keyboard. There is no transaction and no fee. - [Events and sessions](https://docs.zunialab.com/docs/integrate/events.md): A connected site should treat the wallet as the source of truth. The user can switch accounts, lock, add a chain or revoke you without touching your UI. - [Connect a phone by QR](https://docs.zunialab.com/docs/integrate/qr.md): A page and Zunia mobile pair through zunia.connect.v2. The relay only forwards ciphertext. Both screens show the same 6-digit code so the user can see they are talking to each other. - [WalletConnect](https://docs.zunialab.com/docs/integrate/walletconnect.md): Use WalletConnect v2 when you want wallets other than Zunia. The Zunia mobile app can accept a WalletConnect session when a Cloud project id is set. It does not sign WalletConnect requests yet. To reach Zunia mobile, use QR pairing. - [Suggest a chain](https://docs.zunialab.com/docs/integrate/suggest-chain.md): If the wallet does not already know a chain, a site can propose it. The user sees Add and the endpoints you chose. Nothing is saved until they approve. - [Flutter](https://docs.zunialab.com/docs/integrate/flutter.md): Two different things share the word "SDK" here. Keep them straight. - [Troubleshooting](https://docs.zunialab.com/docs/integrate/troubleshooting.md): The extension is not in this browser, or the content script is not allowed on your origin. ## Reference - [window.zunia](https://docs.zunialab.com/docs/reference/provider.md): The extension injects this object on https:// pages and localhost. Types live in @zunialab/sdk-core as ZuniaProvider. An optional window.keplr alias exists when the user enables it. - [SDK API](https://docs.zunialab.com/docs/reference/sdk.md): Four packages. The first three share one session. ESM only. - [Events](https://docs.zunialab.com/docs/reference/events.md): For older listeners, window also gets zunia_keystorechange, zunia_disconnect, zunia_locked and zunia_chainchanged, plus keplr_keystorechange and keplr_disconnect while the Keplr alias is on. - [Errors](https://docs.zunialab.com/docs/reference/errors.md): Every transport rejects with ZuniaConnectError and a stable code. window.zunia uses the wallet's codes from this list: USERREJECTED to INVALIDPARAMS, and INTERNAL. - [zunia.connect.v2](https://docs.zunialab.com/docs/reference/connect-v2.md): Protocol between a dApp, a relay, and Zunia mobile. The TypeScript types and crypto live in @zunialab/sdk-core. The Dart wallet implements the same vectors. - [Sign-in message](https://docs.zunialab.com/docs/reference/sign-in.md): CAIP-122-style text, signed as ADR-036. Built by buildSignInMessage / session.signIn(), parsed by parseSignInMessage, checked by verifySignIn. ## Security - [Security model](https://docs.zunialab.com/docs/security/model.md): Zunia is non-custodial. The seed phrase and private keys never leave the device that holds them. There is no Zunia server that can sign, recover a phrase, or freeze a balance. ## Use the wallet - [Install the extension](https://docs.zunialab.com/docs/use-wallet/extension.md): On Chrome, install Zunia from the Chrome Web Store. - [Install the mobile wallet](https://docs.zunialab.com/docs/use-wallet/mobile.md): The iOS and Android apps are in App Store and Google Play review. Until they are listed, build them yourself with a Flutter release that ships Dart 3.11.5 or later (the repo builds with Flutter 3.41). - [Keys and accounts](https://docs.zunialab.com/docs/use-wallet/keys.md): Zunia is an HD wallet (BIP-39 / BIP-44). Each account has a bech32 address per network. - [Networks](https://docs.zunialab.com/docs/use-wallet/networks.md): Home lists the networks you turned on. You choose them when you create or restore a wallet (Choose networks). The bundled catalog comes from zunia-chain-registry. Updates to that repo ship in the next wallet build. - [Send and IBC](https://docs.zunialab.com/docs/use-wallet/send-and-ibc.md): Home → Send. Pick the token, the recipient and the amount. Same-chain sends stay on that network. If the recipient is on another catalog chain, the wallet builds an IBC transfer (including packet-forward when the route needs a hop). - [Staking and governance](https://docs.zunialab.com/docs/use-wallet/staking.md): Home → Stake opens Earn: validators, commission, your delegations and rewards. - [Fees](https://docs.zunialab.com/docs/use-wallet/fees.md): The network fee every transaction pays, and the 0.5% commission on swaps made with Zunia's own Swap screen in the extension or on the web dashboard. ## Chain registry - [Chain registry overview](https://docs.zunialab.com/docs/chain-registry/overview.md): The zunia-chain-registry repository holds JSON metadata for Cosmos-SDK, EVM, and SVM chains. - [Contribute a chain](https://docs.zunialab.com/docs/chain-registry/contribute.md): See the repository README for field requirements and the features array reference. ## Optional: Brand - [Brand assets](https://docs.zunialab.com/docs/brand/assets.md): Official logos, colors, and typography live in zunia-brand. ## Optional: Legal (draft) - [Terms of Service](https://docs.zunialab.com/docs/legal/terms.md): Status: DRAFT — not legal advice. Not in force until counsel review and publication. - [Privacy Policy](https://docs.zunialab.com/docs/legal/privacy.md): Status: DRAFT — not legal advice. Not in force until counsel review and publication. - [GDPR data map](https://docs.zunialab.com/docs/legal/gdpr-data-map.md): Status: DRAFT. Map systems before appointing a DPO / completing RoPA. - [App Store encryption declaration](https://docs.zunialab.com/docs/legal/app-store-encryption.md): Use when submitting iOS / macOS builds. Confirm with counsel; this is an engineering checklist, not legal advice. ## Optional: Architecture - [Architecture decisions](https://docs.zunialab.com/docs/adr/overview.md): Product and security ADRs for Zunia. ## Optional: Developers - [Reproducible builds](https://docs.zunialab.com/docs/developers/reproducible-builds.md): Zunia aims for bit-for-bit verifiable wallet artifacts so users and auditors can rebuild what they install.