Strasmore Research
Learn Matt ConnorBy Matt Connor

The Vendor Display Rule: SEC Rule 603(c)

The vendor display rule in plain English: what SEC Rule 603(c) makes you show alongside a quote, and why the line between display and internal use is argued.

The vendor display rule is the market data industry's nickname for SEC Rule 603(c), and it answers the question a builder reaches right after picking a feed: if you show a quote inside a product, what are you required to show alongside it. The short answer is a consolidated display, meaning the national best bid and offer plus consolidated last sale information, presented in an equivalent manner to the quote you were already showing. Everything below works from the rule text and the definitions it points at, never from a vendor's current license terms, which change far more often than the regulation does.

What does SEC Rule 603(c) say?

The operative sentence is one long clause.

No securities information processor, broker, or dealer shall provide, in a context in which a trading or order-routing decision can be implemented, a display of any information with respect to quotations for or transactions in an NMS stock without also providing, in an equivalent manner, a consolidated display for such stock.

That is 17 CFR 242.603(c)(1), adopted with Regulation NMS and published at 70 FR 37620 on June 29, 2005. Four separate hooks sit inside it.

  • Who it binds: a securities information processor, a broker, or a dealer. The nickname says vendor. The text does not.
  • What switches it on: a display of quotation or transaction information for an NMS stock, in a context where a trading or order-routing decision can be implemented.
  • What you owe: a consolidated display for that same stock.
  • How you owe it: in an equivalent manner, which is a prominence standard rather than a footnote standard.

Rule 603(c)(2) then carves out two settings: a display on the floor of a national securities exchange or through exchange facilities, and a display connected with the operation of a market linkage system under an effective national market system plan. Neither carve-out reaches a web app, a terminal, or an API response.

What counts as a consolidated display?

Rule 600(b)(22) leaves little room: the prices, sizes, and market identifications of the national best bid and national best offer for a security, together with consolidated last sale information for that security. Two halves, both required. The national best bid and offer is the first half, and the market identification requirement is the part that surprises people. A consolidated display names the venue sitting at the top of the book, and that venue moves constantly.

The panel below takes a ninety minute slice of the June 17, 2026 session in Apple, snapshots every venue's best bid once a second, and counts how often each venue was at the national best bid.

QueryWhich venue held the national best bid in AAPL, June 17 2026, 10:00 to 11:30 ET
The exact SQL behind every number
WITH venue_snapshot AS
(
    SELECT
        toStartOfSecond(sip_timestamp) AS snap,
        toUInt32(bid_exchange)         AS exchange_id,
        max(toFloat64(bid_price))      AS venue_best_bid
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-06-17 14:00:00'
      AND sip_timestamp <  '2026-06-17 15:30:00'
      AND bid_price > 0
    GROUP BY snap, exchange_id
),
national_snapshot AS
(
    SELECT
        snap,
        max(venue_best_bid) AS national_best_bid
    FROM venue_snapshot
    GROUP BY snap
),
tally AS
(
    SELECT
        v.exchange_id                                   AS exchange_id,
        countIf(v.venue_best_bid >= n.national_best_bid) AS snapshots_at_national_best_bid,
        count()                                          AS snapshots_quoting
    FROM venue_snapshot AS v
    INNER JOIN national_snapshot AS n ON n.snap = v.snap
    GROUP BY exchange_id
)
SELECT
    if(empty(x.venue_name), concat('Venue ', toString(t.exchange_id)), x.venue_name) AS venue,
    t.snapshots_at_national_best_bid AS snapshots_at_national_best_bid,
    t.snapshots_quoting              AS snapshots_quoting
FROM tally AS t
LEFT JOIN
(
    SELECT
        toUInt32(id) AS exchange_id,
        any(name)    AS venue_name
    FROM global_markets.stocks_exchanges
    WHERE asset_class = 'stocks'
    GROUP BY exchange_id
) AS x ON x.exchange_id = t.exchange_id
ORDER BY snapshots_at_national_best_bid DESC
LIMIT 20
Run this yourself

Across that window 16 venues posted a bid in Apple. Nasdaq sat at the national best bid in 3719 of the 4450 one second snapshots where it was quoting, and the runner-up still touched the top of the book 1788 times. A display wired to one venue prints that venue's name and price all day. That is a true statement about the venue and a false statement about the market.

