Skip to content

Kymi808/skyblock-auto-trader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skyblock Auto Trader

A market analysis and automated trading tool for Hypixel SkyBlock. Monitors the Bazaar and Auction House in real-time, identifies profitable flips, detects market manipulation, and optionally auto-clicks trades for you with human-like timing.

Warning: The auto-clicker uses screen automation to execute trades in-game. Hypixel considers auto-clickers a bannable offense regardless of whether you are at the keyboard. Use at your own risk. The analysis-only modes (bazaar, auction, both) are fully safe — they only read the public API.

Features

Bazaar Flip Finder

  • Real-time buy/sell order spread analysis
  • Calculates profit-per-unit and estimated daily profit
  • Filters by minimum margin and weekly volume
  • Color-coded terminal dashboard with Rich

Auction House Flip Finder

  • Scans BIN (Buy It Now) auctions for underpriced items
  • Compares current BIN prices against recently sold prices
  • Confidence scoring based on sale history depth
  • Detects suspiciously discounted items (bait/scam listings)

Auto-Clicker Trading

  • Automated bazaar buy-order placement via screen clicks
  • One-time calibration wizard records your UI element positions
  • Human-like mouse movement with randomized jitter and delays
  • 3 speed profiles: slow (1-3s delays), normal (0.5-1.5s), fast (0.2-0.8s)
  • Safety features:
    • F8 = emergency stop
    • F7 = pause / resume
    • Mouse to screen corner = instant abort (pyautogui failsafe)
    • User mouse movement detection = auto-pauses if you move the mouse
    • Only trades items that pass all 6 manipulation checks
    • Configurable max concurrent orders

Market Manipulation Detection (6 Algorithms)

Every item is checked against these detectors before being recommended or traded:

Detector What It Catches
Price Z-Score Abnormal price deviations from the rolling mean (pumps/dumps)
Volume Z-Score Abnormal volume spikes (wash trading setup)
Spread Analysis Unusually wide buy-sell spreads (trap setups)
Price Velocity Prices moving too fast over recent snapshots (pump & dump)
Volume-Price Divergence Volume spikes without price movement (wash trading signal)
Low Liquidity Trap Items with tiny order books that are trivially manipulable

Items that fail any check are flagged with warnings and never auto-traded. A cooldown system prevents re-recommending flagged items for 5 minutes.

Setup

Prerequisites

  • Python 3.10+
  • A Hypixel API key (optional — bazaar/auction endpoints work without one)
  • macOS, Linux, or Windows (auto-clicker requires a graphical desktop)

1. Clone the Repository

git clone https://github.com/YOUR_USERNAME/skyblock-auto-trader.git
cd skyblock-auto-trader

2. Create a Virtual Environment

python3 -m venv venv
source venv/bin/activate  # macOS/Linux
# or
venv\Scripts\activate     # Windows

3. Install Dependencies

pip install -r requirements.txt

macOS note: pyautogui needs accessibility permissions. Go to System Settings > Privacy & Security > Accessibility and add your terminal app (Terminal.app, iTerm2, etc.).

Linux note: pyautogui requires xdotool and scrot:

sudo apt install xdotool scrot  # Debian/Ubuntu

4. Configure API Key (Optional)

Get a Hypixel API key by joining mc.hypixel.net and running /api new in-game.

cp .env.example .env

Edit .env and paste your key:

HYPIXEL_API_KEY=your_key_here

5. Adjust Settings (Optional)

Edit config.yaml to tune thresholds:

bazaar:
  min_profit_margin_pct: 2.0      # Minimum flip margin to show
  min_weekly_volume: 50000         # Skip illiquid items
  max_concurrent_orders: 5         # Max simultaneous buy orders in auto mode

manipulation:
  price_zscore_threshold: 3.0      # Lower = more sensitive to price anomalies
  volume_zscore_threshold: 3.5     # Lower = more sensitive to volume spikes
  spread_pct_max: 30.0             # Max acceptable spread %

clicker:
  speed: normal                    # slow, normal, or fast
  trade_amount: 64                 # Units per trade

Usage

Analysis-Only Modes (Safe)

These modes only read the API and display recommendations. No in-game interaction.

# Bazaar flip finder
python -m src.main bazaar

# Auction house flip finder
python -m src.main auction

# Both markets
python -m src.main both

# Fast scanning (15s interval)
python -m src.main bazaar --interval 15

Auto-Clicker Mode

