Your minimal Web3 identity page - Inspired by Linktree and LinkedIn, powered by Base
A clean, one-page Web3 bio link that connects to your wallet and automatically lists your verified DApps, ENS name, Base profile, and NFT badges.
- π Wallet Connection - Connect via RainbowKit with support for all major wallets
- β ENS Integration - Displays your ENS name and avatar with verification badge
- π― Verified DApps - Automatically shows your verified Base interactions
- π¨ NFT Badges - Display your favorite NFTs as profile badges
- π΅ Spotify Embed - Add music to your profile page
- π Custom Links - Add all your social and Web3 profiles
- πΎ IPFS Ready - Profile data prepared for IPFS storage
- β‘ Powered by Base - Built on Base blockchain
- Frontend: Next.js 14 (App Router)
- Wallet: wagmi + RainbowKit
- Blockchain: Base (Alchemy SDK)
- Storage: IPFS via Web3.Storage
- ENS: ENS name & avatar resolution
- Styling: TailwindCSS + Framer Motion
- Typography: Inter & Satoshi fonts
- Deployment: Vercel
- Node.js 18+ installed
- A WalletConnect Project ID (Get one here)
- Alchemy API Key (Get one here)
- (Optional) Web3.Storage token for IPFS (Get one here)
-
Clone the repository
git clone https://github.com/yourusername/linko.git cd linko -
Install dependencies
npm install
-
Set up environment variables
copy .env.example .env.local
Edit
.env.localand add your API keys:NEXT_PUBLIC_ALCHEMY_API_KEY=your_alchemy_api_key NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=your_walletconnect_project_id NEXT_PUBLIC_WEB3_STORAGE_TOKEN=your_web3_storage_token
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
Linko uses a clean, LinkedIn-inspired design language:
- Primary Color:
#0A66C2(LinkedIn Blue) - Secondary:
#E6F0FA(Soft background) - Text:
#1A1A1A - Accent:
#4B9CE2(Hover states)
- Light mode first
- Center-aligned column layout
- Rounded link cards with subtle shadows
- Fade-in animations only (no flashy effects)
- Smooth hover lifts
Click "Connect Wallet" and select your preferred wallet (MetaMask, Coinbase Wallet, etc.)
- Click "Edit Profile" to customize your bio
- Add links with custom icons and titles
- Add your Spotify embed URL
- Save your changes
Once connected, Linko automatically:
- β Resolves your ENS name and avatar
- β Displays verified DApp interactions on Base
- β Loads your NFT collection as badges
Your Linko page is accessible at:
linko.xyz/{your-ens-name}(if you have ENS)linko.xyz/{wallet-address}(wallet short address)
{
title: "My Twitter",
url: "https://twitter.com/username",
icon: "π¦"
}- Go to Spotify and find your track/playlist
- Click Share β Embed track
- Copy the embed URL
- Paste it in your profile editor
Edit tailwind.config.ts to customize colors and fonts:
colors: {
primary: '#0A66C2',
secondary: '#E6F0FA',
text: '#1A1A1A',
accent: '#4B9CE2',
}linko/
βββ app/
β βββ page.tsx # Home page
β βββ layout.tsx # Root layout
β βββ providers.tsx # Web3 providers
β βββ globals.css # Global styles
βββ components/
β βββ ProfilePage.tsx # Main profile component
β βββ ProfileEditor.tsx # Profile editing form
β βββ LinkCard.tsx # Individual link card
β βββ SpotifyEmbed.tsx # Spotify player
β βββ VerifiedDApps.tsx # DApp verification
β βββ NFTBadges.tsx # NFT display
βββ public/ # Static assets
βββ README.md
- Push your code to GitHub
- Import your repo to Vercel
- Add environment variables in Vercel dashboard
- Deploy!
npm run buildContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
- Built with Base
- Powered by RainbowKit
- Icons from emoji
- Inspired by Linktree and LinkedIn
For support, please open an issue or reach out on Twitter.
Powered by Base β‘
Made with β€οΈ for the Web3 community