From 4f277b6dc35eeb1dcec834aeb412520ec2ee3d74 Mon Sep 17 00:00:00 2001 From: Alexandre Catarino Date: Fri, 10 Jul 2026 21:53:14 +0100 Subject: [PATCH 1/3] Document Webull two-factor authentication deployment option --- .../02 Brokerages/08 Webull/02 Account Types.html | 3 ++- .../02 Brokerages/08 Webull/16 Deploy Live Algorithms.php | 3 ++- .../01 Brokerages/08 Webull/02 Deploy Cloud Algorithms.php | 5 +++-- .../01 Brokerages/08 Webull/03 Deploy Local Algorithms.php | 5 +++-- QuantConnect-Platform-2.0.0.yaml | 3 +++ 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/02 Account Types.html b/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/02 Account Types.html index 88c45e3829..a6de2d0e64 100644 --- a/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/02 Account Types.html +++ b/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/02 Account Types.html @@ -10,7 +10,8 @@

Create API Credentials

  • From the avatar menu, open Developer Tools and then click API Management > My Application.
  • Submit your API application and wait for approval, which takes one to two business days. You receive a confirmation email when it's approved.
  • After approval, click API Management > Application Management, enter an application name, accept the Webull OpenAPI Agreement, and register the application.
  • -
  • In Application Management, disable Quotes and two-factor authentication (2FA) for the application. QuantConnect supplies the market data, so you don't need Quotes, and disabling 2FA lets the API authenticate without interactive verification.
  • +
  • In Application Management, disable Quotes for the application since QuantConnect supplies the market data.
  • +
  • Choose whether to keep two-factor authentication (2FA) enabled for the application. 2FA is optional, so you can disable it to let the API authenticate without interactive verification. If you keep it enabled, you need to declare it when you deploy a live algorithm.
  • Click Generate Key and then complete the SMS verification code and transaction password verification to generate your App Key and App Secret. You can reset the App Secret later with Reset Key.
  • Note the account ID of the Webull account you want to trade.
  • diff --git a/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/16 Deploy Live Algorithms.php b/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/16 Deploy Live Algorithms.php index c408bd0dfc..0ca4f18311 100644 --- a/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/16 Deploy Live Algorithms.php +++ b/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/16 Deploy Live Algorithms.php @@ -3,7 +3,8 @@ $cashState = false; $holdingsState = false; $secondBullet = ""; -$authentication = "
  • Enter your Webull App Key, App Secret, and account ID.
  • " . file_get_contents(DOCS_RESOURCES."/brokerages/create-credentials/webull.html"); +$authentication = "
  • Enter your Webull App Key, App Secret, and account ID.
  • +
  • If your application has two-factor authentication (2FA) enabled, check the Enable 2FA check box.
  • " . file_get_contents(DOCS_RESOURCES."/brokerages/create-credentials/webull.html"); $postDeploy = ""; $dataProviderDetails = "

    Webull doesn't provide a live data feed, so use the QuantConnect data provider or another data provider for the securities you trade.

    "; include(DOCS_RESOURCES."/live-trading/deploy-live-algorithm.php"); diff --git a/05 Lean CLI/09 Live Trading/01 Brokerages/08 Webull/02 Deploy Cloud Algorithms.php b/05 Lean CLI/09 Live Trading/01 Brokerages/08 Webull/02 Deploy Cloud Algorithms.php index fcfa5e2184..54900b4f35 100644 --- a/05 Lean CLI/09 Live Trading/01 Brokerages/08 Webull/02 Deploy Cloud Algorithms.php +++ b/05 Lean CLI/09 Live Trading/01 Brokerages/08 Webull/02 Deploy Cloud Algorithms.php @@ -1,11 +1,12 @@ Enter your Webull App Key, App Secret, and account ID. +
  • Enter your Webull App Key, App Secret, account ID, and whether your application has two-factor authentication (2FA) enabled.
    $ lean cloud live \"My Project\" --push --open
     App key: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d
     App secret: *******************************
    -Account id: 12345678
    +Account id: 12345678 +Use 2FA (yes/no): no
    " . file_get_contents(DOCS_RESOURCES."/brokerages/create-credentials/webull.html") . "
  • "; diff --git a/05 Lean CLI/09 Live Trading/01 Brokerages/08 Webull/03 Deploy Local Algorithms.php b/05 Lean CLI/09 Live Trading/01 Brokerages/08 Webull/03 Deploy Local Algorithms.php index 036de9b412..b558b0ee59 100644 --- a/05 Lean CLI/09 Live Trading/01 Brokerages/08 Webull/03 Deploy Local Algorithms.php +++ b/05 Lean CLI/09 Live Trading/01 Brokerages/08 Webull/03 Deploy Local Algorithms.php @@ -3,12 +3,13 @@ $dataFeedName = ""; $isBrokerage = true; $brokerageDetails = " -
  • Enter your Webull App Key, App Secret, and account ID. +
  • Enter your Webull App Key, App Secret, account ID, and whether your application has two-factor authentication (2FA) enabled.
    $ lean live \"My Project\"
     App key: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d
     App secret: *******************************
    -Account id: 12345678
    +Account id: 12345678 +Use 2FA (yes/no): no
    " . file_get_contents(DOCS_RESOURCES."/brokerages/create-credentials/webull.html") . "
  • "; diff --git a/QuantConnect-Platform-2.0.0.yaml b/QuantConnect-Platform-2.0.0.yaml index b2a6c8e9a4..a6e23462ef 100644 --- a/QuantConnect-Platform-2.0.0.yaml +++ b/QuantConnect-Platform-2.0.0.yaml @@ -3802,6 +3802,9 @@ components: webull-account-id: type: string description: Your Webull account ID. + webull-use-2fa: + type: boolean + description: Whether your Webull application has two-factor authentication (2FA) enabled. description: Settings for using Webull as the brokerage for a live algorithm. PublicBrokerageSettings: type: object From 9f58a2879594e0472e074da846b74b66cdfb40cf Mon Sep 17 00:00:00 2001 From: Alexandre Catarino Date: Fri, 10 Jul 2026 21:53:15 +0100 Subject: [PATCH 2/3] Code generated by API-Reference-Code-Generator.py --- .../01 Create Live Algorithm/02 Request.html | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/01 Cloud Platform/99 API Reference/07 Live Management/01 Create Live Algorithm/02 Request.html b/01 Cloud Platform/99 API Reference/07 Live Management/01 Create Live Algorithm/02 Request.html index b1057e5113..1a20f8ce3f 100644 --- a/01 Cloud Platform/99 API Reference/07 Live Management/01 Create Live Algorithm/02 Request.html +++ b/01 Cloud Platform/99 API Reference/07 Live Management/01 Create Live Algorithm/02 Request.html @@ -101,7 +101,7 @@ "WebullBrokerageSettings": object, "PublicBrokerageSettings": object, }, - "dataProviders": + "dataProviders": } @@ -846,6 +846,9 @@ webull-account-id string
    required

    Your Webull account ID. +webull-use-2fa boolean
    Whether your Webull application has two-factor authentication (2FA) enabled. + + Example
    @@ -853,7 +856,8 @@
       "id": "WebullBrokerage",
       "webull-app-key": "string",
       "webull-app-secret": "string",
    -  "webull-account-id": "string"
    +  "webull-account-id": "string",
    +  "webull-use-2fa": true
     }
    From 9495cbc8037231ad5220cc2b907ccfb955d0c7e0 Mon Sep 17 00:00:00 2001 From: Alexandre Catarino Date: Fri, 10 Jul 2026 22:08:12 +0100 Subject: [PATCH 3/3] Clarify Webull 2FA can only be disabled in some regions --- .../02 Brokerages/08 Webull/02 Account Types.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/02 Account Types.html b/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/02 Account Types.html index a6de2d0e64..5d568353bb 100644 --- a/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/02 Account Types.html +++ b/01 Cloud Platform/10 Live Trading/02 Brokerages/08 Webull/02 Account Types.html @@ -11,7 +11,7 @@

    Create API Credentials

  • Submit your API application and wait for approval, which takes one to two business days. You receive a confirmation email when it's approved.
  • After approval, click API Management > Application Management, enter an application name, accept the Webull OpenAPI Agreement, and register the application.
  • In Application Management, disable Quotes for the application since QuantConnect supplies the market data.
  • -
  • Choose whether to keep two-factor authentication (2FA) enabled for the application. 2FA is optional, so you can disable it to let the API authenticate without interactive verification. If you keep it enabled, you need to declare it when you deploy a live algorithm.
  • +
  • Choose whether to keep two-factor authentication (2FA) enabled for the application. Some clients can disable 2FA to let the API authenticate without interactive verification, but this option isn't available in all regions. If you keep 2FA enabled, you need to declare it when you deploy a live algorithm.
  • Click Generate Key and then complete the SMS verification code and transaction password verification to generate your App Key and App Secret. You can reset the App Secret later with Reset Key.
  • Note the account ID of the Webull account you want to trade.