How it works

Understanding the Predictoor Bot Runner workflow

Architecture & Workflow

┌─────────────────────────────────────────────────────────────────┐
│           Predictoor Bot Runner UI                              │
│           (Local Web Interface + Zod Validation)                │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             ▼
          ┌──────────────────────────────────────┐
          │  1. Fill form with presets           │
          │     - Market presets (BTC/USDT...)   │
          │     - Real-time Zod validation       │
          └──────────────┬───────────────────────┘
                         │
                         ▼
          ┌──────────────────────────────────────┐
          │  2. Validate & Generate              │
          │     - Zod schema validation          │
          │     - ppss.yaml generation           │
          │     - docker-compose.yml             │
          └──────────────┬───────────────────────┘
                         │
                         ▼
          ┌──────────────────────────────────────┐
          │  3. Download & Export                │
          │     - All files stay local           │
          │     - Network info displayed         │
          └──────────────┬───────────────────────┘
                         │
                         ▼
          ┌──────────────────────────────────────┐
          │  4. Runtime (Local)                  │
          │     export PRIVATE_KEY=0x...         │
          │     + Ensure ROSE for gas            │
          └──────────────┬───────────────────────┘
                         │
         ┌───────────────┴───────────────┐
         │                               │
         ▼                               ▼
┌──────────────────┐          ┌──────────────────┐
│  Docker          │          │  Python CLI      │
│  pdr-backend     │          │  pdr-backend     │
└────────┬─────────┘          └─────────┬────────┘
         │                              │
         └──────────┬───────────────────┘
                    │
                    ▼
      ┌─────────────────────────────┐
      │   Sapphire Network          │
      │   - Testnet / Mainnet       │
      │   - ROSE gas fees           │
      │   - Smart contracts         │
      └─────────────┬───────────────┘
                    │
                    ▼
      ┌─────────────────────────────┐
      │   Data Farming (DF)         │
      │   - Track predictions       │
      │   - Calculate accuracy      │
      │   - Distribute OCEAN        │
      └─────────────────────────────┘

ROSE Gas Guide (Sapphire Network)

The Ocean Protocol Predictoor system runs on the Oasis Sapphire network, which requires ROSE tokens for transaction fees (gas).

Why ROSE?

Sapphire is a privacy-preserving EVM-compatible network built on Oasis. All transactions on Sapphire require ROSE to pay for gas fees, similar to how Ethereum requires ETH.

How much ROSE do I need?

For testing: 1-5 ROSE should be enough for hundreds of predictions. For production: Budget 10-50 ROSE depending on your prediction frequency.

What's New

✓ Zod Validation

Real-time YAML validation with detailed, user-friendly error messages powered by Zod and zod-validation-error.

✓ Market Presets

Quick select from popular trading pairs (BTC/USDT, ETH/USDT, SUI/USDC, etc.) with automatic timeframe filtering.

✓ Network Information

Detailed testnet/mainnet configuration display including RPC URLs, chain IDs, and explorer links.

✓ ROSE Gas Guide

Complete guide for understanding and obtaining ROSE tokens for Sapphire network gas fees.

✓ Data Farming Section

Dedicated page explaining how to earn OCEAN rewards through accurate predictions.

✓ Trader Bot Support

Full support for creating and configuring Trader bots with strategy selection (momentum, mean-reversion, custom).

✓ Docker Compose Generation

One-click generation and download of production-ready docker-compose.yml files.

Security & Best Practices

🔐 Private Keys

  • NEVER store your private key in YAML files
  • Export it only at runtime: export PRIVATE_KEY=0x...
  • Use a dedicated wallet with limited funds for bots

⛽ ROSE Management

  • Always keep sufficient ROSE for gas fees
  • Monitor your ROSE balance regularly
  • Budget ~10-50 ROSE for production depending on frequency

🧪 Testing

  • ALWAYS test on testnet first
  • Validate your YAML before deployment
  • Start with low stakes and increase gradually

Technologies

  • Next.js 15: React framework with App Router
  • TypeScript: Static typing for robustness
  • Zod: Schema validation for YAML files
  • Tailwind CSS: Utility-first CSS
  • shadcn/ui: Accessible UI components
  • yaml: JS library for YAML generation
  • pdr-backend: Ocean Protocol CLI (external)