You ran your list through verification. The results came back. Most addresses are clean — confirmed deliverable or confirmed invalid. Clear, actionable, done.
Then there's the segment your tool marked "accept-all" or "catch-all" or "unknown." Depending on your list, that's somewhere between 20% and 40% of your contacts. Your verification tool didn't miss them. It correctly identified that it can't give you a definitive answer for these addresses using the methods it has available. So it flagged them and moved on, leaving you with a chunk of your list in a state that's neither safe to send to nor clearly invalid.
That segment is the catch-all problem, and it's the single largest source of unexpected bounces for B2B senders who believe their list is clean.
What a Catch-All Domain Actually Is
A catch-all domain is a mail server configured to accept incoming email to any address at that domain, regardless of whether the specific mailbox exists. Send to real.person@company.com — accepted. Send to completely.fake.nonsense@company.com — also accepted. The server says yes to everything.
Companies configure catch-all for practical reasons. They don't want to miss emails sent to a misspelled name or an outdated alias. If a client writes to john.smith@company.com instead of jsmith@company.com, the catch-all ensures the message is received rather than bounced back. It's a safety net for the domain owner.
For anyone trying to verify whether a specific address on that domain is real, it's a wall. The standard way verification tools work is to connect to the mail server, present an address, and ask "does this mailbox exist?" On a normal domain, the server answers honestly — yes for real mailboxes, no for fake ones. On a catch-all domain, the server answers yes to every address, real or not. The verification tool gets the same positive response for a working mailbox and a completely nonexistent one.
That's not a tool deficiency. It's a structural limitation of the verification method. The server is configured to say yes to everything, so asking "does this exist?" always returns yes. No amount of asking the same question differently changes the answer.
Why This Hits B2B Lists Hardest
Catch-all configuration is a business IT decision, and it's disproportionately common in exactly the companies B2B outbound targets.
Small and mid-sized companies — the 10-to-500 employee segment that most outbound is aimed at — frequently use catch-all as a default because it's simpler than managing individual mailbox rejection rules. Law firms, agencies, consultancies, financial services, professional services broadly — these are heavy catch-all adopters. They set it up once when the domain is configured and rarely revisit it.
Consumer email providers (Gmail, Outlook, Yahoo) don't use catch-all. Individual accounts either exist or they don't, and the server says so clearly. So B2C lists built from personal addresses rarely have catch-all exposure. B2B lists built from company domains — especially in the professional services and SMB segments — carry 20-40% catch-all rates as a routine fact of the data.
This means the verification gap falls on the contacts that matter most for B2B senders. The consumer addresses verify cleanly. The business addresses — the ones you're actually trying to reach — are the ones sitting in the "we can't tell" bucket.
What Happens When You Send to Unresolved Catch-All Addresses
The server accepted the connection during verification, so the address looks fine in your tool's results. Then you send the actual campaign, and some of those addresses bounce — not because the server rejected them at the SMTP level, but because the individual mailbox doesn't exist, never existed, and the catch-all configuration was the only reason the address appeared valid.
The consequences are specific and they compound.
Bounce rate climbs on a list you believed was clean
Sender reputation damage accumulates without a clear signal
Campaign economics get distorted
The Three Things Teams Actually Do — and Why None Is Good
Send to all of them and accept the risk
Skip all of them
Send at reduced frequency with monitoring
All three approaches share the same underlying problem: they treat catch-all addresses as a single undifferentiated bucket where every address is equally unknown. The reason they all fall short is that the tool stopped at "catch-all domain detected" without answering the question that actually matters: does this specific mailbox exist on this catch-all domain?
Resolving Catch-All to a Definitive Answer
The alternative to flagging and guessing is resolving each catch-all address individually — confirming whether each specific mailbox is real and deliverable, or non-existent and will bounce, despite the domain accepting everything at the server level.
This is what filtrat.io does with catch-all domains. The standard SMTP-level check that returns the same answer for every address on the domain is not where the process ends. Each individual address on a catch-all domain is verified through additional methods that determine whether that specific mailbox exists — not whether the domain accepts connections (it does, for everything), but whether the particular address you're sending to reaches a real inbox.
The result is the same kind of definitive answer you get for addresses on non-catch-all domains: deliverable or will-bounce. Not "accept-all," not "unknown," not "risky." A confirmed status for each individual address.
10,000-email list with 1,400 catch-all addresses
No rows left in "unknown" or "accept-all." Every address has a definitive answer.
If the catch-all address can't be definitively resolved, you're not charged for it. You pay only for the addresses where filtrat returns a confirmed answer. Catch-all detection itself — identifying that a domain is catch-all in the first place — is free.
The Economics
Standard verification costs 1 credit per address. On a 10,000-row list: 8,600 non-catch-all addresses × 1 = 8,600 credits for the straightforward segment.
Catch-all resolution costs 5 credits per confirmed result. On 1,400 catch-all addresses: 1,400 × 5 = 7,000 credits for the hard segment.
Total: 15,600 credits — within the $10 Starter plan's 25,000 credits. Resolving the entire list, including the segment every other tool leaves unresolved, costs less than $10.
For comparison, running the same 10,000-row list through most verification tools costs $30-99, and the 1,400 catch-all addresses come back unresolved regardless of what you paid. You spend more and get less — a verified list with a 14% hole in it.
The 5-credit price for catch-all resolution reflects that it requires substantially more processing than a standard SMTP check. Standard verification is a single interaction with the mail server. Catch-all resolution involves confirming an individual mailbox on a server that accepts everything — more work per address, different infrastructure, and a definitive answer where other tools return a question mark.
What This Looks Like in Practice
You upload a list. The verification run handles all 10,000 addresses:
No rows are left in an "unknown" or "accept-all" bucket. No guessing about which catch-all addresses are safe. No second tool, no manual segment, no "send and see what bounces."
How to Run It
Bulk list upload
API
resolve_catchall: true in the request body to resolve catch-all domains rather than just detecting them.Same credits, same results, regardless of how you connect.
What the Statuses Mean in Your Results
Deliverable
Will bounce
Catch-all detected
resolve_catchall: false). The address may or may not be deliverable; the domain accepts everything and the individual mailbox hasn't been checked yet. This is the same result other tools give as their final answer. With filtrat, it's an interim result you can resolve whenever you're ready.Could not determine
Common Questions
How is this different from what my current tool does?
What if I already verified my list with another tool?
How long does catch-all resolution take?
What's the resolution rate?
Can I use this on its own, or do I need another verification tool too?