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#

ProjectX Capabilities#

Feature

Support

Notes

Futures trading

Yes

Supports CME micro and standard contracts through connected prop firms.

Order types

Market, Limit, Stop

Submit bracket-style risk controls directly from strategies.

Market data

Real time

Streams price updates when ProjectX is running alongside Lumibot.

Account detection

Automatic

Reads the configured environment variables to pick the correct broker.

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