- by venue type, with
filters.modalities; - by venue, with
filters.venues.includeandfilters.venues.exclude.
sources with status: "filteredOut", so you can always see what you left out.
When you send more than one filter, a venue must pass all of them to be asked.
Venue types
Every venue has one type, invenue.modality on each sources entry and on each leg of a quote.
New types can appear. Treat a
modality you do not recognise as “other”.
Specific venues
Venue ids are not a fixed list: take them fromsources[].venue.id in an earlier quote set, or from rows[].venue.id on GET /api/v1/prices. The sample runs a plain search first and uses the first venue that answered.
filters.venues matches venue.id, the id of the route that executes, such as binance-orderbook. It does not match venue.venueId, the named venue that route belongs to, such as binance: one named venue can have several routes, each with its own id. In this sources entry, send binance-orderbook:
venueId that is not also a route id matches no route: the request is refused with 400 UNKNOWN_VENUE, or every venue reads filteredOut. To keep or drop every route of one named venue, list each route’s id.
Ask one venue only:
filters.venues.include is also how you ask it for a firm price when it only quotes on request. Its sources entry says so in detail when a broad search did not ask it.
What excluded venues look like
Each venue left out by these filters is listed once, not asked:orderBook, every venue of another type reads filteredOut. In a search that names one venue, every other venue does. When nothing is left to answer, quotes is empty and sources shows why.
A venue that passes your filters can still give no quote: it reads unsupported, unavailable or another status with its own reason. See Sources.
Refusals
In the app
On the Trade page, open Advanced filters, then Only or exclude under Venues to keep or drop venues; each choice shows as a chip you can remove. On a price row, asking that venue for a quote searches that one venue only. The trade page has no control for venue types. A shared link can carry them in itsvenueType parameter, and they then show as a Venue types chip you can remove.