ProjectX#

ProjectX is a futures-only broker that connects to multiple prop trading firms and futures brokers through a unified gateway. Each broker requires its own specific environment variables.

Features#

  • Futures Trading Only: Continuous futures contracts

  • Multiple Brokers: Supports 19+ different prop trading firms and futures brokers

  • Real-time Data: Live order and position updates

  • Order Types: Market, limit, stop orders

  • Auto-Detection: Automatically connects when environment variables are set

Prerequisites#

  1. Account: Demo or live futures trading account with a supported broker

2. API Credentials: Username and API key from your broker Supported Brokers —————–

TopstepX#

PROJECTX_TOPSTEPX_API_KEY=your_api_key
PROJECTX_TOPSTEPX_USERNAME=your_username
PROJECTX_TOPSTEPX_PREFERRED_ACCOUNT_NAME=your_account_name

Top One Futures#

PROJECTX_TOPONE_API_KEY=your_api_key
PROJECTX_TOPONE_USERNAME=your_username
PROJECTX_TOPONE_PREFERRED_ACCOUNT_NAME=your_account_name

TickTickTrader#

PROJECTX_TICKTICKTRADER_API_KEY=your_api_key
PROJECTX_TICKTICKTRADER_USERNAME=your_username
PROJECTX_TICKTICKTRADER_PREFERRED_ACCOUNT_NAME=your_account_name

AlphaTicks#

PROJECTX_ALPHATICKS_API_KEY=your_api_key
PROJECTX_ALPHATICKS_USERNAME=your_username
PROJECTX_ALPHATICKS_PREFERRED_ACCOUNT_NAME=your_account_name

Aqua Futures#

PROJECTX_AQUAFUTURES_API_KEY=your_api_key
PROJECTX_AQUAFUTURES_USERNAME=your_username
PROJECTX_AQUAFUTURES_PREFERRED_ACCOUNT_NAME=your_account_name

Blue Guardian Futures#

PROJECTX_BLUEGUARDIANFUTURES_API_KEY=your_api_key
PROJECTX_BLUEGUARDIANFUTURES_USERNAME=your_username
PROJECTX_BLUEGUARDIANFUTURES_PREFERRED_ACCOUNT_NAME=your_account_name

Blusky#

PROJECTX_BLUSKY_API_KEY=your_api_key
PROJECTX_BLUSKY_USERNAME=your_username
PROJECTX_BLUSKY_PREFERRED_ACCOUNT_NAME=your_account_name

Bulenox#

PROJECTX_BULENOX_API_KEY=your_api_key
PROJECTX_BULENOX_USERNAME=your_username
PROJECTX_BULENOX_PREFERRED_ACCOUNT_NAME=your_account_name

E8 Futures#

PROJECTX_E8X_API_KEY=your_api_key
PROJECTX_E8X_USERNAME=your_username
PROJECTX_E8X_PREFERRED_ACCOUNT_NAME=your_account_name

Funding Futures#

PROJECTX_FUNDINGFUTURES_API_KEY=your_api_key
PROJECTX_FUNDINGFUTURES_USERNAME=your_username
PROJECTX_FUNDINGFUTURES_PREFERRED_ACCOUNT_NAME=your_account_name

The Futures Desk#

PROJECTX_THEFUTURESDESK_API_KEY=your_api_key
PROJECTX_THEFUTURESDESK_USERNAME=your_username
PROJECTX_THEFUTURESDESK_PREFERRED_ACCOUNT_NAME=your_account_name

Futures Elite#

PROJECTX_FUTURESELITE_API_KEY=your_api_key
PROJECTX_FUTURESELITE_USERNAME=your_username
PROJECTX_FUTURESELITE_PREFERRED_ACCOUNT_NAME=your_account_name

FXIFY Futures#

PROJECTX_FXIFYFUTURES_API_KEY=your_api_key
PROJECTX_FXIFYFUTURES_USERNAME=your_username
PROJECTX_FXIFYFUTURES_PREFERRED_ACCOUNT_NAME=your_account_name

Goat Funded Futures#

PROJECTX_GOATFUNDEDFUTURES_API_KEY=your_api_key
PROJECTX_GOATFUNDEDFUTURES_USERNAME=your_username
PROJECTX_GOATFUNDEDFUTURES_PREFERRED_ACCOUNT_NAME=your_account_name

Hola Prime#

PROJECTX_HOLAPRIME_API_KEY=your_api_key
PROJECTX_HOLAPRIME_USERNAME=your_username
PROJECTX_HOLAPRIME_PREFERRED_ACCOUNT_NAME=your_account_name

Nexgen Futures#

PROJECTX_NEXGEN_API_KEY=your_api_key
PROJECTX_NEXGEN_USERNAME=your_username
PROJECTX_NEXGEN_PREFERRED_ACCOUNT_NAME=your_account_name

TX3 Funding#

PROJECTX_TX3FUNDING_API_KEY=your_api_key
PROJECTX_TX3FUNDING_USERNAME=your_username
PROJECTX_TX3FUNDING_PREFERRED_ACCOUNT_NAME=your_account_name

DayTraders#

PROJECTX_DAYTRADERS_API_KEY=your_api_key
PROJECTX_DAYTRADERS_USERNAME=your_username
PROJECTX_DAYTRADERS_PREFERRED_ACCOUNT_NAME=your_account_name

Demo/Testing#

PROJECTX_DEMO_API_KEY=your_api_key
PROJECTX_DEMO_USERNAME=your_username
PROJECTX_DEMO_PREFERRED_ACCOUNT_NAME=your_account_name

Supported Functionality#

Usage#

  1. Set Environment Variables: Configure your broker’s API credentials

  2. Create Strategy: Import Lumibot and create your trading strategy

  3. Run: ProjectX will auto-detect and connect

from lumibot.strategies import Strategy
from lumibot.entities import Asset

class MyStrategy(Strategy):
    def initialize(self):
        self.sleeptime = "1D"

    def on_trading_iteration(self):
        # Trade Micro E-mini S&P 500 futures
        mes = Asset("MES", asset_type=Asset.AssetType.CONT_FUTURE)

        # Get current price
        last_price = self.get_last_price(mes)

        # Place a limit order
        if last_price:
            order = self.create_order(
                asset=mes,
                quantity=1,
                side="buy",
                order_type="limit",
                limit_price=last_price * 0.999
            )
            self.submit_order(order)

# Run the strategy (ProjectX auto-detects from environment variables)
strategy = MyStrategy()
strategy.run_live()

Supported Features#

Futures Trading: Continuous futures contracts ✅ Market Orders: Immediate execution ✅ Limit Orders: Execute at specified price ✅ Stop Orders: Stop-loss functionality ✅ Real-time Data: Live market data ✅ Historical Data: Minute, hour, day timeframes

Stock Trading: Futures only ❌ Options Trading: Futures only ❌ Order Modification: Must cancel and re-place