How far off is a single venue display?

The distance is measurable. The next panel walks the same ninety minutes one minute at a time. One line is the consolidated spread, the distance between the highest bid anywhere and the lowest offer anywhere. The other is the spread an individual venue was showing at the same instant, averaged across every venue quoting the stock.

QueryConsolidated spread vs single venue spread, AAPL, June 17 2026
The exact SQL behind every number
WITH venue_snapshot AS
(
    SELECT
        toStartOfSecond(sip_timestamp) AS snap,
        toUInt32(bid_exchange)         AS exchange_id,
        max(toFloat64(bid_price))      AS venue_bid,
        min(toFloat64(ask_price))      AS venue_ask
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-06-17 14:00:00'
      AND sip_timestamp <  '2026-06-17 15:30:00'
      AND bid_price > 0
      AND ask_price > bid_price
      AND (toFloat64(ask_price) - toFloat64(bid_price)) / toFloat64(bid_price) < 0.01
    GROUP BY snap, exchange_id
),
per_snapshot AS
(
    SELECT
        toStartOfMinute(toTimeZone(snap, 'America/New_York'))                         AS minute_et,
        avg(20000 * (venue_ask - venue_bid) / (venue_ask + venue_bid))                AS one_venue_bps,
        20000 * (min(venue_ask) - max(venue_bid)) / (min(venue_ask) + max(venue_bid)) AS consolidated_bps
    FROM venue_snapshot
    GROUP BY snap
)
SELECT
    formatDateTime(minute_et, '%H:%i')                   AS et_time,
    round(avg(consolidated_bps), 2)                      AS consolidated_spread_bps,
    round(avg(one_venue_bps), 2)                         AS single_venue_spread_bps,
    round(avg(one_venue_bps) - avg(consolidated_bps), 2) AS spread_gap_bps
FROM per_snapshot
GROUP BY minute_et
ORDER BY minute_et
Run this yourself

Over 90 minutes, the first bar of the chart shows a consolidated spread of 0.9 basis points against a single venue average of 1.51, a distance of 0.61 basis points. A basis point is one hundredth of one percent. The consolidated line sits at or below the single venue line at every point on the chart, by construction: the best bid anywhere is at least as high as any one venue's bid, and the best offer anywhere is at least as low. That arithmetic is the whole case for the rule. Direct exchange feeds versus the SIP covers what each of those pipes actually carries.

The consolidated last sale half

The second half of the definition is trade data. Here are Apple's prints over the same ninety minutes, grouped by the venue that reported them.

QueryWhere AAPL trades printed, June 17 2026, 10:00 to 11:30 ET
The exact SQL behind every number
SELECT
    if(empty(x.venue_name), concat('Venue ', toString(a.exchange_id)), x.venue_name) AS venue,
    a.prints           AS prints,
    a.shares_thousands AS shares_thousands
FROM
(
    SELECT
        toUInt32(exchange)           AS exchange_id,
        count()                      AS prints,
        round(sum(size) / 1000.0, 1) AS shares_thousands
    FROM global_markets.stocks_trades
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-06-17 14:00:00'
      AND sip_timestamp <  '2026-06-17 15:30:00'
    GROUP BY exchange_id
) AS a
LEFT JOIN
(
    SELECT
        toUInt32(id) AS exchange_id,
        any(name)    AS venue_name
    FROM global_markets.stocks_exchanges
    WHERE asset_class = 'stocks'
    GROUP BY exchange_id
) AS x ON x.exchange_id = a.exchange_id
ORDER BY prints DESC
LIMIT 20
Run this yourself

FINRA Alternative Display Facility reported the most prints, 129729 of them, and 17 reporting venues appear in the window. Executions arranged away from an exchange reach the tape through a trade reporting facility, so a last sale display drawn from one exchange's own prints is missing a large and variable share of the volume.

What counts as a display under the vendor display rule?

The rule never defines display, and the boundary has been settled in guidance rather than in text. FINRA Regulatory Notice 15-52, published December 9, 2015, records the SEC staff position that a quotation provided by a registered representative to a customer, which the customer can use to assess the current market or the quality of an execution, is provided in a context in which a trading or order-routing decision can be implemented. The quote does not have to sit on a screen, and the customer does not have to be able to click it. Read that way the surface area is wide: web platforms, mobile apps, chat windows, a number read aloud on a phone call.

