Files
aitbc/docs/trade_exchange.md
oib ff5486fe08 ```
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
2025-12-28 21:05:53 +01:00

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

  1. Click "Connect Wallet" in the navigation
  2. A unique wallet address is generated
  3. Your user account is created automatically

3. Buy AITBC Tokens

  1. Navigate to the Trade section
  2. Enter the amount of AITBC you want to buy
  3. The Bitcoin equivalent is calculated
  4. Click "Create Payment Request"
  5. Send Bitcoin to the provided address
  6. Wait for confirmation (1 confirmation needed)
  7. 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

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:

License

This project is part of the AITBC ecosystem. See the main repository for license information.