Arion is a modern, production-ready SaaS platform featuring an AI-driven support chatbot for DeFi and Web3 applications. Powered by GPT-4o via AIML API and integrated with Privy wallet authentication, Arion provides intelligent, context-aware assistance for blockchain users.
- β¨ AI-Powered Chat: GPT-4o integration via AIML API for intelligent responses
- π Wallet Integration: Secure authentication with Privy (supports multiple wallets)
- π¬ Context-Aware: Personalized responses based on connected wallet
- π¨ Modern UI: Clean, responsive design with blue/purple gradient theme
- π Embeddable Widget: Easy-to-integrate chat widget for any Web3 site
- π± Fully Responsive: Optimized for desktop, tablet, and mobile
- β‘ Real-Time Chat: Instant message processing with conversation history
- π― DeFi Focused: Specialized knowledge in DeFi, tokens, and smart contracts
Arion/
βββ src/
β βββ app/
β β βββ page.tsx # Landing page with hero, features, FAQs
β β βββ chat/page.tsx # Full-page chat interface
β β βββ widget-demo/page.tsx # Widget demo & integration guide
β β βββ api/
β β βββ chat/route.ts # AIML API integration endpoint
β βββ components/
β β βββ Header.tsx # Navigation header with wallet connect
β β βββ ChatWidget.tsx # Embeddable chat widget
β β βββ Providers.tsx # Privy provider wrapper
β β βββ ui/ # shadcn/ui components
β βββ lib/
β βββ utils.ts # Utility functions
βββ .env # Environment variables
- Node.js 18+ or Bun
- AIML API Key (Get one here)
- Privy App ID
- Clone the repository
git clone <your-repo-url>
cd arion- Install dependencies
npm install
# or
bun install- Configure environment variables
Edit .env file and add your AIML API key:
# Already configured
NEXT_PUBLIC_PRIVY_APP_ID=PRIVY_APP_ID
# Add your AIML API key here
AIML_API_KEY=your_actual_aiml_api_key_here- Run development server
npm run dev
# or
bun devVisit http://localhost:3000 to see your app!
- Visit https://aimlapi.com
- Sign up for an account
- Navigate to API Keys section
- Generate a new API key
- Copy and paste into
.envfile
The app is already configured with a Privy App ID. If you want to use your own:
- Visit https://privy.io
- Create an account and new app
- Copy your App ID
- Update
NEXT_PUBLIC_PRIVY_APP_IDin.env
This template is designed for deployment on NodeOps Cloud Marketplace:
- Build Docker image
docker build -t arion .- Push to container registry
docker tag arion your-registry/arion:latest
docker push your-registry/arion:latest- Deploy on NodeOps
- Upload your
nodeops_template.yaml - Configure environment variables in NodeOps dashboard
- Deploy and start earning revenue share!
- Upload your
- Build for production
npm run build- Deploy to your platform
- Vercel:
vercel deploy - Netlify:
netlify deploy - Or use your preferred hosting
- Vercel:
The homepage features:
- Hero section with compelling headline and CTA
- Features showcase (4 key features)
- FAQ section with expandable accordions
- Footer with links and social media
Full-page chat interface with:
- Real-time AI responses powered by GPT-4o
- Wallet-aware context (when connected)
- Message history
- Quick action buttons for common queries
- Mobile-responsive design
Demo page showing the chat widget in action, plus:
- Integration code examples
- Configuration options
- Setup instructions
- Copy-to-clipboard functionality
The ChatWidget component accepts these props:
<ChatWidget
apiEndpoint="/api/chat" // Custom API endpoint
position="bottom-right" // "bottom-right" | "bottom-left"
primaryColor="#3b82f6" // Theme color
/>- Edit
src/app/globals.cssfor global styles - Components use Tailwind CSS classes
- Color scheme: Blue (#3b82f6) and Purple (#9333ea)
Modify the system prompt in src/app/api/chat/route.ts:
let systemPrompt = `You are Arion, an intelligent AI assistant...`;To add Arion to your existing Web3 app:
-
Copy files to your project
src/components/ChatWidget.tsxsrc/components/Providers.tsxsrc/app/api/chat/route.ts
-
Install dependencies
npm install @privy-io/react-auth openai- Wrap your app with Providers
// app/layout.tsx
import { Providers } from '@/components/Providers';
export default function RootLayout({ children }) {
return (
<html>
<body>
<Providers>
{children}
</Providers>
</body>
</html>
);
}- Add the widget
// Any page or layout
import { ChatWidget } from '@/components/ChatWidget';
export default function Page() {
return (
<>
{/* Your content */}
<ChatWidget />
</>
);
}- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui + Radix UI
- AI: OpenAI SDK with AIML API (GPT-4o)
- Wallet: Privy Authentication
- Icons: Lucide React
- Deployment: Docker + NodeOps
Chat completion endpoint.
Request Body:
{
"message": "What is DeFi?",
"walletAddress": "0x1234...", // optional
"conversationHistory": [] // optional
}Response:
{
"response": "DeFi stands for Decentralized Finance...",
"walletAddress": "0x1234..." // if provided
}Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the 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.
- NodeOps Documentation
- NodeOps GitHub Template
- AIML API Documentation
- Privy Documentation
- Next.js Documentation
For support and questions:
- GitHub Issues: Create an issue
- Twitter: @BuildOnNodeOps
- Documentation: NodeOps Docs
- Built with NodeOps template
- Powered by AIML API
- Wallet integration by Privy
- UI components from shadcn/ui
Built with β€οΈ by the Arion team. Ready to revolutionize Web3 support!