π Your intelligent AI assistant for seamless multi-chain Web3 interactions
Nexis is a cutting-edge AI-powered Web3 assistant that simplifies blockchain interactions across multiple networks. Using natural language processing, users can perform complex blockchain operations through simple conversational commands. Built with React, TypeScript, and powered by OpenAI's GPT-4, Nexis makes Web3 accessible to everyone.
Nexis leverages Civic Auth for secure, seamless Web3 authentication:
- π‘οΈ Secure Identity Verification - Industry-standard Web3 authentication
- β‘ Frictionless UX - One-click wallet connection with embedded wallet support
- π Privacy-First - No personal data storage, decentralized identity management
- π Universal Access - Works across all devices and browsers
- β¨ Smooth Integration - Embedded wallet code provides intuitive user experience
// App.tsx - Civic Auth Provider Setup
import { CivicAuthProvider } from "@civic/auth-web3/react";
const App = () => {
const civicAuthClientId = import.meta.env.VITE_CIVIC_AUTH_CLIENT_ID;
return (
<CivicAuthProvider clientId={civicAuthClientId}>
<QueryClientProvider client={queryClient}>
<TooltipProvider>
<BrowserRouter>
<AuthProvider>
<Routes>
<Route path="/" element={<Index />} />
<Route path="/dashboard" element={
<ProtectedRoute>
<Dashboard />
</ProtectedRoute>
} />
</Routes>
</AuthProvider>
</BrowserRouter>
</TooltipProvider>
</QueryClientProvider>
</CivicAuthProvider>
);
};// AuthContext.tsx - Civic Auth Integration
import { useUser } from '@civic/auth-web3/react';
export const AuthProvider = ({ children }: { children: ReactNode }) => {
const { user, signIn, signOut, isLoading } = useUser();
const navigate = useNavigate();
const isAuthenticated = !!user;
const handleSignIn = useCallback(async () => {
try {
await signIn();
// Auto-redirect to dashboard after authentication
} catch (error) {
console.error('Sign-in error:', error);
throw error;
}
}, [signIn]);
return (
<AuthContext.Provider value={{
user,
isAuthenticated,
isLoading,
signIn: handleSignIn,
signOut,
}}>
{children}
</AuthContext.Provider>
);
};// Navigation.tsx - One-Click Authentication
const handleGetStarted = async () => {
if (isAuthenticated) {
navigate('/dashboard');
} else {
try {
// Trigger full-page Civic Auth flow
await signIn();
// Navigation handled automatically by auth context
} catch (error) {
console.error('Authentication failed:', error);
alert('Authentication failed. Please try again.');
}
}
};- Go-to-Market Ready - Production-grade authentication system
- Real-World Problem Solving - Eliminates complex wallet setup barriers
- Creative Use Case - AI + Authentication for mass Web3 adoption
- Marketing Ready - User-friendly onboarding for mainstream audiences
| Network | Type | Currency | Status |
|---|---|---|---|
| π’ Monad Testnet | EVM | MONAD | β Active |
| π΅ Ethereum Sepolia | EVM | ETH | β Active |
| π‘ Base Sepolia | EVM | ETH | β Active |
| π£ Polygon Mumbai | EVM | MATIC | β Active |
| π΄ Arbitrum Sepolia | EVM | ETH | β Active |
| π Solana Devnet | Non-EVM | SOL | β Active |
- Natural Language Processing - Interact using plain English
- Smart Transaction Parsing - Auto-detects chains, amounts, and recipients
- Real-Time Price Data - Live token prices via CoinGecko API
- Gas Price Monitoring - Current gas prices across all EVM chains
- Cross-Chain Balance Tracking - Monitor assets across all networks
- Universal Token Transfers - Send tokens using natural language
- Transaction History - View recent transactions with explorer links
- Faucet Integration - Easy testnet token requests
# Connect wallets
setWallet <evmPrivateKey> <solanaPrivateKey>
# Get wallet addresses
getWalletAddress
# Disconnect all wallets
disconnectWallet# Check all balances
getAllBalances
# Smart transfers (natural language)
"Send 0.1 ETH to 0x123... on Base"
"Transfer 0.5 SOL to ABC123..."
# Get gas prices
getGasPrices# Token prices
getTokenPrices bitcoin,ethereum,solana
# Trending tokens
getTrendingTokens <chain># Get testnet tokens
getFaucetTokens ethereum,solana
# AI assistance
web3Question "How do I bridge tokens?"
# Help
help- Node.js 18+ or Bun
- Git
- Civic Auth Client ID
-
Clone the repository
git clone https://github.com/your-username/nexis.git cd nexis -
Install dependencies
npm install # or bun install -
Environment Setup
cp .env.example .env
Update
.envwith your credentials:VITE_CIVIC_AUTH_CLIENT_ID=your_civic_auth_client_id VITE_BACKEND_URL=https://nexis-zona.onrender.com
-
Start development server
npm run dev # or bun dev -
Open your browser Navigate to
http://localhost:8080
// Connect your wallets
"Set up my EVM and Solana wallets"
// Check balances
"What's my balance across all chains?"
// View wallet addresses
"Show me my wallet addresses"// Simple transfers
"Send 0.1 ETH to 0x742d35Cc6634C0532925a3b8D404fAbCe4649681 on Base"
// Cross-chain operations
"Transfer 1 MATIC to 0x123... on Polygon"
// Solana transfers
"Send 0.5 SOL to 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"// Get token prices
"What's the current price of ETH and SOL?"
// Gas prices
"Show me current gas prices"
// Get testnet tokens
"I need testnet ETH for Base Sepolia"nexis/
βββ src/
β βββ components/ # React components
β βββ contexts/ # Auth context
β βββ config/ # API configuration
β βββ pages/ # Main pages
β βββ hooks/ # Custom hooks
βββ api/
β βββ agent.ts # Multi-chain AI agent
βββ public/ # Static assets
βββ server/ # Backend server
- Visit Civic Auth Dashboard
- Create a new application
- Copy your Client ID to
.env
The backend is deployed on Render at https://nexis-zona.onrender.com
Required environment variables for backend:
OPENAI_API_KEY=your_openai_api_key
COINGECKO_API_KEY=your_coingecko_api_key (optional)- React 18.3.1 - UI framework
- TypeScript 5.8.3 - Type safety
- Vite 5.4.19 - Build tool
- Civic Auth - Web3 authentication
- Framer Motion - Animations
- Tailwind CSS - Styling
- LangChain - AI framework
- OpenAI GPT-4 - Language model
- Ethers.js - Ethereum interactions
- Solana Web3.js - Solana interactions
- Express.js - Web server
| Endpoint | Method | Description |
|---|---|---|
/agent |
POST | Main AI agent interaction |
/health |
GET | Service health check |
/chains |
GET | Supported chains info |
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
Nikhil Raikwar
- GitHub: @nikhilraikwar
- Email: raikwarnikhil80@gmail.com
- Civic for Web3 authentication
- OpenAI for GPT-4 integration
- LangChain for AI framework
- Base for blockchain infrastructure
- π§ Email: aelixai1@gmail.com
- π Issues: GitHub Issues
Made with β€οΈ by the Nexis team
π Website β’ π± GitHub β’ π¦ Twitter