Skip to content

Junman140/anchor-server

Repository files navigation

Pi Network On-Ramp Backend Server

A comprehensive backend service for Pi Network on-ramp and off-ramp operations using real-time pricing and liquidity pool management.

🚀 Features

Core Services

  • Real-time Pi Pricing: Live Pi price from PiScan API
  • Forex Integration: USD/NGN rates from Exchange Rate API
  • Liquidity Pool Management: Automated liquidity management for operations
  • Payment Processing: Flutterwave integration for Nigerian payments
  • Pi Blockchain Integration: Direct Pi Network API integration
  • Transaction Monitoring: Real-time transaction status tracking

Fee Structure

  • Regular transactions (≤1000 Pi): 2.5% fee
  • Large transactions (>1000 Pi): 3.5% fee
  • Maximum transaction: 10,000 Pi per transaction

📋 API Endpoints

Public Routes

  • GET /api/onramp/price/current - Get real-time Pi price
  • POST /api/onramp/price/calculate-buy - Calculate buy price
  • POST /api/onramp/price/calculate-sell - Calculate sell price

Protected Routes (Authentication Required)

  • POST /api/onramp/buy/initiate - Initiate buy Pi transaction
  • POST /api/onramp/sell/initiate - Initiate sell Pi transaction
  • GET /api/onramp/transaction/:id - Get transaction status
  • GET /api/onramp/transactions - Get user transactions

Liquidity Management

  • GET /api/liquidity-pool/balance - Get pool balance
  • POST /api/liquidity-pool/deposit - Deposit to pool
  • POST /api/liquidity-pool/withdraw - Withdraw from pool

🛠️ Installation

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env

# Start development server
npm run dev

# Start production server
npm start

🔧 Environment Variables

# Pi Network Configuration
PI_API_KEY=your_pi_api_key
PI_WALLET_PRIVATE_SEED=your_wallet_seed
PI_SYSTEM_WALLET_ADDRESS=your_system_wallet

# Flutterwave Configuration
FLUTTERWAVE_SECRET_KEY=your_flutterwave_secret

# Database Configuration
MONGO_URI=your_mongodb_connection_string

# Server Configuration
PORT=5000
NODE_ENV=development

🧪 Testing

# Run price tests
npm run test:prices:quick

# Run full test suite
npm run test:prices:full

📊 Current Market Data

  • Pi Price: Real-time from PiScan API
  • USD/NGN Rate: Real-time from Exchange Rate API
  • Transaction Limits: 1,000 - 10,000 Pi per transaction
  • Liquidity Pool: Automated management with interest payments

🔒 Security

  • JWT-based authentication
  • Input validation and sanitization
  • Rate limiting and request throttling
  • Secure webhook handling
  • Transaction monitoring and fraud detection

📈 Monitoring

  • Real-time transaction status tracking
  • Liquidity pool balance monitoring
  • Payment webhook processing
  • Automated system maintenance tasks

🤝 Contributing

This is a backend-only repository. The frontend is maintained separately.

📄 License

MIT License - see LICENSE file for details

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published