Broker fill quality
Same stock, same order size: which brokers got their customers a better price on market orders? From each broker's own SEC Rule 605 report.
S&P 500 stocks, market orders, August 2026
Cheaper than the median brokerDearerAbout the middleBlack lines: 95% range
* moomoo's own report shows $0; its clearing firm, Futu Clearing, receives the payment. Order-flow pay is the net payment received on market orders in Q2 2026 from each broker's Rule 606 report. The two middle brokers sit at plus or minus half their gap by construction, so they show as grey.
What stands out
- Brokers differ, but in big stocks the gap is small: J.P. Morgan customers came out cheapest and Cash App customers dearest, $2.16 apart per $10,000 traded.
- As a share of the bid-ask spread the gap looks much bigger: Fidelity customers paid about 80% less of the spread than the median broker's customers, Cash App customers about twice as much. Spreads on big stocks are tiny, so the dollars stay small.
- Payment for order flow doesn't line up with cost. Schwab and Robinhood received the most and both sit in the cheaper half. Vanguard takes none and is cheap too.
- Most brokers send their orders to the same few market makers, yet get different prices. Vanguard and Cash App both send almost all their market orders to wholesalers and sit at opposite ends. A 2025 Journal of Finance study (Schwarz, Barber, Huang, Jorion and Odean) found the same with identical orders placed at the same moment.
- “Percent of shares price-improved” isn't cost. Cash App improved the most shares in S&P 500 stocks but by one of the smallest amounts, and had the highest matched cost.
- The gap grows in cheaper stocks (best to worst, per $10,000):
Every broker
| Broker | S&P 500 | Stocks $20+ | All stocks | Share of spread vs median | $5,000 S&P 500 order | Shares improved | Order-flow pay, Q2 | Market orders |
|---|---|---|---|---|---|---|---|---|
| J.P. Morgan | −1.33 | −1.53 | −3.83 | −77% | −$0.17 | 85.1% (6.8¢) | Pays venues | 2.4M |
| Fidelity | −1.17 | −1.78 | −4.55 | −82% | −$0.12 | 85.6% (6.4¢) | $10.4M | 36.3M |
| Merrill | −0.97 | −1.10 | −2.67 | −61% | $0.19 | 77.9% (7.5¢) | Pays venues | 4.7M |
| E*TRADE / Morgan Stanley | −0.91 | −1.09 | −1.94 | −55% | $0.31 | 86.4% (6.2¢) | $13.3M | 10.6M |
| Vanguard | −0.55 | −1.19 | −2.36 | −77% | $0.02 | 75.7% (6.3¢) | None | 2.4M |
| Schwab | −0.52 | −0.79 | −3.53 | −59% | $0.13 | 88.3% (6.2¢) | $54.0M | 43.6M |
| Robinhood | −0.26 | −0.30 | −3.04 | −11% | $0.36 | 76.8% (5.1¢) | $51.6M | 38.9M |
| Ally | −0.23 | −0.53 | +1.74 | −3% | $0.46 | 78.9% (6.2¢) | $287k | 0.2M |
| Firstrade | +0.23 | +0.90 | −0.06 | +6% | $0.82 | 79.8% (5¢) | $448k | 1.0M |
| Webull | +0.28 | +0.85 | +1.49 | +59% | $0.52 | 93% (3¢) | $9.3M | 5.4M |
| Interactive Brokers | +0.33 | +0.81 | +1.72 | +3% | $0.51 | 69.8% (6¢) | $1.1M | 5.9M |
| tastytrade | +0.35 | +0.30 | +0.06 | +38% | $0.33 | 83.5% (4.9¢) | $86k | 0.1M |
| SoFi | +0.41 | +1.22 | +4.32 | +50% | $0.59 | 80.4% (4.3¢) | $689k | 0.6M |
| Public | +0.46 | +1.50 | +8.51 | +35% | $0.53 | 88.4% (7¢) | $186k | 2.3M |
| moomoo | +0.75 | +1.10 | +6.03 | +61% | $0.78 | 74.1% (3.8¢) | $497k* | 0.3M |
| Cash App | +0.83 | +2.33 | +2.37 | +104% | $0.92 | 97% (3.1¢) | Pays venues | 2.8M |
Grey numbers: the 95% range includes zero. “All stocks” weighs every share equally, so cheap stocks dominate it and it partly reflects when customers trade; the S&P 500 and $20+ columns are the fairer comparison. $5,000 order = the matched cost vs the midpoint for that order size (negative = filled better than the midpoint on average). Shares improved: share of S&P 500 market-order shares filled better than the quote, with the average improvement per improved share.
How this was measured
- Since August 2026, US brokers with 100,000+ customer accounts publish monthly execution-quality reports in one SEC format (amended Rule 605). This uses every broker's own August report: 157 million market orders.
- Brokers are compared like for like: the same stock, the same order-size bucket and the same lot type (fractional, odd or round lot), so a broker doesn't look worse just because its customers trade different stocks.
- Cost is how far the average fill was from the midpoint of the bid and ask when the order arrived, one way, in dollars per $10,000 traded. The rules were written down before any report was downloaded, and two independent re-runs reproduced every number.
- Limits: one month, in one market; brokers report their own numbers; commissions and fees aren't included (Interactive Brokers' report pools its Lite and Pro accounts); opening and closing auction orders aren't covered; Merrill and Morgan Stanley include wealth-management orders. September reports are due October 31 and this page will be updated.
- The author of this site is a Schwab customer.
For education only, not financial advice. Past results, real or simulated, don't promise future results.