Protect the domain
Verify every address before your sequencer sends
Verification is not really about the list. It is about the domain you send from, which is the one asset in a cold email program you cannot buy back once it is burned.
Every bounce is a small deposit against your sending reputation and none of them are refundable. A list that looks fine in a spreadsheet can be a quarter full of addresses that were valid two years ago, and a sequencer will cheerfully attempt all of them in one morning.
Verification here is two legs rather than a vendor choice. Every address takes a cheap first grade. Only the ones that come back as accept-all escalate to a deeper check, because paying the expensive leg on that subset instead of on the whole list is the entire economic case for the design.
Example searches
Ask for it the way you'd say it
Every search below runs on the same hosted Tables, with the cost previewed before anything is spent.
Grade a list before it sends
verify these 3,000 addresses and show me which ones are safe to enroll tomorrow
Each address gets a verdict on the row, so enrollment filters on that field rather than on optimism.
Only the ambiguous ones
escalate the catch all results to a deeper check and leave everything else alone
The second leg runs on the subset that needs it, which is where the cost of verification is decided.
Recheck an old list
this list is from last year, tell me how much of it is still deliverable today
An aged list is where verification earns its money, because mailboxes move faster than anyone expects.
Plays
Three motions you can run this week
Each one is a chain of Oxygen primitives — the same hosted objects your workspace already has, composed.
Gate enrollment on the verdict
Only addresses that passed a check reach a sending mailbox, and the rest stay in the table.
- 1Run verification after the finder column, then filter the table on the verdict field.
- 2Enroll the clean rows. The unverifiable ones wait instead of being sent to and bounced.
oxygen verify emailClean a list you inherited
A bought or exported list gets graded before anybody points a sequencer at a single row of it.
- 1Import the file, collapse duplicates on the address, and verify in one pass across the table.
- 2Promote the deliverable contacts and archive the rest rather than quietly keeping them around.
oxygen tables importReverify before a large send
A campaign built weeks ago stops sending to addresses that have gone dark since it was built.
- 1Schedule a recheck over rows whose last verification is older than the threshold you set.
- 2Hold enrollment for anything that came back worse than it was on the previous pass.
oxygen tables schedule set
Capabilities
What you get
Two legs, priced honestly
A cheap grade runs on everything. The deeper check runs only where the first leg says accept-all, which is the difference between a sensible bill and a silly one.
A verdict that lives on the row
The result sits on the cell with the provider that produced it, so a sequence filter reads a field instead of somebody re-exporting the list again.
Bounce handling already behind it
Sequences suppress and auto-pause on bounces on their own. Verification reduces how often that safety net has to catch anything at all.
Reruns that skip what is settled
Recheck only the rows whose verdict has aged past your threshold. Verifying an address you graded last week buys nothing worth paying for.
Boundaries
What Tables does not own
Verification is a Tables column that grades an address. Suppression lists, bounce auto-pause, and sender rotation belong to Sequences, and the health of the mailbox doing the sending is a separate subject with its own controls.
Data sources
What the data actually comes from
Every value lands with its provider and cost recorded on the cell.
MillionVerifier
The first leg, run over every address, because a cheap verdict on the whole list is what makes the second leg affordable.
BounceBan
The escalation leg. It only sees addresses the first pass returned as accept-all, which is where a plain verifier gives up.

Icypeas
Verification alongside finding, useful when an address was produced and graded within the same pass.

Hunter
Domain-level checks and pattern evidence, which help explain why a whole domain looks unverifiable.
Run these on Oxygen's managed credits, or connect your own provider keys and pay the vendor directly — the same columns, the same runs, the same provenance either way. See every integration.
Limits
Where this stops
- No verifier settles a true accept-all domain from the outside. The second leg narrows the set, and the honest remainder is a judgement call about whether that account is worth the risk of a bounce.
FAQ
Questions people ask first
Why two providers instead of one?
What happens to an unknown result?
Does verification stop bounces?
Do I have to verify what the finder returned?
How often should a list be rechecked?
Can I verify a list I never plan to import?
Run verify every address before your sequencer sends on your own workspace
Sign up, get a working workspace with a one-time credit grant, and run the first play from the web app, the CLI, or your AI assistant over MCP.