Drop a single script tag into any page to display a self-refreshing WalletConnect QR code.
Copy qr.js next to your HTML file, then follow the steps below.
</body>
The widget is an IIFE — no bundler, no npm, no dependencies required.
qr-code for the QR code, qr-connect for the Connect Wallet button.
Renders a self-refreshing WalletConnect QR image directly inside any container element. No click required.
QR code — class="qr-code"
Connect Wallet button — class="qr-connect"
<!-- Place ONCE, before </body> --> <script src="./qr.js"></script> <!-- QR code (auto-refresh) --> <div class="qr-code"></div> <!-- Connect Wallet button --> <div class="qr-connect"></div>
Copy this boilerplate to get started immediately.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>My DApp</title> </head> <body> <!-- QR code --> <div class="qr-code"></div> <!-- Connect Wallet button --> <div class="qr-connect"></div> <!-- Widget (must be last) --> <script src="./qr.js"></script> </body> </html>
Everything is bundled in the single script — no external requests, no CDN dependencies.
QR codes refresh automatically before the 5-minute WalletConnect session expiry.
MetaMask, Trust, Rainbow, Coinbase, OKX, Zerion, Uniswap, 1inch, and more.
On mobile, tapping a wallet opens the app directly via deeplink or universal link.