Display versus internal use

Rule 603(c) attaches to providing a display. Data that no person ever sees, a pricing model, a risk engine, a router's internal state, a backtest, does not meet the description on the face of the rule. That gap is the origin of the non-display license category on every exchange rate card, and the real-time market data cost page walks through how those tiers are priced. Exchanges charge for non-display use under contract, not under Rule 603(c). The regulation and the license are separate instruments with separate scope, and conflating them goes wrong in both directions: an internal risk screen treated as a regulated display over-builds, while a customer-facing quote treated as internal use misreads the rule.

The same separation applies to freshness and entitlement. Rule 603(c) speaks to what appears next to a quote, while latency and user classification live in the agreements. That is why 15 minute delayed quotes and the professional versus non-professional distinction are licensing questions rather than 603(c) questions.

Redistributing data versus trading on it

Rule 600(b)(111) defines a vendor as any securities information processor engaged in the business of disseminating transaction reports, last sale data, or quotations with respect to NMS securities to brokers, dealers, or investors on a real-time or other current and continuing basis. Set that next to 603(c)(1) and the shape emerges. A commercial data vendor is reached through the securities information processor limb even without a broker-dealer registration, which is how the nickname stuck. A firm consuming a direct feed purely to trade its own account is providing a display to no one, and its obligations come from its exchange agreements instead.

Where the scope is argued

None of this is as settled as a rule number makes it sound. Equivalent manner is defined nowhere in Rule 600 or Rule 603, and firms have read it as anything from side-by-side placement to a link. Display is undefined too. The text was written in 2005 for screen-based retail brokerage, and it has been amended twice since, at 86 FR 18811 on April 9, 2021 and 89 FR 81773 on October 8, 2024, without resolving how the obligation lands on an API that hands a quote to a program that hands it to a person. The 2021 amendments arrived with the Market Data Infrastructure rule, which widened core data in Rule 600(b)(26) to take in depth of book data and auction information, so the volume of what consolidated can mean has grown rather than settled. Comment letters urging the Commission to revisit Rule 603 were still being filed in 2026. This page maps the questions. A securities lawyer answers them for a specific product.

How these panels were built

All three panels read the same ninety minute slice of the June 17, 2026 session in Apple, 10:00 to 11:30 a.m. New York time, and none of them refresh with today's market. Quotes are collapsed into one second snapshots per venue before anything is compared, which keeps a venue updating a thousand times a second from swamping one updating ten times. The spread panel drops any quote whose offer sits more than one percent above its bid, removing the placeholder markets a venue posts when it holds no real interest near the top of the book. Venue names come from the exchange registry, falling back to a numeric identifier where the registry carries no entry for a reporting code.

FAQ

What is the vendor display rule?

It is the common name for SEC Rule 603(c), part of Regulation NMS. The rule states that a securities information processor, broker, or dealer may not display quotation or transaction information for an NMS stock, in a context where a trading or order-routing decision can be implemented, without also providing a consolidated display in an equivalent manner.

Does the vendor display rule apply to internal use?

The rule text governs providing a display, so data consumed by software with no person on the other end falls outside it on the face of the rule. Non-display use is instead governed by exchange and plan agreements, which carry their own fees and reporting duties.

Does showing a direct exchange feed satisfy Rule 603(c)?

A feed from one exchange is not a consolidated display, since the definition requires the national best bid and offer across venues plus consolidated last sale information. Products that aggregate several venues have been assessed case by case, and the conservative reading of the text is that a display drawn from a subset of venues does not meet the definition.

Is a consolidated display the same thing as the NBBO?

No. Rule 600(b)(22) requires the prices, sizes, and market identifications of the national best bid and offer, and consolidated last sale information as well. A page showing only a best bid and offer is missing the trade half of the definition.


Every panel above ships with the exact SQL underneath it, expand any one to see how the count was taken. To rebuild the venue comparison for a different stock or a different day, ask the question in plain English on the Strasmore terminal.

#market data#regulation#reg nms#nbbo#data licensing