This is true for ETrade, TDA, Schwab, TradeStation, TastyWorks, and friends. Your order flow must be sold to give you free trades. It's operationally impossible to be any other way since everyone, at minimum, is required to pay fees to the exchanges. Someone needs to pay for you, and a broker sure as hell isn't doing that for free.
- CME Fees: https://www.cmegroup.com/company/clearing-fees.html
- NYSE Fees: https://www.nyse.com/markets/nyse/trading-info/fees
- NASDAQ Fees: http://www.nasdaqtrader.com/trader.aspx?id=pricelisttrading2
Robinhood, for example, waives all of these somehow only charging for certain regulatory fees:
- Robinhood: https://robinhood.com/us/en/support/articles/trading-fees-on...
Robinhood also miraculously waives these mandatory fees for small transactions.
How? By selling your order flow just like everyone else.
If you really care about good executions and your order flow not being sold, you should use a service like Interactive Brokers.