// the find
WalletConnect/walletconnect-monorepo
WalletConnect Monorepo
The official WalletConnect v2 monorepo — the protocol layer that lets dapps connect to wallets via QR code or deep link without the wallet ever exposing a private key. If you're building a dapp or wallet that needs multi-chain signing, this is the plumbing you'll integrate against, not fork.
The relay-based architecture means neither dapp nor wallet needs to be online simultaneously — messages queue on the relay and get picked up when the wallet reconnects. The pairing/session split is clean: one pairing can host multiple sessions across different chains, which avoids the QR-scan-per-chain friction. The `@walletconnect/types` package keeps the protocol contracts separate from implementation, so you can build a compliant wallet without depending on the full sign-client bundle. Test coverage is serious — concurrency specs, cross-region relay tests, persistence specs — not just happy-path unit tests.
Tests require a real `TEST_PROJECT_ID` from WalletConnect Cloud, meaning you can't run the full suite without registering a project and accepting their terms — not great for offline or air-gapped dev. The relay is WalletConnect-operated infrastructure; there's no self-hosted relay option documented in this repo, so your app has an external dependency on their uptime. The `packages/pay` wasm binary (`yttrium.js`, `wasm-data.ts`) is a pre-compiled blob checked into the repo with no build script — you're shipping and trusting a binary you can't audit from source. React Native compat splits into old/new arch with duplicated Kotlin/Swift files and no clear migration guide, which will bite you when RN 0.74+ drops old arch support.