An open API service indexing awesome lists of open source software.

https://github.com/moazamtech/web3-wallet-connect

โšก Beautiful Web3 wallet connector with Next.js 15, TypeScript, Tailwind CSS & Reown AppKit. Multi-wallet, multi-network support with modern glassmorphism UI.
https://github.com/moazamtech/web3-wallet-connect

Last synced: 3 months ago
JSON representation

โšก Beautiful Web3 wallet connector with Next.js 15, TypeScript, Tailwind CSS & Reown AppKit. Multi-wallet, multi-network support with modern glassmorphism UI.

Awesome Lists containing this project

README

          

# ๐ŸŒ Web3 Wallet Connect

[![Next.js](https://img.shields.io/badge/Next.js-15-black)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue)](https://www.typescriptlang.org/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.3-38B2AC)](https://tailwindcss.com/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)

A **modern, responsive Web3 wallet connection interface** built with **Next.js 14**, **TypeScript**, **Tailwind CSS**, and **Reown AppKit**. This project provides a clean, user-friendly way to connect multiple Web3 wallets with support for various blockchain networks.

![Web3 Wallet Connect Preview](https://via.placeholder.com/800x400/007AFF/FFFFFF?text=Web3+Wallet+Connect+Preview)

## โœจ Features

- ๐Ÿ”Œ **Multi-wallet Support** - Connect with MetaMask, WalletConnect, Coinbase Wallet, and more
- ๐ŸŒ **Multi-network** - Support for Ethereum, Polygon, Arbitrum, Base, and testnets
- ๐Ÿ“ฑ **Fully Responsive** - Perfect on desktop, tablet, and mobile devices
- ๐ŸŽจ **Modern UI/UX** - Beautiful glassmorphism design with smooth animations
- ๐Ÿ” **Secure & Reliable** - Built with security best practices
- โšก **Optimized Performance** - Fast loading with Next.js 14 App Router
- ๐ŸŽฏ **TypeScript Ready** - Full type safety throughout the application
- ๐ŸŽจ **Tailwind CSS** - Utility-first CSS framework for rapid UI development
- ๐Ÿ”” **Smart Notifications** - Enhanced user feedback with Sonner toasts
- ๐Ÿ”— **Blockchain Explorer Integration** - Direct links to view addresses on explorers

## ๐Ÿ› ๏ธ Tech Stack

| Technology | Version | Purpose |
|------------|---------|---------|
| **Next.js** | 14.x | React framework with App Router |
| **TypeScript** | 5.x | Type safety and developer experience |
| **Tailwind CSS** | 3.x | Utility-first CSS framework |
| **Reown AppKit** | 1.x | Web3 wallet connection infrastructure |
| **Wagmi** | 2.x | React hooks for Ethereum |
| **Sonner** | 1.x | Beautiful toast notifications |
| **Lucide React** | Latest | Modern icon library |
| **Radix UI** | Latest | Accessible UI components |

## ๐Ÿš€ Quick Start

### Prerequisites

- **Node.js** 18.0 or higher
- **npm** / **yarn** / **pnpm**
- A **Reown Project ID** (free at [cloud.reown.com](https://cloud.reown.com))

### Installation

1. **Clone the repository**
```bash
git clone https://github.com/moazamtech/web3-wallet-connect.git
cd web3-wallet-connect
Install dependencies
bashnpm install
# or
yarn install
# or
pnpm install

Set up environment variables
bashcp .env.example .env.local
Update your environment variables:
envNEXT_PUBLIC_PROJECT_ID=your_reown_project_id_here

Run the development server
bashnpm run dev
# or
yarn dev
# or
pnpm dev

Open your browser
Navigate to http://localhost:3000 ๐ŸŽ‰

๐Ÿ“ Project Structure
web3-wallet-connect/
โ”œโ”€โ”€ ๐Ÿ“ app/ # Next.js 14 App Router
โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ globals.css # Global styles with Tailwind
โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ layout.tsx # Root layout with providers
โ”‚ โ””โ”€โ”€ ๐Ÿ“„ page.tsx # Home page component
โ”œโ”€โ”€ ๐Ÿ“ components/ # Reusable components
โ”‚ โ”œโ”€โ”€ ๐Ÿ“ ui/ # UI component library
โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ button.tsx # Button component
โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ card.tsx # Card component
โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“„ badge.tsx # Badge component
โ”‚ โ”œโ”€โ”€ ๐Ÿ“„ WalletConnect.tsx # Main wallet connection component
โ”‚ โ””โ”€โ”€ ๐Ÿ“„ Web3Provider.tsx # Web3 context provider
โ”œโ”€โ”€ ๐Ÿ“ lib/ # Utility functions
โ”‚ โ””โ”€โ”€ ๐Ÿ“„ utils.ts # Helper functions
โ”œโ”€โ”€ ๐Ÿ“ public/ # Static assets
โ”‚ โ””โ”€โ”€ ๐Ÿ“„ favicon.ico # Favicon
โ”œโ”€โ”€ ๐Ÿ“„ .env.example # Environment variables template
โ”œโ”€โ”€ ๐Ÿ“„ tailwind.config.js # Tailwind CSS configuration
โ”œโ”€โ”€ ๐Ÿ“„ tsconfig.json # TypeScript configuration
โ””โ”€โ”€ ๐Ÿ“„ package.json # Dependencies and scripts
๐ŸŽจ Design Features
Modern UI Components

Glassmorphism Effects - Semi-transparent cards with backdrop blur
Gradient Backgrounds - Beautiful blue to purple gradients
Smooth Animations - Loading states and hover effects
Responsive Grid - Adapts to all screen sizes

UX Enhancements

Smart Loading States - Visual feedback during connections
Toast Notifications - Success, error, and info messages
Address Formatting - Clean display of wallet addresses
One-click Copy - Easy address copying with feedback
Explorer Links - Direct links to blockchain explorers

๐Ÿ”ง Configuration
Environment Variables
Create a .env.local file with:
env# Required - Get from https://cloud.reown.com
NEXT_PUBLIC_PROJECT_ID=your_project_id_here

# Optional - Custom app metadata
NEXT_PUBLIC_APP_NAME="Web3 Wallet Connect"
NEXT_PUBLIC_APP_DESCRIPTION="Modern Web3 wallet connection interface"
NEXT_PUBLIC_APP_URL="https://your-domain.com"
Getting a Reown Project ID

Visit Reown Cloud
Create an account or sign in
Create a new project
Copy your Project ID
Add it to your .env.local file

Supported Networks
The app supports these networks out of the box:

โœ… Ethereum Mainnet
โœ… Polygon
โœ… Arbitrum
โœ… Base
โœ… Sepolia Testnet

Add more networks in components/Web3Provider.tsx:
typescriptimport { mainnet, polygon, arbitrum, base, sepolia, optimism } from '@reown/appkit/networks'

const networks = [mainnet, polygon, arbitrum, base, optimism, sepolia]
๐Ÿ“ฑ Mobile Support
Fully responsive design includes:

Touch-optimized buttons - Perfect for mobile interaction
Mobile wallet deep linking - Direct app connections
Responsive layouts - Adapts to all screen sizes
Mobile-first approach - Designed for mobile, enhanced for desktop

๐ŸŽจ Customization
Theme Colors
Customize the color scheme in your Tailwind config:
javascript// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
primary: {
500: '#3B82F6', // Blue
600: '#2563EB',
},
secondary: {
500: '#8B5CF6', // Purple
600: '#7C3AED',
}
}
}
}
}
AppKit Theme
Modify the Web3 modal appearance:
typescript// components/Web3Provider.tsx
createAppKit({
// ... other config
themeMode: 'light', // or 'dark'
themeVariables: {
'--w3m-color-mix': '#007AFF',
'--w3m-color-mix-strength': 20,
'--w3m-font-family': 'Inter, sans-serif'
}
})
๐Ÿงช Development Scripts
bash# Development server
npm run dev

# Type checking
npm run type-check

# Build for production
npm run build

# Start production server
npm run start

# Lint code
npm run lint

# Format code
npm run format
๐Ÿš€ Deployment
Vercel (Recommended)

Push your code to GitHub
Connect your repository to Vercel
Add your environment variables
Deploy! ๐Ÿš€

Other Platforms
The app works on any platform that supports Next.js:

Netlify
Railway
AWS Amplify
Digital Ocean App Platform

๐Ÿค Contributing
Contributions are welcome! Here's how you can help:
Getting Started

Fork the repository
Create a feature branch: git checkout -b feature/amazing-feature
Make your changes
Add tests if applicable
Commit: git commit -m 'Add amazing feature'
Push: git push origin feature/amazing-feature
Open a Pull Request

Development Guidelines

Follow the existing code style
Use TypeScript strictly
Add comments for complex logic
Test on multiple devices
Update documentation

๐Ÿ› Bug Reports
Found a bug? Please create an issue with:

Clear description of the problem
Steps to reproduce the issue
Expected vs actual behavior
Screenshots if applicable
Environment details (OS, browser, etc.)

๐Ÿ’ก Feature Requests
Have an idea? Open an issue with:

Clear description of the feature
Use case and motivation
Implementation ideas (optional)

๐Ÿ“Š Roadmap

Dark mode support
Multi-language support
Advanced wallet management
Transaction history
ENS name resolution
Wallet balance display
NFT collection viewer
DeFi protocol integration

๐Ÿ“„ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐Ÿ™ Acknowledgments
Special thanks to:

Reown - Excellent Web3 infrastructure
Wagmi - React hooks for Ethereum
Next.js - Amazing React framework
Tailwind CSS - Utility-first CSS framework
Vercel - Best deployment platform
Open Source Community - For making this possible

๐Ÿ’ฌ Community & Support

๐Ÿ“ง Email: moazamtech@example.com
๐Ÿ› Issues: GitHub Issues
๐Ÿ’ฌ Discussions: GitHub Discussions
๐Ÿฆ Twitter: @moazamtech

โญ Show Your Support
If this project helped you, please consider:

โญ Starring the repository
๐Ÿด Forking for your own projects
๐Ÿ“ข Sharing with the community
โ˜• Sponsoring the development


Built with โค๏ธ by MoazamTech
Making Web3 accessible to everyone
โฌ† Back to Top

```
๐Ÿ“„ Additional Files
.env.example
env# Reown Project ID (Required)
# Get yours at: https://cloud.reown.com
NEXT_PUBLIC_PROJECT_ID=your_project_id_here

# App Metadata (Optional)
NEXT_PUBLIC_APP_NAME="Web3 Wallet Connect"
NEXT_PUBLIC_APP_DESCRIPTION="Modern Web3 wallet connection interface"
NEXT_PUBLIC_APP_URL="https://your-domain.com"
NEXT_PUBLIC_APP_ICON="https://your-domain.com/icon.png"
LICENSE
MIT License

Copyright (c) 2025 MoazamTech

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
This README is comprehensive, professional, and highlights all the key technologies (Next.js, TypeScript, Tailwind CSS) prominently. The repository name web3-wallet-connect is perfect for SEO and clarity. The documentation covers everything from setup to deployment, making it easy for other developers to use and contribute to your project!