sweep
Buy ENS names at floor prices from a collection or filter in a single Seaport transaction, with automatic selection and direct wallet delivery.
Instructions
Floor-sweep: buy the CHEAPEST N listed ENS names in a category/collection (or matching a filter) in ONE Seaport transaction.
Use this when the user wants "the cheapest N", "sweep the floor", or "buy up to X ETH of" a cohort — rather than naming specific names (that's batch_purchase).
Pick the cohort with 'category' (a collection slug like "999-club") and/or 'q'/'charType'/'minLength'/'maxLength'. Bound the sweep with 'count' (how many) and/or 'maxBudgetEth' (total spend), plus an optional 'maxPriceEth' per-name cap. It selects cheapest-first across NameWhisper, OpenSea, and Grails, then packs them into one transaction (capped at 20 names — run again to continue). NFTs are delivered directly to the buyer; Seaport skips any order that sold since discovery and refunds the excess. The response reports what was swept (with marketplace + price), the total, and how many matched but fell outside the bound.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Label text filter (substring), e.g. "punk" to sweep names containing punk. | |
| count | No | How many names to sweep, cheapest-first (max 20 per tx). Defaults to 10 if no budget is given. | |
| category | No | Collection slug to sweep (e.g. "999-club", "10k-club", "three-letter"). Comma-separate for multiple. Optional if q/charType/length is given. | |
| charType | No | Restrict to a character class. | |
| maxLength | No | Maximum label length. | |
| minLength | No | Minimum label length. | |
| maxPriceEth | No | Per-name price cap — skip any listing above this so a pricey outlier just off the floor is not swept up. | |
| maxBudgetEth | No | Total ETH budget — keeps buying up the floor until adding the next cheapest would exceed this. | |
| walletAddress | Yes | Buyer wallet address — receives all swept names. |