Filter tokens (Phase-7 V2 screener)
Server-side filtered + sorted token search. Filters combine as AND. Volume/change windows default to 1h.
The NL-style query bar and chip bar on the Dexploit terminal screener serialize into this same JSON body. The flat GET /search alias maps query-string params onto the same filters.
Response is top-level — { results, total_matches, limit, offset, warnings } with no {success, data, error} wrapper. (Errors are still enveloped — see below.)
Response headers: x-cache (HIT|MISS) and x-total-matches-exact (true|false — when false, total_matches is a lower bound). warnings carries deferred-filter and cold-cache notes (e.g. sectors_filter_skipped_cold_cache, total_matches_is_lower_bound, and risk_score being deferred).
Two failure modes:
- Malformed address filter (
mint,mints[], orcreatornot valid base58) → HTTP 400 with the enveloped body{"success":false,"data":null,"error":"invalid parameter: invalid_filter:mint|creator|mints"}. - Unsupported filter (e.g.
risk_score) → stays HTTP 200; the filter is ignored and a note is appended to thewarnings[]array rather than failing the request.
The GET /search alias inherits both behaviors.
Authorizations
Preferred for swaps-api endpoints (/swaps/*, /stats/*, /trending, /pool-events).
Body
Phase-7 V2 screener filters (~40 fields, all optional, combined as AND). Replaces the legacy 6-field ScreenerFilters. Range filters take {min, max}. Volume/change windows default to 1h.
1 <= x <= 500x >= 0When true, rows use the compact variant.

