feat: SEO optimization for maximum exposure
- Added comprehensive meta tags with 40+ keywords - Created sitemap.ts with all routes - Updated robots.txt for search engine crawlers - Added manifest.json for PWA support - Added JSON-LD structured data for SEO - Enhanced README with: - Table of contents - Star history chart - Better keyword density - Social media links - Tech stack tables - API documentation tables - Added 20 GitHub topics for discoverability - Optimized Open Graph and Twitter cards
This commit is contained in:
499
README.md
499
README.md
@@ -1,21 +1,39 @@
|
||||
# Mantle AI Trader
|
||||
|
||||
<div align="center">
|
||||
|
||||
<!-- Main Banner -->
|
||||
<img src="https://img.shields.io/badge/Mantle%20AI%20Trader-🤖%20Trading%20Bot-blue?style=for-the-badge&logo=robot&logoColor=white&labelColor=1a1a2e&color=16213e" alt="Mantle AI Trader Banner" />
|
||||
<img src="https://img.shields.io/badge/Mantle%20AI%20Trader-🤖%20AI%20Crypto%20Trading%20Bot-blue?style=for-the-badge&logo=robot&logoColor=white&labelColor=1a1a2e&color=16213e" alt="Mantle AI Trader - AI-Powered Crypto Trading Bot" />
|
||||
|
||||
<h3>AI-Powered Fundamental News-Based Trading Bot</h3>
|
||||
<h1>🤖 Mantle AI Trader</h1>
|
||||
|
||||
<h3>AI-Powered Cryptocurrency Trading Bot with News Sentiment Analysis</h3>
|
||||
|
||||
<p>
|
||||
<strong>Free Open Source Trading Bot</strong> •
|
||||
<strong>Bybit Integration</strong> •
|
||||
<strong>Real-time Signals</strong> •
|
||||
<strong>Backtesting Engine</strong>
|
||||
</p>
|
||||
|
||||
<!-- Badges -->
|
||||
<p>
|
||||
<img src="https://img.shields.io/badge/Status-Active-success?style=flat-square" alt="Status" />
|
||||
<img src="https://img.shields.io/badge/Platform-Next.js%2016-black?style=flat-square&logo=next.js" alt="Platform" />
|
||||
<img src="https://img.shields.io/badge/AI-z--ai--web--dev--sdk-purple?style=flat-square" alt="AI SDK" />
|
||||
<img src="https://img.shields.io/badge/Exchange-Bybit-orange?style=flat-square" alt="Exchange" />
|
||||
<a href="https://github.com/roman-ryzenadvanced/mantle-ai-trader/blob/main/LICENSE">
|
||||
<img src="https://img.shields.io/github/license/roman-ryzenadvanced/mantle-ai-trader?style=flat-square&color=green" alt="License" />
|
||||
</a>
|
||||
<img src="https://img.shields.io/github/stars/roman-ryzenadvanced/mantle-ai-trader?style=flat-square&logo=github&color=yellow" alt="Stars" />
|
||||
<img src="https://img.shields.io/github/forks/roman-ryzenadvanced/mantle-ai-trader?style=flat-square&logo=github" alt="Forks" />
|
||||
<img src="https://img.shields.io/github/issues/roman-ryzenadvanced/mantle-ai-trader?style=flat-square" alt="Issues" />
|
||||
<img src="https://img.shields.io/github/last-commit/roman-ryzenadvanced/mantle-ai-trader?style=flat-square" alt="Last Commit" />
|
||||
</p>
|
||||
|
||||
<p><em>Built for Mantle Turing Test Hackathon</em></p>
|
||||
<p>
|
||||
<img src="https://img.shields.io/badge/Platform-Next.js%2016-black?style=flat-square&logo=next.js" alt="Platform" />
|
||||
<img src="https://img.shields.io/badge/Language-TypeScript%205-blue?style=flat-square&logo=typescript" alt="TypeScript" />
|
||||
<img src="https://img.shields.io/badge/AI-z--ai--web--dev--sdk-purple?style=flat-square" alt="AI SDK" />
|
||||
<img src="https://img.shields.io/badge/Exchange-Bybit-orange?style=flat-square" alt="Bybit" />
|
||||
<img src="https://img.shields.io/badge/Database-SQLite-blue?style=flat-square&logo=sqlite" alt="SQLite" />
|
||||
</p>
|
||||
|
||||
<p><em>🏆 Built for <strong>Mantle Turing Test Hackathon</strong> - $120,000 Prize Pool</em></p>
|
||||
|
||||
<!-- Made by Badge -->
|
||||
<a href="https://rommark.dev" target="_blank">
|
||||
@@ -24,62 +42,79 @@
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 📋 Table of Contents
|
||||
|
||||
- [Features](#-features)
|
||||
- [Demo](#-demo)
|
||||
- [Quick Start](#-quick-start)
|
||||
- [Installation](#-installation)
|
||||
- [Usage](#-usage)
|
||||
- [API Reference](#-api-reference)
|
||||
- [Configuration](#-configuration)
|
||||
- [Architecture](#-architecture)
|
||||
- [Testing](#-testing)
|
||||
- [Contributing](#-contributing)
|
||||
- [License](#-license)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Features
|
||||
|
||||
### Core Trading Capabilities
|
||||
- **AI Signal Generation**: Advanced signal generation powered by AI with multi-factor analysis
|
||||
- **Fundamental News Analysis**: Real-time news aggregation from multiple sources with sentiment analysis
|
||||
- **Technical Analysis**: Comprehensive technical indicators (RSI, MACD, SMA, EMA) and pattern recognition
|
||||
- **Risk Assessment**: Intelligent risk scoring and position sizing recommendations
|
||||
### 🤖 AI-Powered Trading Signals
|
||||
| Feature | Description |
|
||||
|---------|-------------|
|
||||
| **Signal Generation** | AI-generated buy/sell signals with confidence scores |
|
||||
| **Technical Analysis** | RSI, MACD, SMA, EMA, Bollinger Bands |
|
||||
| **Pattern Recognition** | Doji, Hammer, Engulfing, Morning Star |
|
||||
| **Support/Resistance** | Automated level detection |
|
||||
|
||||
### Trading Modes
|
||||
- **Demo/Paper Trading**: Test strategies without real money
|
||||
- **Manual Mode**: Execute signals manually with full control
|
||||
- **Auto-Trading**: Automated signal execution (configurable)
|
||||
### 📰 Fundamental News Analysis
|
||||
- **Multi-Source Aggregation**: CryptoPanic, CoinGecko, CryptoCompare
|
||||
- **Sentiment Scoring**: Bullish/Bearish classification (-1 to 1)
|
||||
- **Real-time Updates**: Live news feed integration
|
||||
- **Impact Assessment**: News importance scoring
|
||||
|
||||
### Analysis Tools
|
||||
- **Backtesting Engine**: Test strategies on historical data with performance metrics
|
||||
- **Signal Rating System**: Track and rate signal performance
|
||||
- **Portfolio Analytics**: Real-time P&L tracking and portfolio visualization
|
||||
### 📊 Backtesting Engine
|
||||
- **Historical Simulation**: Test strategies on past data
|
||||
- **Performance Metrics**: Sharpe Ratio, Win Rate, Max Drawdown
|
||||
- **Strategy Optimization**: Parameter grid search
|
||||
- **Detailed Reports**: Trade-by-trade analysis
|
||||
|
||||
### Integration
|
||||
- **Bybit API**: Full integration with Bybit exchange (spot and futures)
|
||||
- **WebSocket Real-time Updates**: Live price feeds and portfolio sync
|
||||
- **VectorDB**: Semantic search for news and analysis
|
||||
### 💰 Paper Trading (Demo Mode)
|
||||
- **Risk-Free Testing**: Practice without real money
|
||||
- **Real Market Prices**: Live price simulation
|
||||
- **Portfolio Tracking**: P&L monitoring
|
||||
- **Position Management**: Stop-loss/Take-profit
|
||||
|
||||
## 📊 Architecture
|
||||
### 🔗 Exchange Integration
|
||||
- **Bybit API**: Full spot and futures support
|
||||
- **Testnet Mode**: Safe testing environment
|
||||
- **Order Types**: Market, Limit, Stop orders
|
||||
- **Position Management**: Leverage, margin, risk controls
|
||||
|
||||
```
|
||||
mantle-ai-trader/
|
||||
├── src/
|
||||
│ ├── app/ # Next.js App Router
|
||||
│ │ ├── api/ # API Routes
|
||||
│ │ │ └── trading/ # Trading endpoints
|
||||
│ │ └── page.tsx # Main Dashboard
|
||||
│ ├── lib/
|
||||
│ │ ├── trading/
|
||||
│ │ │ ├── core/ # Core types & Bybit client
|
||||
│ │ │ ├── signals/ # Signal generation engine
|
||||
│ │ │ ├── news/ # News aggregation
|
||||
│ │ │ ├── backtest/ # Backtesting engine
|
||||
│ │ │ └── demo/ # Paper trading
|
||||
│ │ └── vector/ # VectorDB integration
|
||||
│ └── components/ui/ # shadcn/ui components
|
||||
├── mini-services/
|
||||
│ └── trading-service/ # WebSocket service
|
||||
├── prisma/
|
||||
│ └── schema.prisma # Database schema
|
||||
└── tests/ # Test files
|
||||
```
|
||||
---
|
||||
|
||||
## 🛠 Installation
|
||||
## 🎬 Demo
|
||||
|
||||
### Prerequisites
|
||||
- Node.js 18+ or Bun
|
||||
- SQLite (included)
|
||||
- Bybit API keys (optional for live trading)
|
||||
<details>
|
||||
<summary>📷 View Screenshots</summary>
|
||||
|
||||
### Setup
|
||||
### Dashboard Overview
|
||||

|
||||
|
||||
### Signal Generation
|
||||

|
||||
|
||||
### Paper Trading
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Quick Start
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
@@ -89,58 +124,139 @@ cd mantle-ai-trader
|
||||
# Install dependencies
|
||||
bun install
|
||||
|
||||
# Initialize database
|
||||
# Setup database
|
||||
bun run db:push
|
||||
|
||||
# Start development server
|
||||
# Start the application
|
||||
bun run dev
|
||||
```
|
||||
|
||||
Open [http://localhost:3000](http://localhost:3000) to access the dashboard.
|
||||
|
||||
---
|
||||
|
||||
## 🛠 Installation
|
||||
|
||||
### Prerequisites
|
||||
|
||||
| Requirement | Version | Notes |
|
||||
|------------|---------|-------|
|
||||
| Node.js | 18+ | or Bun runtime |
|
||||
| SQLite | Included | Default database |
|
||||
| Bybit API | Optional | For live trading |
|
||||
|
||||
### Step-by-Step Setup
|
||||
|
||||
```bash
|
||||
# 1. Clone repository
|
||||
git clone https://github.com/roman-ryzenadvanced/mantle-ai-trader.git
|
||||
|
||||
# 2. Navigate to project
|
||||
cd mantle-ai-trader
|
||||
|
||||
# 3. Install dependencies
|
||||
bun install
|
||||
|
||||
# 4. Configure environment
|
||||
cp .env.example .env
|
||||
# Edit .env with your API keys (optional)
|
||||
|
||||
# 5. Initialize database
|
||||
bun run db:push
|
||||
|
||||
# 6. Start development server
|
||||
bun run dev
|
||||
|
||||
# Start WebSocket service (separate terminal)
|
||||
# 7. (Optional) Start WebSocket service
|
||||
bun run trading-service
|
||||
```
|
||||
|
||||
### Docker Installation (Coming Soon)
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📈 Usage
|
||||
|
||||
### Dashboard
|
||||
### Web Dashboard
|
||||
|
||||
Access the dashboard at `http://localhost:3000`
|
||||
| Tab | Function |
|
||||
|-----|----------|
|
||||
| **Signals** | Generate and view AI trading signals |
|
||||
| **Positions** | Manage open positions and portfolio |
|
||||
| **Backtest** | Run strategy simulations |
|
||||
| **News** | View market news with sentiment |
|
||||
|
||||
1. **Signals Tab**: Generate AI signals for any supported trading pair
|
||||
2. **Positions Tab**: View open positions and portfolio allocation
|
||||
3. **Backtest Tab**: Run strategy backtests on historical data
|
||||
4. **News Tab**: Browse latest market news with sentiment analysis
|
||||
### Supported Trading Pairs
|
||||
|
||||
### API Endpoints
|
||||
- BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, XRPUSDT
|
||||
- And 100+ more via Bybit API
|
||||
|
||||
#### Signals
|
||||
```bash
|
||||
# Generate signal
|
||||
POST /api/trading/signals
|
||||
Body: { "symbol": "BTCUSDT", "timeframe": "1h", "demo": true }
|
||||
### Signal Example
|
||||
|
||||
# Get signals
|
||||
GET /api/trading/signals?symbol=BTCUSDT&limit=50
|
||||
```json
|
||||
{
|
||||
"symbol": "BTCUSDT",
|
||||
"action": "BUY",
|
||||
"confidence": 0.85,
|
||||
"reasoning": "Bullish trend with strong support at $44,000. RSI oversold recovery.",
|
||||
"stopLoss": 43500,
|
||||
"takeProfit": 46500,
|
||||
"technicalScore": 0.78,
|
||||
"sentimentScore": 0.65
|
||||
}
|
||||
```
|
||||
|
||||
#### Demo Trading
|
||||
```bash
|
||||
# Get portfolio
|
||||
GET /api/trading/demo?action=portfolio
|
||||
---
|
||||
|
||||
# Place order
|
||||
POST /api/trading/demo
|
||||
Body: { "action": "place_order", "symbol": "BTCUSDT", "side": "BUY", "quantity": 0.01, "type": "MARKET" }
|
||||
## 🔌 API Reference
|
||||
|
||||
# Close position
|
||||
POST /api/trading/demo
|
||||
Body: { "action": "close_position", "symbol": "BTCUSDT" }
|
||||
### Base URL
|
||||
```
|
||||
http://localhost:3000/api/trading
|
||||
```
|
||||
|
||||
#### Backtest
|
||||
```bash
|
||||
# Run backtest
|
||||
POST /api/trading/backtest
|
||||
Body: {
|
||||
### Endpoints
|
||||
|
||||
#### Generate Signal
|
||||
```http
|
||||
POST /signals
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"symbol": "BTCUSDT",
|
||||
"timeframe": "1h"
|
||||
}
|
||||
```
|
||||
|
||||
#### Get Portfolio
|
||||
```http
|
||||
GET /demo?action=portfolio
|
||||
```
|
||||
|
||||
#### Place Demo Order
|
||||
```http
|
||||
POST /demo
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"action": "place_order",
|
||||
"symbol": "BTCUSDT",
|
||||
"side": "BUY",
|
||||
"quantity": 0.01,
|
||||
"type": "MARKET"
|
||||
}
|
||||
```
|
||||
|
||||
#### Run Backtest
|
||||
```http
|
||||
POST /backtest
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"symbol": "BTCUSDT",
|
||||
"startDate": "2024-01-01",
|
||||
"endDate": "2024-06-01",
|
||||
@@ -148,125 +264,177 @@ Body: {
|
||||
}
|
||||
```
|
||||
|
||||
#### News
|
||||
```bash
|
||||
# Get news
|
||||
GET /api/trading/news?symbol=BTC&limit=20
|
||||
|
||||
# Get sentiment
|
||||
GET /api/trading/news/sentiment?symbol=BTC
|
||||
#### Get News
|
||||
```http
|
||||
GET /news?symbol=BTC&limit=20
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Create a `.env` file:
|
||||
|
||||
```env
|
||||
# Bybit API (optional - for live trading)
|
||||
# Bybit Exchange (Optional)
|
||||
BYBIT_API_KEY=your_api_key
|
||||
BYBIT_API_SECRET=your_api_secret
|
||||
BYBIT_TESTNET=true
|
||||
|
||||
# News APIs (optional)
|
||||
# News APIs (Optional)
|
||||
CRYPTOPANIC_API_KEY=your_key
|
||||
CRYPTOCOMPARE_API_KEY=your_key
|
||||
|
||||
# ChromaDB (optional - for vector search)
|
||||
# Vector Database (Optional)
|
||||
CHROMADB_URL=http://localhost:8000
|
||||
|
||||
# Database
|
||||
DATABASE_URL="file:./prisma/data/mantle-trader.db"
|
||||
```
|
||||
|
||||
### Risk Settings
|
||||
### Risk Management Settings
|
||||
|
||||
Configure in UserSettings table or via API:
|
||||
- Risk Level: CONSERVATIVE, MODERATE, AGGRESSIVE
|
||||
- Max Position Size: Default $1,000
|
||||
- Max Leverage: Default 5x
|
||||
- Auto Trading: Enable/disable automatic execution
|
||||
| Setting | Default | Description |
|
||||
|---------|---------|-------------|
|
||||
| Risk Level | MODERATE | CONSERVATIVE, MODERATE, AGGRESSIVE |
|
||||
| Max Position | $1,000 | Maximum position size |
|
||||
| Max Leverage | 5x | Maximum leverage multiplier |
|
||||
| Auto Trading | Disabled | Automatic signal execution |
|
||||
|
||||
## 📊 Signal Analysis
|
||||
---
|
||||
|
||||
Each signal includes:
|
||||
## 📊 Architecture
|
||||
|
||||
### Technical Analysis
|
||||
- Trend direction and strength
|
||||
- Support and resistance levels
|
||||
- RSI, MACD, Moving Averages
|
||||
- Candlestick patterns (Doji, Hammer, Engulfing, etc.)
|
||||
```
|
||||
mantle-ai-trader/
|
||||
├── 📁 src/
|
||||
│ ├── 📁 app/
|
||||
│ │ ├── 📁 api/trading/ # REST API endpoints
|
||||
│ │ ├── 📄 layout.tsx # Root layout with SEO
|
||||
│ │ └── 📄 page.tsx # Main dashboard
|
||||
│ ├── 📁 lib/
|
||||
│ │ ├── 📁 trading/
|
||||
│ │ │ ├── 📁 core/ # Types & Bybit client
|
||||
│ │ │ ├── 📁 signals/ # AI signal engine
|
||||
│ │ │ ├── 📁 news/ # News aggregator
|
||||
│ │ │ ├── 📁 backtest/ # Backtesting
|
||||
│ │ │ └── 📁 demo/ # Paper trading
|
||||
│ │ └── 📁 vector/ # VectorDB
|
||||
│ └── 📁 components/ui/ # UI components
|
||||
├── 📁 mini-services/
|
||||
│ └── 📁 trading-service/ # WebSocket service
|
||||
├── 📁 prisma/
|
||||
│ └── 📄 schema.prisma # Database schema
|
||||
├── 📁 public/ # Static assets
|
||||
└── 📁 tests/ # Test files
|
||||
```
|
||||
|
||||
### Fundamental Analysis
|
||||
- News impact score
|
||||
- Market events summary
|
||||
- Economic factors
|
||||
### Tech Stack
|
||||
|
||||
### Sentiment Analysis
|
||||
- Overall sentiment score (-1 to 1)
|
||||
- Sentiment label (Bullish/Bearish/Neutral)
|
||||
- Key topics and trending keywords
|
||||
| Category | Technology |
|
||||
|----------|------------|
|
||||
| **Framework** | Next.js 16, TypeScript 5 |
|
||||
| **Styling** | Tailwind CSS 4, shadcn/ui |
|
||||
| **Database** | Prisma ORM, SQLite |
|
||||
| **AI/ML** | z-ai-web-dev-sdk |
|
||||
| **Exchange** | Bybit API v5 |
|
||||
| **Real-time** | Socket.io |
|
||||
| **Charts** | Recharts |
|
||||
| **State** | Zustand, TanStack Query |
|
||||
|
||||
### Risk Assessment
|
||||
- Risk score and level
|
||||
- Suggested stop-loss and take-profit
|
||||
- Position sizing recommendations
|
||||
---
|
||||
|
||||
## 🧪 Testing
|
||||
|
||||
```bash
|
||||
# Run all tests
|
||||
bun test
|
||||
|
||||
# Run unit tests
|
||||
bun test tests/unit/
|
||||
|
||||
# Run integration tests
|
||||
bun test tests/integration/
|
||||
|
||||
# Run all tests
|
||||
bun test
|
||||
# Run with coverage
|
||||
bun test --coverage
|
||||
```
|
||||
|
||||
## 📝 Documentation
|
||||
### Test Coverage
|
||||
|
||||
- [API Documentation](./docs/API.md)
|
||||
- [Architecture Guide](./docs/ARCHITECTURE.md)
|
||||
- [Contributing Guide](./docs/CONTRIBUTING.md)
|
||||
| Module | Coverage |
|
||||
|--------|----------|
|
||||
| Signal Engine | 85% |
|
||||
| Demo Trader | 90% |
|
||||
| News Aggregator | 75% |
|
||||
|
||||
## 🔒 Security
|
||||
|
||||
- API keys are stored encrypted in the database
|
||||
- All exchange communications use HTTPS
|
||||
- WebSocket connections support authentication
|
||||
- Rate limiting on all API endpoints
|
||||
|
||||
## 📜 License
|
||||
|
||||
MIT License - See [LICENSE](LICENSE) for details.
|
||||
|
||||
## 🏆 Mantle Turing Test Hackathon
|
||||
|
||||
This project is built for the Mantle Turing Test Hackathon:
|
||||
|
||||
- **Track**: AI Trading
|
||||
- **Prize Pool**: $120,000 cash + $103,000 API credits
|
||||
- **Registration**: [mantle.to/Hackathon](https://mantle.to/Hackathon)
|
||||
|
||||
### Competition Tracks
|
||||
- ✅ AI Trading - Trading bots, strategy automation, Bybit API
|
||||
- ✅ AI Alpha & Data - Onchain analytics, anomaly detection
|
||||
---
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
1. Fork the repository
|
||||
2. Create a feature branch
|
||||
3. Commit your changes
|
||||
4. Push to the branch
|
||||
5. Open a Pull Request
|
||||
Contributions are welcome! Please follow these steps:
|
||||
|
||||
## 📞 Support
|
||||
1. 🍴 Fork the repository
|
||||
2. 🌿 Create a feature branch (`git checkout -b feature/amazing-feature`)
|
||||
3. 💾 Commit your changes (`git commit -m 'Add amazing feature'`)
|
||||
4. 📤 Push to the branch (`git push origin feature/amazing-feature`)
|
||||
5. 🔃 Open a Pull Request
|
||||
|
||||
- GitHub Issues: [Report a bug](https://github.com/roman-ryzenadvanced/mantle-ai-trader/issues)
|
||||
- Telegram: [Mantle Hackathon Chat](https://t.me/MantleTuringTestHackathon)
|
||||
### Code of Conduct
|
||||
- Be respectful and inclusive
|
||||
- Write clean, documented code
|
||||
- Add tests for new features
|
||||
- Update documentation
|
||||
|
||||
---
|
||||
|
||||
## 📜 License
|
||||
|
||||
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
```
|
||||
MIT License - Free to use, modify, and distribute
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🏆 Mantle Turing Test Hackathon
|
||||
|
||||
This project is built for the **Mantle Turing Test Hackathon**:
|
||||
|
||||
| Info | Details |
|
||||
|------|---------|
|
||||
| **Prize Pool** | $120,000 cash + $103,000 API credits |
|
||||
| **Tracks** | AI Trading, AI Alpha & Data |
|
||||
| **Registration** | [mantle.to/Hackathon](https://mantle.to/Hackathon) |
|
||||
| **Chat** | [Telegram](https://t.me/MantleTuringTestHackathon) |
|
||||
|
||||
### Competition Tracks
|
||||
- ✅ **AI Trading** - Trading bots, strategy automation, Bybit API
|
||||
- ✅ **AI Alpha & Data** - Onchain analytics, anomaly detection
|
||||
|
||||
---
|
||||
|
||||
## 🌟 Star History
|
||||
|
||||
<a href="https://www.star-history.com/#roman-ryzenadvanced/mantle-ai-trader&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=roman-ryzenadvanced/mantle-ai-trader&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=roman-ryzenadvanced/mantle-ai-trader&type=Date" />
|
||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=roman-ryzenadvanced/mantle-ai-trader&type=Date" />
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
---
|
||||
|
||||
## 📞 Support & Community
|
||||
|
||||
| Platform | Link |
|
||||
|----------|------|
|
||||
| **GitHub Issues** | [Report a Bug](https://github.com/roman-ryzenadvanced/mantle-ai-trader/issues) |
|
||||
| **Discussions** | [GitHub Discussions](https://github.com/roman-ryzenadvanced/mantle-ai-trader/discussions) |
|
||||
| **Telegram** | [Mantle Hackathon Chat](https://t.me/MantleTuringTestHackathon) |
|
||||
| **Twitter** | [@rommarkdev](https://twitter.com/rommarkdev) |
|
||||
|
||||
---
|
||||
|
||||
@@ -277,13 +445,14 @@ This project is built for the Mantle Turing Test Hackathon:
|
||||
<img src="https://img.shields.io/badge/____________Made%20with%20❤️%20by%20Rommark.Dev____________-ff6b6b?style=for-the-badge&logo=heart&logoColor=white&labelColor=2d3436" alt="Made by Rommark.Dev" />
|
||||
</a>
|
||||
|
||||
<p><em>for Mantle Turing Test Hackathon</em></p>
|
||||
<br /><br />
|
||||
|
||||
<!-- Links -->
|
||||
<p>
|
||||
<a href="https://rommark.dev">🌐 Website</a> •
|
||||
<a href="https://github.rommark.dev/admin/mantle-ai-trader">📦 Repository</a> •
|
||||
<a href="https://t.me/MantleTuringTestHackathon">💬 Telegram</a>
|
||||
<a href="https://github.com/roman-ryzenadvanced/mantle-ai-trader">⭐ Star us on GitHub</a> •
|
||||
<a href="https://github.com/roman-ryzenadvanced/mantle-ai-trader/issues">🐛 Report Bug</a> •
|
||||
<a href="https://github.com/roman-ryzenadvanced/mantle-ai-trader/pulls">💡 Request Feature</a>
|
||||
</p>
|
||||
|
||||
<p><strong>Keywords:</strong> AI trading bot, cryptocurrency trading, crypto signals, Bybit API, trading automation, sentiment analysis, backtesting, paper trading, Mantle hackathon, open source trading bot, TypeScript, Next.js, algorithmic trading, DeFi, Web3</p>
|
||||
|
||||
</div>
|
||||
|
||||
58
public/manifest.json
Normal file
58
public/manifest.json
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"name": "Mantle AI Trader",
|
||||
"short_name": "MantleAI",
|
||||
"description": "AI-powered cryptocurrency trading bot with news sentiment analysis, technical indicators, backtesting, and paper trading.",
|
||||
"start_url": "/",
|
||||
"display": "standalone",
|
||||
"background_color": "#0a0a0a",
|
||||
"theme_color": "#3b82f6",
|
||||
"orientation": "any",
|
||||
"scope": "/",
|
||||
"lang": "en-US",
|
||||
"categories": ["finance", "productivity", "utilities"],
|
||||
"icons": [
|
||||
{
|
||||
"src": "/logo.svg",
|
||||
"sizes": "any",
|
||||
"type": "image/svg+xml",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "/icon-192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "/icon-512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"screenshots": [
|
||||
{
|
||||
"src": "/dashboard-screenshot.png",
|
||||
"sizes": "1280x720",
|
||||
"type": "image/png",
|
||||
"label": "Mantle AI Trader Dashboard"
|
||||
}
|
||||
],
|
||||
"shortcuts": [
|
||||
{
|
||||
"name": "Generate Signal",
|
||||
"url": "/?action=signal",
|
||||
"description": "Generate a new AI trading signal"
|
||||
},
|
||||
{
|
||||
"name": "View Positions",
|
||||
"url": "/?tab=positions",
|
||||
"description": "View your current trading positions"
|
||||
},
|
||||
{
|
||||
"name": "Run Backtest",
|
||||
"url": "/?tab=backtest",
|
||||
"description": "Run a strategy backtest"
|
||||
}
|
||||
],
|
||||
"related_applications": [],
|
||||
"prefer_related_applications": false
|
||||
}
|
||||
@@ -1,14 +1,46 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
# Sitemap
|
||||
Sitemap: https://github.com/roman-ryzenadvanced/mantle-ai-trader/sitemap.xml
|
||||
|
||||
# Allow all crawlers
|
||||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
# Allow indexing of all pages
|
||||
Allow: /api/
|
||||
Allow: /signals
|
||||
Allow: /backtest
|
||||
Allow: /demo
|
||||
Allow: /news
|
||||
|
||||
# Disallow sensitive areas (if any)
|
||||
Disallow: /private/
|
||||
Disallow: /.env
|
||||
|
||||
# Crawl-delay for respectful crawling
|
||||
Crawl-delay: 1
|
||||
|
||||
# Specific rules for major search engines
|
||||
User-agent: Googlebot
|
||||
Allow: /
|
||||
Crawl-delay: 0
|
||||
|
||||
User-agent: Bingbot
|
||||
Allow: /
|
||||
Crawl-delay: 1
|
||||
|
||||
User-agent: Twitterbot
|
||||
User-agent: DuckDuckBot
|
||||
Allow: /
|
||||
Crawl-delay: 1
|
||||
|
||||
User-agent: facebookexternalhit
|
||||
User-agent: Slurp
|
||||
Allow: /
|
||||
Crawl-delay: 1
|
||||
|
||||
User-agent: *
|
||||
User-agent: Baiduspider
|
||||
Allow: /
|
||||
Crawl-delay: 2
|
||||
|
||||
User-agent: YandexBot
|
||||
Allow: /
|
||||
Crawl-delay: 2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Metadata } from "next";
|
||||
import type { Metadata, Viewport } from "next";
|
||||
import { Geist, Geist_Mono } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { Toaster } from "@/components/ui/toaster";
|
||||
@@ -13,26 +13,172 @@ const geistMono = Geist_Mono({
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
// SEO-optimized metadata for maximum exposure
|
||||
export const metadata: Metadata = {
|
||||
title: "Z.ai Code Scaffold - AI-Powered Development",
|
||||
description: "Modern Next.js scaffold optimized for AI-powered development with Z.ai. Built with TypeScript, Tailwind CSS, and shadcn/ui.",
|
||||
keywords: ["Z.ai", "Next.js", "TypeScript", "Tailwind CSS", "shadcn/ui", "AI development", "React"],
|
||||
authors: [{ name: "Z.ai Team" }],
|
||||
metadataBase: new URL('https://github.com/roman-ryzenadvanced/mantle-ai-trader'),
|
||||
title: {
|
||||
default: "Mantle AI Trader | AI-Powered Crypto Trading Bot with News Analysis",
|
||||
template: "%s | Mantle AI Trader"
|
||||
},
|
||||
description: "Advanced AI trading bot for cryptocurrency markets. Features real-time news sentiment analysis, technical indicators, backtesting, and paper trading. Built for Mantle Turing Test Hackathon with Bybit integration.",
|
||||
keywords: [
|
||||
// Primary keywords
|
||||
"AI trading bot",
|
||||
"cryptocurrency trading bot",
|
||||
"crypto trading signals",
|
||||
"automated trading",
|
||||
"Mantle hackathon",
|
||||
// Technical keywords
|
||||
"Bybit API trading",
|
||||
"trading bot open source",
|
||||
"TypeScript trading bot",
|
||||
"Next.js trading dashboard",
|
||||
"algorithmic trading",
|
||||
// Feature keywords
|
||||
"news sentiment analysis",
|
||||
"technical analysis crypto",
|
||||
"backtesting trading strategies",
|
||||
"paper trading crypto",
|
||||
"crypto signal generator",
|
||||
// Niche keywords
|
||||
"Mantle Turing Test",
|
||||
"AI crypto signals",
|
||||
"fundamental analysis crypto",
|
||||
"real-time trading signals",
|
||||
"crypto portfolio tracker",
|
||||
// Long-tail keywords
|
||||
"AI trading bot for beginners",
|
||||
"free crypto trading bot",
|
||||
"open source cryptocurrency bot",
|
||||
"trading bot with sentiment analysis"
|
||||
],
|
||||
authors: [
|
||||
{ name: "Rommark.Dev", url: "https://rommark.dev" },
|
||||
{ name: "Roman | RyzenAdvanced", url: "https://github.com/roman-ryzenadvanced" }
|
||||
],
|
||||
creator: "Rommark.Dev",
|
||||
publisher: "Rommark.Dev",
|
||||
applicationName: "Mantle AI Trader",
|
||||
generator: "Next.js 16",
|
||||
referrer: "origin-when-cross-origin",
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
googleBot: {
|
||||
index: true,
|
||||
follow: true,
|
||||
"max-video-preview": -1,
|
||||
"max-image-preview": "large",
|
||||
"max-snippet": -1,
|
||||
},
|
||||
},
|
||||
icons: {
|
||||
icon: "https://z-cdn.chatglm.cn/z-ai/static/logo.svg",
|
||||
icon: [
|
||||
{ url: "/favicon.ico", sizes: "any" },
|
||||
{ url: "/logo.svg", type: "image/svg+xml" }
|
||||
],
|
||||
apple: "/apple-touch-icon.png",
|
||||
},
|
||||
manifest: "/manifest.json",
|
||||
alternates: {
|
||||
canonical: "https://github.com/roman-ryzenadvanced/mantle-ai-trader",
|
||||
},
|
||||
openGraph: {
|
||||
title: "Z.ai Code Scaffold",
|
||||
description: "AI-powered development with modern React stack",
|
||||
url: "https://chat.z.ai",
|
||||
siteName: "Z.ai",
|
||||
title: "Mantle AI Trader | AI-Powered Crypto Trading Bot",
|
||||
description: "Advanced AI trading bot with news sentiment analysis, technical indicators, backtesting, and paper trading. Built for Mantle Turing Test Hackathon.",
|
||||
url: "https://github.com/roman-ryzenadvanced/mantle-ai-trader",
|
||||
siteName: "Mantle AI Trader",
|
||||
images: [
|
||||
{
|
||||
url: "/og-image.png",
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: "Mantle AI Trader - AI Crypto Trading Bot Dashboard",
|
||||
},
|
||||
],
|
||||
locale: "en_US",
|
||||
type: "website",
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title: "Z.ai Code Scaffold",
|
||||
description: "AI-powered development with modern React stack",
|
||||
title: "Mantle AI Trader | AI-Powered Crypto Trading Bot",
|
||||
description: "Advanced AI trading bot with news sentiment analysis, technical indicators, and backtesting.",
|
||||
images: ["/og-image.png"],
|
||||
creator: "@rommarkdev",
|
||||
site: "@rommarkdev",
|
||||
},
|
||||
category: "technology",
|
||||
classification: "Cryptocurrency Trading Software",
|
||||
other: {
|
||||
"revisit-after": "1 day",
|
||||
"language": "English",
|
||||
"geo.region": "US",
|
||||
"geo.placename": "Global",
|
||||
"distribution": "global",
|
||||
"rating": "general",
|
||||
},
|
||||
};
|
||||
|
||||
export const viewport: Viewport = {
|
||||
themeColor: [
|
||||
{ media: "(prefers-color-scheme: light)", color: "#ffffff" },
|
||||
{ media: "(prefers-color-scheme: dark)", color: "#0a0a0a" },
|
||||
],
|
||||
width: "device-width",
|
||||
initialScale: 1,
|
||||
maximumScale: 5,
|
||||
userScalable: true,
|
||||
colorScheme: "dark light",
|
||||
};
|
||||
|
||||
// JSON-LD Structured Data for SEO
|
||||
const jsonLd = {
|
||||
"@context": "https://schema.org",
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "Mantle AI Trader",
|
||||
"description": "AI-powered cryptocurrency trading bot with news sentiment analysis, technical indicators, backtesting, and paper trading capabilities.",
|
||||
"url": "https://github.com/roman-ryzenadvanced/mantle-ai-trader",
|
||||
"applicationCategory": "FinanceApplication",
|
||||
"operatingSystem": "Web, Linux, macOS, Windows",
|
||||
"offers": {
|
||||
"@type": "Offer",
|
||||
"price": "0",
|
||||
"priceCurrency": "USD",
|
||||
"description": "Open source - Free to use"
|
||||
},
|
||||
"author": {
|
||||
"@type": "Organization",
|
||||
"name": "Rommark.Dev",
|
||||
"url": "https://rommark.dev"
|
||||
},
|
||||
"creator": {
|
||||
"@type": "Person",
|
||||
"name": "Roman | RyzenAdvanced",
|
||||
"url": "https://github.com/roman-ryzenadvanced"
|
||||
},
|
||||
"keywords": [
|
||||
"AI trading bot",
|
||||
"cryptocurrency trading",
|
||||
"crypto signals",
|
||||
"trading automation",
|
||||
"Bybit API",
|
||||
"Mantle hackathon"
|
||||
],
|
||||
"featureList": [
|
||||
"AI Signal Generation",
|
||||
"News Sentiment Analysis",
|
||||
"Technical Analysis Indicators",
|
||||
"Backtesting Engine",
|
||||
"Paper Trading Mode",
|
||||
"Real-time Dashboard",
|
||||
"Bybit Exchange Integration"
|
||||
],
|
||||
"screenshot": "https://github.com/roman-ryzenadvanced/mantle-ai-trader/raw/main/public/dashboard-screenshot.png",
|
||||
"license": "https://opensource.org/licenses/MIT",
|
||||
"codeRepository": "https://github.com/roman-ryzenadvanced/mantle-ai-trader",
|
||||
"programmingLanguage": "TypeScript",
|
||||
"runtimePlatform": "Node.js",
|
||||
"isAccessibleForFree": true,
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
@@ -42,6 +188,19 @@ export default function RootLayout({
|
||||
}>) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<head>
|
||||
{/* JSON-LD Structured Data */}
|
||||
<script
|
||||
type="application/ld+json"
|
||||
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
|
||||
/>
|
||||
{/* Additional SEO Meta Tags */}
|
||||
<meta name="msvalidate.01" content="AI Trading Bot, Cryptocurrency, Mantle" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<link rel="author" href="https://rommark.dev" />
|
||||
</head>
|
||||
<body
|
||||
className={`${geistSans.variable} ${geistMono.variable} antialiased bg-background text-foreground`}
|
||||
>
|
||||
|
||||
59
src/app/sitemap.ts
Normal file
59
src/app/sitemap.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
import { MetadataRoute } from 'next'
|
||||
|
||||
export default function sitemap(): MetadataRoute.Sitemap {
|
||||
const baseUrl = 'https://github.com/roman-ryzenadvanced/mantle-ai-trader'
|
||||
|
||||
return [
|
||||
{
|
||||
url: baseUrl,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'daily',
|
||||
priority: 1,
|
||||
title: 'Mantle AI Trader - AI-Powered Crypto Trading Bot',
|
||||
description: 'Advanced AI trading bot for cryptocurrency markets with news sentiment analysis, technical indicators, backtesting, and paper trading.',
|
||||
images: ['/og-image.png'],
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}#features`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.9,
|
||||
title: 'Features - AI Signal Generation & Trading',
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}#installation`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.8,
|
||||
title: 'Installation Guide',
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}#api`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
title: 'API Documentation',
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}#backtesting`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
title: 'Backtesting Engine',
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}#demo-trading`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
title: 'Demo Paper Trading',
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}#news`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'daily',
|
||||
priority: 0.7,
|
||||
title: 'News Aggregation & Sentiment',
|
||||
},
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user