Skip to Content

This guide shows you how to offer WalletConnect, so users can connect a mobile wallet by scanning a QR code. The SDK doesn’t supply a WalletConnect project; without your own project ID, WalletConnect stays hidden and the other connection methods keep working.

  1. Create a project in the Reown dashboard  and copy its project ID. It’s separate from your DogeOS client ID.

  2. If the project has an origin allowlist, add your app’s production and preview origins.

  3. Pass the project ID and your app’s metadata, which wallets show to users when they approve the connection:

    import type { WalletConnectKitConfig } from "@dogeos/dogeos-sdk" const dogeConfig: WalletConnectKitConfig = { clientId: "YOUR_DOGEOS_CLIENT_ID", walletConnectProjectId: "YOUR_WALLETCONNECT_PROJECT_ID", metadata: { name: "Your App", description: "Your DogeOS application", url: "https://your-app.example", icons: ["https://your-app.example/icon.png"], }, }

    In Next.js, read it from an environment variable such as process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID, then rebuild and redeploy.

  4. Open the wallet modal and check that WalletConnect appears with a QR code.

If the QR code stays blank and the browser console shows Unauthorized: origin not allowed, your origin isn’t on the project’s allowlist yet. Allowlist changes can take about 15 minutes to apply; see Reown’s relay configuration guide . An invalid project ID shows a connection error; the SDK doesn’t fall back to another project.