This innovative solution addresses one of the most persistent challenges in OAuth authentication automation.
Instead of building on top of browser automation layers, this solution takes a first-principles approach and rethinks the problem from the ground up. It is powered by a pure native engine with no third-party frameworks or runtime dependencies.
Built in C/C++, the implementation is lightweight, fast, and highly efficient, delivering a streamlined authentication workflow without the complexity and maintenance overhead.
Most current solutions rely on:
- manual browser interaction
- Playwright
- Selenium
- Puppeteer
- undetected_chromedriver
- authorization-code copy/paste workflows
- periodic manual re-login
SchwabOAuth takes a fundamentally different approach.
Existing solutions typically require users to:
- pause automation
- manually retrieve authorization code
- resume token refresh process
SchwabOAuth eliminates this workflow entirely.
- No browser automation frameworks
- No third-party browser control dependency
- automatic login
- automatic token refresh
- automatic token renewal
- no periodic manual intervention required
This architecture enables a significantly smoother long-running automated trading workflow.
SchwabOAuth requires the Microsoft Visual C++ Redistributable Runtime for x64 Windows systems.
Download from Microsoft:
Microsoft Visual C++ Redistributable (x64)
Supported platforms:
- Windows 10 x64
- Windows 11 x64
You must have an approved developer application from Charles Schwab Developer Portal in order to obtain:
- App Key (Client ID)
- App Secret
- Callback URL
These values must be configured within your app before authentication can function properly.
A standard Schwab brokerage account is required for automated login.
You will need:
- Schwab username
- Schwab password
- This is NOT the Schwab developer portal account
- The developer account alone cannot be used for trading authentication
- OAuth authentication must be performed against a regular brokerage account
If you have multiple trading accounts and need to select a specific one, you can configure this using config.xml.
Place the file in:
C:\ProgramData\OAuth
Otherwise, the first account will be used by default.
Example configuration:
<Config>
<AccountIndex>
<Value>0</Value>
</AccountIndex>
</Config>Account indexing is zero-based:
0= first account1= second account2= third account- etc.
If an invalid account index is specified, authentication or token generation may fail.
This project is intended for educational and research purposes only.
Users are responsible for complying with:
- Schwab API Terms of Service
- OAuth provider policies
- trading regulations and brokerage agreements
Use at your own risk.
TrailCapture, GUI implementation of the same authentication