chore: refactor logging module, update genesis timestamp, remove model relationships, and reorganize routers - Rename logging.py to logger.py and update import paths in poa.py and main.py - Update devnet genesis timestamp to 1766828620 - Remove SQLModel Relationship declarations from Block, Transaction, and Receipt models - Add SessionDep type alias and get_session dependency in coordinator-api deps - Reorganize coordinator-api routers: replace explorer/registry with exchange, users, marketplace
5.7 KiB
5.7 KiB
Trade Exchange Documentation
Overview
The AITBC Trade Exchange is a web platform that allows users to buy AITBC tokens using Bitcoin. It features a modern, responsive interface with user authentication, wallet management, and real-time trading capabilities.
Features
Bitcoin Wallet Integration
- Payment Gateway: Buy AITBC tokens with Bitcoin
- QR Code Support: Mobile-friendly payment QR codes
- Real-time Monitoring: Automatic payment confirmation tracking
- Exchange Rate: 1 BTC = 100,000 AITBC (configurable)
User Management
- Wallet-based Authentication: No passwords required
- Individual Accounts: Each user has a unique wallet and balance
- Session Security: 24-hour token-based sessions
- Profile Management: View transaction history and account details
Trading Interface
- Live Prices: Real-time exchange rate updates
- Payment Tracking: Monitor Bitcoin payments and AITBC credits
- Transaction History: Complete record of all trades
- Mobile Responsive: Works on all devices
Getting Started
1. Access the Exchange
Visit: https://aitbc.bubuit.net/Exchange/
2. Connect Your Wallet
- Click "Connect Wallet" in the navigation
- A unique wallet address is generated
- Your user account is created automatically
3. Buy AITBC Tokens
- Navigate to the Trade section
- Enter the amount of AITBC you want to buy
- The Bitcoin equivalent is calculated
- Click "Create Payment Request"
- Send Bitcoin to the provided address
- Wait for confirmation (1 confirmation needed)
- AITBC tokens are credited to your wallet
API Reference
User Management
Login/Register
POST /api/users/login
{
"wallet_address": "aitbc1abc123..."
}
Canonical route (same backend, without compatibility proxy):
POST /api/v1/users/login
{
"wallet_address": "aitbc1abc123..."
}
Get User Profile
GET /api/users/me
Headers: X-Session-Token: <token>
Canonical route:
GET /api/v1/users/users/me
Headers: X-Session-Token: <token>
Get User Balance
GET /api/users/{user_id}/balance
Headers: X-Session-Token: <token>
Canonical route:
GET /api/v1/users/users/{user_id}/balance
Headers: X-Session-Token: <token>
Logout
POST /api/users/logout
Headers: X-Session-Token: <token>
Canonical route:
POST /api/v1/users/logout
Headers: X-Session-Token: <token>
Exchange Operations
Create Payment Request
POST /api/exchange/create-payment
{
"user_id": "uuid",
"aitbc_amount": 1000,
"btc_amount": 0.01
}
Headers: X-Session-Token: <token>
Check Payment Status
GET /api/exchange/payment-status/{payment_id}
Get Exchange Rates
GET /api/exchange/rates
Configuration
Bitcoin Settings
- Network: Bitcoin Testnet (for demo)
- Confirmations Required: 1
- Payment Timeout: 1 hour
- Main Address: tb1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
Exchange Settings
- Rate: 1 BTC = 100,000 AITBC
- Fee: 0.5% transaction fee
- Min Payment: 0.0001 BTC
- Max Payment: 10 BTC
Security
Authentication
- Session Tokens: SHA-256 hashed tokens
- Expiry: 24 hours automatic timeout
- Storage: Server-side session management
Privacy
- User Isolation: Each user has private data
- No Tracking: No personal data collected
- GDPR Compliant: Minimal data retention
Development
Frontend Stack
- HTML5: Semantic markup
- CSS3: TailwindCSS for styling
- JavaScript: Vanilla JS with Axios
- Lucide Icons: Modern icon library
Backend Stack
- FastAPI: Python web framework
- SQLModel: Database ORM
- SQLite: Development database
- Pydantic: Data validation
File Structure
apps/trade-exchange/
├── index.html # Main application
├── bitcoin-wallet.py # Bitcoin integration
└── README.md # Setup instructions
apps/coordinator-api/src/app/
├── routers/
│ ├── users.py # User management
│ └── exchange.py # Exchange operations
├── domain/
│ └── user.py # User models
└── schemas.py # API schemas
Deployment
Production
- URL: https://aitbc.bubuit.net/Exchange/
- SSL: Fully configured
- CDN: Nginx static serving
- API: /api/v1/* endpoints
Environment Variables
BITCOIN_TESTNET=true
BITCOIN_ADDRESS=tb1q...
BTC_TO_AITBC_RATE=100000
MIN_CONFIRMATIONS=1
Testing
Testnet Bitcoin
Get free testnet Bitcoin from:
Demo Mode
- No real Bitcoin required
- Simulated payments for testing
- Auto-generated wallet addresses
Troubleshooting
Common Issues
Payment Not Showing
- Check transaction has 1 confirmation
- Verify correct amount sent
- Refresh the page
Can't Connect Wallet
- Check JavaScript is enabled
- Clear browser cache
- Try a different browser
Balance Incorrect
- Wait for blockchain sync
- Check transaction history
- Contact support
Logs
Check application logs:
journalctl -u aitbc-coordinator -f
Future Enhancements
Planned Features
- MetaMask wallet support
- Advanced trading charts
- Limit orders
- Mobile app
- Multi-currency support
Technical Improvements
- Redis session storage
- PostgreSQL database
- Microservices architecture
- WebSocket real-time updates
Support
For help or questions:
- Documentation: https://aitbc.bubuit.net/docs/
- API Docs: https://aitbc.bubuit.net/api/docs
- Admin Panel: https://aitbc.bubuit.net/admin/stats
License
This project is part of the AITBC ecosystem. See the main repository for license information.