# connect wallets to my app

> Reown (AppKit, formerly WalletConnect) is the default for connecting users' existing wallets: it is the de facto standard, multi-wallet, and multi-chain. Privy is added when the app also needs embedded wallets or social login, Pimlico supplies gasless smart-account UX after connect, and Base is a low-cost execution default. FluidKey is excluded as a privacy layer rather than a connection layer.

## Recommended stack

- **Reown (formerly WalletConnect)** (wallet_and_identity) — readiness 84/100, difficulty low — Use Reown AppKit (formerly WalletConnect) as the standard external-wallet connection layer across wallets and chains, with session and auth handling.
- **Privy** (wallet_and_identity) — readiness 82/100, difficulty low — Add Privy if you also need embedded wallets or social login for users who don't bring their own wallet.
- **Pimlico** (transactions_and_paymasters) — readiness 88/100, difficulty medium — Pair with Pimlico bundler/paymaster for gasless smart-account UX after the wallet connects.
- **Base** (settlement_or_execution) — readiness 82/100, difficulty low — Use Base as a low-cost EVM default for consumer apps.

## Considered and excluded

- fluidkey — FluidKey solves stealth-address privacy for receiving funds, not general wallet connection; it is a complementary privacy layer rather than the connect-wallet layer this intent needs.

## Risks

- Connection requires a Reown (WalletConnect) project id and per-app chain/wallet configuration.
- Mobile deep-linking and session reconnection are common UX failure points; test across wallets.
- Embedded (Privy) vs external (Reown) wallet choice changes onboarding and recovery flows; decide deliberately.

## Next steps

- Create a Reown project and obtain a project id.
- Configure supported chains and the wallet list for the connect modal.
- Decide whether to offer embedded wallets (Privy) alongside external connection.
- Add fallback and reconnection handling for mobile and session expiry.

## What the agent receives

```json
{
  "intent": "I need users to connect their existing wallets to my dapp (multi-wallet, multi-chain) with good UX",
  "matched_intent": "connect-wallets-to-my-app",
  "recommended_stack": [
    {
      "slug": "reown",
      "name": "Reown (formerly WalletConnect)",
      "role": "wallet_and_identity",
      "readiness_score": 84,
      "integration_difficulty": "low",
      "reason": "Use Reown AppKit (formerly WalletConnect) as the standard external-wallet connection layer across wallets and chains, with session and auth handling."
    },
    {
      "slug": "privy",
      "name": "Privy",
      "role": "wallet_and_identity",
      "readiness_score": 82,
      "integration_difficulty": "low",
      "reason": "Add Privy if you also need embedded wallets or social login for users who don't bring their own wallet."
    },
    {
      "slug": "pimlico",
      "name": "Pimlico",
      "role": "transactions_and_paymasters",
      "readiness_score": 88,
      "integration_difficulty": "medium",
      "reason": "Pair with Pimlico bundler/paymaster for gasless smart-account UX after the wallet connects."
    },
    {
      "slug": "base",
      "name": "Base",
      "role": "settlement_or_execution",
      "readiness_score": 82,
      "integration_difficulty": "low",
      "reason": "Use Base as a low-cost EVM default for consumer apps."
    }
  ],
  "excluded_candidates": [
    {
      "slug": "fluidkey",
      "reason": "FluidKey solves stealth-address privacy for receiving funds, not general wallet connection; it is a complementary privacy layer rather than the connect-wallet layer this intent needs."
    }
  ],
  "risks": [
    "Connection requires a Reown (WalletConnect) project id and per-app chain/wallet configuration.",
    "Mobile deep-linking and session reconnection are common UX failure points; test across wallets.",
    "Embedded (Privy) vs external (Reown) wallet choice changes onboarding and recovery flows; decide deliberately."
  ],
  "next_steps": [
    "Create a Reown project and obtain a project id.",
    "Configure supported chains and the wallet list for the connect modal.",
    "Decide whether to offer embedded wallets (Privy) alongside external connection.",
    "Add fallback and reconnection handling for mobile and session expiry."
  ],
  "generated_with": "composewith.eth",
  "registry_version": "2026.07.02-5a6fd5e"
}
```

---
Canonical: https://composewith.eth/intents/connect-wallets-to-my-app