Step 1: Calibrate Screen Positions

Run the calibration wizard once. It records where each UI element is on your screen.

python -m src.main calibrate

The wizard will prompt you to hover over each element (search bar, buy button, confirm button, etc.) and wait 5 seconds. Positions are saved to calibration.json. Re-run this if you change resolution or GUI scale.

Calibration steps:

  1. Open Minecraft and make sure SkyBlock is loaded
  2. Run the calibration command
  3. For each prompt, hover your mouse over the specified UI element and wait
  4. The wizard calibrates: general positions, bazaar UI, and auction house UI

Step 2: Run the Auto-Trader

# Normal speed, unlimited trades
python -m src.main auto

# Slow speed (most human-like), max 10 trades
python -m src.main auto --speed slow --max-trades 10

# Fast speed, 45s between cycles
python -m src.main auto --speed fast --interval 45

Controls During Auto-Trading

Key Action
F7 Pause / Resume
F8 Emergency Stop
Move mouse to any screen corner Instant abort
Move mouse manually Auto-pauses for 3s
Ctrl+C Graceful stop

How Auto-Trading Works

  1. Fetches bazaar data via the API
  2. Finds safe flips (all 6 manipulation checks must pass)
  3. For each flip: opens bazaar (/bz), searches the item, places a buy order
  4. Tracks active orders to avoid duplicates
  5. Waits for the configured interval, then repeats
  6. Mouse movements use randomized curves, jitter, and occasional pauses to mimic human behavior

All CLI Options

python -m src.main --help

positional arguments:
  {bazaar,auction,both,calibrate,auto}
                        Mode to run

optional arguments:
  --config CONFIG        Path to config file (default: config.yaml)
  --interval SECONDS     Override poll interval in seconds
  --speed {slow,normal,fast}
                         Auto-clicker speed profile (default: normal)
  --max-trades N         Max trades in auto mode (0 = unlimited)

How It Works

Bazaar Flipping Strategy

  1. Fetch all bazaar product prices via the API
  2. Calculate the spread between buy orders and sell orders
  3. Filter by minimum margin % and weekly trading volume
  4. Check each item against 6 manipulation detection algorithms
  5. Rank safe items by estimated daily profit potential
  6. Display results (analysis mode) or execute trades (auto mode)

Auction House Strategy

  1. Fetch active BIN auctions and recently ended auctions
  2. Build a median price database from actual sold prices
  3. Compare current BIN listings against median values
  4. Flag suspicious discounts, low sale data, and high price variance
  5. Display safe underpriced items for manual purchase

Manipulation Detection

The detector runs continuously and improves over time:

  • First few cycles: Only spread and liquidity checks are active
  • After 10+ data points: Z-score, velocity, and divergence checks activate
  • Flagged items: Enter a 5-minute cooldown before being re-evaluated
  • Auto mode: Flagged items are NEVER auto-traded
  • All thresholds: Configurable in config.yaml

Project Structure

skyblock_auto_trader/
├── config.yaml                  # All configurable thresholds
├── calibration.json             # Screen positions (generated by calibrate)
├── .env                         # API key (not committed)
├── requirements.txt
├── src/
│   ├── main.py                  # Entry point & CLI
│   ├── api/
│   │   └── hypixel.py           # Hypixel API client
│   ├── bazaar/
│   │   ├── tracker.py           # Bazaar data fetching
│   │   └── analyzer.py          # Flip finding & filtering
│   ├── auction/
│   │   ├── tracker.py           # AH data fetching & price tracking
│   │   └── analyzer.py          # AH flip finding
│   ├── clicker/
│   │   ├── calibration.py       # Screen position calibration wizard
│   │   ├── controller.py        # Mouse/keyboard automation controller
│   │   ├── sequences.py         # Click sequences for bazaar/AH actions
│   │   └── trader.py            # Auto-trader loop (analysis + clicking)
│   ├── manipulation/
│   │   └── detector.py          # 6-algorithm manipulation detector
│   ├── models/
│   │   └── items.py             # Data classes
│   └── utils/
│       └── logger.py            # Logging setup
└── tests/
    ├── test_manipulation.py
    └── test_bazaar.py

Running Tests

python -m pytest tests/ -v

Disclaimer

Use at your own risk. The auto-clicker functionality may violate Hypixel's rules and could result in a ban. The analysis-only modes (bazaar, auction, both) are safe and only read public API data. This project is for educational purposes.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages