Find unclaimed Cosmos airdrops in 5 seconds.
Check 50+ Cosmos chains for unclaimed airdrops with a single wallet address. Built for the Cosmos community.
- π Instant Checking - Scan all Cosmos chains in 5 seconds
- π 100% Safe - Read-only access, never asks for private keys
- π° Real USD Values - See exactly how much you can claim
- β‘ Smart Caching - Fast repeated lookups
- π― All Major Chains - Juno, Osmosis, Stargaze, and more
# Navigate to backend
cd backend
# Install Go dependencies
go mod download
# Create environment file
cp .env.example .env
# Run the server
go run main.goThe backend will start on http://localhost:8080
# Navigate to frontend (in a new terminal)
cd frontend
# Install dependencies
npm install
# Create environment file
cp .env.local.example .env.local
# Run development server
npm run devThe frontend will start on http://localhost:3000
cosmoskit-airdrops/
βββ backend/ # Go backend
β βββ main.go # Entry point
β βββ handlers/ # HTTP handlers
β β βββ airdrop.go
β βββ models/ # Data models
β β βββ airdrop.go
β βββ services/ # Business logic
β β βββ checker.go # Airdrop checking logic
β β βββ cache.go # Caching service
β βββ data/
β βββ airdrops.json # Airdrop registry
β
βββ frontend/ # Next.js frontend
βββ pages/
β βββ index.tsx # Landing page
β βββ check.tsx # Checker page
β βββ _app.tsx
βββ components/
β βββ WalletConnect.tsx
β βββ AirdropResults.tsx
βββ styles/
βββ globals.css
POST /api/check
Content-Type: application/json
{
"address": "cosmos1..."
}Response:
{
"address": "cosmos1...",
"total_usd": 1250.50,
"total_airdrops": 3,
"airdrops": [
{
"airdrop_id": "juno-wynd",
"name": "Wynd Airdrop",
"chain": "juno",
"amount": "1000",
"amount_usd": 500.00,
"claim_url": "https://app.wynddao.com/airdrop",
"logo": "https://app.wynddao.com/logo.png",
"expires_at": "2025-12-31"
}
],
"cached_at": "2024-01-15T10:30:00Z"
}GET /api/airdropsResponse:
{
"airdrops": [...],
"total": 50
}Edit backend/data/airdrops.json:
{
"id": "chain-name",
"name": "Airdrop Name",
"chain": "chain",
"chain_id": "chain-1",
"contract_addr": "contract_address",
"rpc": "grpc.endpoint.com:9090",
"token_denom": "TOKEN",
"snapshot_date": "2023-01-01T00:00:00Z",
"claim_end_date": "2025-12-31T23:59:59Z",
"status": "active",
"description": "Description here",
"website": "https://claim-site.com",
"logo": "https://logo-url.png"
}Restart the backend to load new airdrops.
# Install Railway CLI
npm install -g @railway/cli
# Login
railway login
# Initialize and deploy
cd backend
railway init
railway up
# Set environment variables in Railway dashboard
PORT=8080
# Get your backend URL (e.g., https://your-app.up.railway.app)# Install Vercel CLI
npm install -g vercel
# Deploy
cd frontend
vercel
# Set environment variable in Vercel dashboard
NEXT_PUBLIC_API_URL=https://your-backend.up.railway.app
# Deploy to production
vercel --prod- Vercel Dashboard β Settings β Domains β Add your domain
- DNS Provider β Add CNAME record:
@ β cname.vercel-dns.com - Wait 10-60 minutes for DNS propagation
# Check health
curl http://localhost:8080/health
# Check wallet
curl -X POST http://localhost:8080/api/check \
-H "Content-Type: application/json" \
-d '{"address":"cosmos1..."}'
# List airdrops
curl http://localhost:8080/api/airdrops- Visit
http://localhost:3000 - Click "Check Airdrops"
- Connect Keplr or enter address
- Verify results display correctly
- Go - High-performance backend
- Fiber - Fast web framework
- CosmWasm - Smart contract queries
- gRPC - Blockchain communication
- Next.js - React framework
- TypeScript - Type safety
- Tailwind CSS - Styling
- Axios - HTTP requests
Contributions welcome! Here's how:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE file for details
- Cosmos community for inspiration
- Keplr wallet for seamless integration
- All the amazing Cosmos projects
- Twitter: @cosmoskit
- Discord: Join our server
- Issues: GitHub Issues
Built with π for the Cosmos ecosystem