Cold email infra
that runs itself
Claim inboxes that finished warming months before you needed them, with fully aligned SPF, DKIM and DMARC and measured inbox placement on the day you take them. Or bring your own domains and we warm them for you. All of it in one API call.
- $1 per mailbox
- Pre-warmed inbox inventory
- 4 isolated IP pools
- Fully aligned SPF, DKIM, DMARC
- REST API + MCP
$ curl -X POST https://emailpal.io/api/public/v1/mailboxes \ -H "Authorization: Bearer ep_live_8f2c…" \ -d '{"domain":"outbound-atlas.com","count":6}'
{
"job_id": "job_4h29xk",
"status": "queued",
"poll": "/v1/jobs/job_4h29xk"
}- ava@outbound-atlas.com
- ava.reid@outbound-atlas.com
- areid@outbound-atlas.com
- marcus@outbound-atlas.com
- m.chen@outbound-atlas.com
- mchen@outbound-atlas.com
One-click CSV export into every sequencer you already run
Google Workspace was never built for this
Everyone sending cold email at volume is using a product designed for a company's internal mail, and paying for it in five ways at once.
$16 a seat, for a seat you never sit in
Workspace prices a full productivity suite. You wanted an SMTP credential and a mailbox to catch replies. Fifty of those is $800 a month before you have sent anything.
Suspended overnight, in batches
Outbound volume from a fresh tenant is exactly the pattern their abuse systems exist to catch. The accounts go together, usually the week your campaign starts working.
An afternoon of DNS per domain
SPF include, DKIM selector, DMARC policy, MX. Do it by hand across twenty domains and one of them will be wrong, and you will find out from a bounce log three weeks later.
Cold mailboxes, sent cold
A brand-new mailbox sending fifty a day on day one is a spam folder with extra steps. Warming is a separate subscription, a separate dashboard, and usually an afterthought.
Reputation you share with strangers
On a shared pool your delivery depends on whoever else bought a mailbox this morning. When they burn the IP, your mail is the collateral.
EmailPal is the other option.
Our own mail servers, our own IP blocks, our own registrar pipeline — run as one system that watches its own reputation and slows itself down before a receiver does.
Everything between a domain name
and a delivered email
Seven steps that normally live in seven different tools, three browser tabs and a spreadsheet.
- 01
Buy or bring your domains
Search and register through our registrar pipeline, or point domains you already own at us. Either way the setup is identical from there.
.xyz $1 · .info $2 · .biz $5 · .com $10 - 02
Authentication, done properly
SPF with a hard fail, DKIM signed with both an RSA-2048 and an Ed25519 key, DMARC at p=reject, MX for replies. Written for you and re-verified against public resolvers, not just against our own records.
SPF · DKIM ×2 · DMARC · MX - 03
Claim an inbox that is already warm
We register domains, park them, and run mailboxes on them through the full warming mesh months before anyone buys them. You get an address with a finished ramp, real correspondence history and a measured inbox rate — not a domain and a three-week wait.
Warmed · aged 90+ days · placement measured - 04
Provision mailboxes in bulk
Pick a naming pattern — first, first.last, firstlast, flast — and how many per domain. SMTP and IMAP credentials come back ready to use.
Hundreds per call - 05
Warm anything you bring, on your terms
Domains you already own join the same cross-tenant correspondence mesh. Pick how hard the ramp pushes, and the mailbox is called ready when seed accounts prove it is reaching the inbox — not when an arbitrary number of days has gone by.
$0.60/mailbox/month - 06
Read every reply in one place
A unified inbox across every mailbox on the account, with warming traffic filtered out by default. Send, reply, flag and delete from the dashboard or the API.
Warming traffic hidden - 07
Export and start sending
One click gives you a CSV shaped for whichever sequencer you run. Nothing to map by hand, nothing to reformat.
Smartlead · Instantly · generic
Every button in the dashboard is an endpoint
The dashboard, the API and the MCP server all sit on one operations layer, so there is no second-class surface and nothing that only works if you click it.
# Provision six mailboxes on a domain you already connected curl -X POST https://emailpal.io/api/public/v1/mailboxes \ -H "Authorization: Bearer $EMAILPAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "domain": "outbound-atlas.com", "count": 6, "persona": "first.last", "daily_limit": 40, "warming_profile": "accelerated" }' # Mail-server work is queued, so the answer is 202 and a job to poll curl https://emailpal.io/api/public/v1/jobs/job_4h29xk \ -H "Authorization: Bearer $EMAILPAL_API_KEY"
Account
- GET/account
- POST/account/topup
Domains
- GET/domains
- POST/domains
- POST/domains/search
- GET/domains/{id}
- POST/domains/{id}
Mailboxes
- GET/mailboxes
- POST/mailboxes
- GET/mailboxes/{id}
- PATCH/mailboxes/{id}
- DELETE/mailboxes/{id}
- GET/mailboxes/export
Inbox
- GET/inbox
- GET/inbox/{id}
- PATCH/inbox/{id}
- DELETE/inbox/{id}
- POST/inbox/send
- POST/inbox/refresh
Jobs
- GET/jobs
- GET/jobs/{id}
- POST/jobs/{id}
Compliance
- GET/suppressions
- POST/suppressions
- POST/lists/verify
- GET/lists/{id}
The whole domain lifecycle
Search availability, generate names from a brand seed, buy, connect one you own, rewrite DNS, rotate a DKIM key, release it. The dashboard has no domain action the API is missing.
Mailboxes by the hundred
Create by persona pattern or by count, adjust daily limits, pause and resume, toggle warming. Export SMTP and IMAP credentials as CSV when you are ready to send.
Inbox and compliance, programmatically
Read and send mail from any mailbox, force a sync, verify a recipient list before you burn an IP on it, and suppress an address or a whole domain across the platform.
Bearer keys with real scopes
Keys are ep_live_ prefixed and stored only as a SHA-256 hash — we cannot show you one twice. read, write and admin are hierarchical, and credential export needs admin on its own.
Honest async, not fake sync
Anything touching a registrar, a resolver or a mail server answers 202 with a job_id instead of holding a connection open and lying about it. Poll GET /jobs/{id}, or retry and cancel from the same route.
Or let an agent run it for you
The same operations, exposed as 29 tools over the Model Context Protocol. Same keys, same scopes, same rate limits — no second API to keep in sync.
Install
$ npx -y @emailpal/mcp
Configure
{
"mcpServers": {
"emailpal": {
"command": "npx",
"args": ["-y", "@emailpal/mcp"],
"env": { "EMAILPAL_API_KEY": "ep_live_…" }
}
}
}All 29 tools
- emailpal_search_inventory18 warmed inboxes across 3 domains
- emailpal_claim_inventory202 · job_9k22bd queued
- emailpal_verify_dnsSPF, DKIM ×2, DMARC, MX all observed
- emailpal_export_credentials18 mailboxes, SMTP and IMAP ready
- emailpal_get_warmingall 18 campaign-ready · 96% inbox
One command, any MCP client
Claude Desktop, Claude Code, Cursor, or anything else that speaks MCP. Point it at the package with an API key and the tools appear.
Read-only when you want it
Set EMAILPAL_MCP_READ_ONLY and every mutating tool disappears from the list entirely, so an agent cannot buy a domain it was never meant to touch.
Destructive tools are labelled
Purchasing, releasing, deleting and sending are annotated as destructive so clients can prompt before they run. Key scopes still apply underneath.
Ready when the evidence says so, not when a date passes
Inventory inboxes arrive with this already behind them. For domains you bring, you pick how hard the ramp pushes — and a mailbox is called campaign-ready when seed accounts prove it is reaching the inbox, not after a fixed number of days.
Messages per day, per mailbox
Concave on purpose — a linear ramp spends its steepest relative increases in week one, which is the week that matters.
- Standarda domain with no history
- Acceleratedaged or already sending
- Standard ramp
- 14 days
- Accelerated
- 7 days
- From inventory
- day one
- Per mailbox
- $0.60/mo
A mesh that crosses tenants
Warming partners are picked from other customers, never the same domain and rarely the same account. Ten new addresses on three new domains only ever writing to each other is a worse shape than sending nothing at all.
Seed accounts decide when it is ready
Real Gmail, Microsoft and Yahoo mailboxes we own receive a slice of every day’s volume and report where the message landed. Those measurements are the graduation test: ramp finished, sends actually delivered, and enough of them in the inbox. A mailbox nobody has measured never gets called ready for simply being old.
Engagement that reads as human
Around 95% of messages get opened, a fifth get starred, three in four get a reply — after a delay drawn from a long-tailed distribution, never in under a minute. Sends are jittered inside working hours and spaced at least 90 seconds apart.
Spam rescue
When a warming message lands in the spam folder, the receiving side moves it out and marks it read. That is the signal providers weigh most heavily, and it only works if something is actually watching the folder.
Automatic hold when it goes wrong
If more than half of measured messages land in spam across a week, the ceiling drops to five and the mailbox is flagged. Sending the full target while filtered makes the problem worse, not better.
Quiet at weekends
Saturday runs at 30% and Sunday at 20%. A mailbox sending identical volume seven days a week for a fortnight looks like exactly what it is.
What warming can and cannot do
Mesh traffic never leaves our mail servers, so on its own it builds no reputation at Gmail or Microsoft — whatever anyone selling warmup tells you. What it does build is a plausible correspondence history and a working engagement signal. Real provider reputation comes from the seed sends and from your actual campaigns, which is exactly why the number we put in front of you is measured placement rather than messages sent.
IPs that take themselves out of service
These are our addresses, leased and run on your behalf — there is no IP for you to administer here, and that is the point. Every one moves through eleven states with the evidence recorded, and the platform decides. You only see the ones that need a human.
Share of normal traffic, by state
reputation autopilot · re-scored hourlyA quarantined address never goes straight back to full service. It spends time in recovering on a fifth of normal traffic first, because the only way to know a delisted IP is genuinely clean is to send a little and watch.
Four pools that never mix
Traffic does not cross between them. A tenant on probation cannot hand their problems to the addresses your established domains depend on.
- warmup
Warming traffic only. Domains warm on the same pool they will send from, so nothing changes underneath them on graduation day.
- production_established
Ninety days clean and proven tenants. The addresses that carry the mail you care most about.
- production_probation
New tenants for their first month or two, and anything the autopilot is unsure about.
- quarantine
No new traffic. Delisting and draining until it either comes back or gets retired.
SMTP responses are the tripwire
Every rejection and deferral is classified as it happens. Provider dashboards update hours later; the response to the message you just sent is the fastest honest signal there is.
Scored per provider, never blended
Gmail, Microsoft and Yahoo get separate scores, and the worst one drives the decision. An average hides exactly the failure you needed to see — being fine at two providers and blocked at the third.
It acts before you notice
Below 85 goes to watch, 70 to throttled, 55 stops new assignments, 40 starts draining, 25 quarantines. Each state has a minimum dwell time, because giving capacity back early is how an address gets burned twice.
Everything else, polled
DNSBLs every six hours, Microsoft SNDS every four, Google Postmaster every twelve. PTR is verified and a broken one is a veto, not a warning.
Lists verified before they cost you an IP
Submit a recipient list and get invalid, role, disposable and MX-failure counts back before you send. Bounce-driven burns are the most avoidable kind.
Suppression across the whole platform
A complaint or an unsubscribe suppresses that address permanently, for everyone. One-click unsubscribe is served without auth so a mail client fetching it never sees a redirect.
What you are actually choosing between
Three ways to get mailboxes for cold email, and what each one costs you beyond the invoice.
| EmailPal | Google / Microsoft | Other SMTP resellers | |
|---|---|---|---|
| Cost per mailbox | $1/month, all in | $16+/month per seat | $1.50–$4/month |
| Built for outbound | It is the only thing it does | Built for internal mail | Usually a reseller layer |
| DKIM, SPF, DMARC | Dual-key DKIM, p=reject, verified | Manual, per domain | Often single-key, often unaligned |
| Warming | Built in, three ramp profiles | None | Third-party subscription |
| Who watches the sending IPs | We do — 11 states, re-scored hourly | Tuned for internal mail, not outbound | Nobody, on a pool you share |
| Pre-warmed inboxes | Warmed and measured before sale | Start from zero | Start from zero |
| Full REST API | Every action, included | Admin SDK, not for this | Partial, often paid |
| MCP server for agents | 29 tools, included | None | None |
| Risk of mass suspension | We run the mail servers | Overnight, in batches | Depends who else is on the pool |
| Fifty mailboxes, monthly | $69 | $800 | $75–200 |
Priced per mailbox, not per seat
Every plan includes the API, the MCP server, warming controls, the unified inbox and the whole reputation system. Domains are bought once from a prepaid balance and are yours; warmed inboxes are leased by the month, with their warming included.
Starter
One company getting outbound off the ground.
$69/month
50 mailboxes and 50 domain slots included
Start with Starter- 50 mailboxes included, $1 each after
- 50 domain slots
- Automatic SPF, DKIM ×2, DMARC and MX
- 2,000 sends a day at the 40/mailbox default
- Unified inbox across every mailbox
- Full REST API and MCP server
- Bring your own domains, free
Growth
Agencies and teams running several books at once.
$189/month
200 mailboxes and 200 domain slots included
Start with Growth- Everything in Starter
- 200 mailboxes included, $1 each after
- 200 domain slots
- 8,000 sends a day at the default ceiling
- Dedicated IPs at $20/month
- Priority access to pre-warmed inbox inventory
- Slack and WhatsApp support
Scale
High-volume senders who need their own footprint.
$499/month
600 mailboxes and 600 domain slots included
Start with Scale- Everything in Growth
- 600 mailboxes included, $1 each after
- 600 domain slots
- 24,000 sends a day at the default ceiling
- Dedicated IP ranges with your own PTR
- Feedback loop enrolment handled for you
- Named contact for escalations
Domains are bought, inboxes are leased
Domains come out of a prepaid balance and are yours. Bring your own for free, up to the slots on your plan.
Register new
$1 – $10
once, per domain
A fresh domain and the standard ramp. .xyz $1 · .info $2 · .biz $5 · .com $10
Aged domain, unwarmed
from $19
once, per domain
60 to 89 days of history behind it. Old enough to run the accelerated ramp yourself.
Pre-warmed inbox
$3
per address, per month
A mailbox on a 90-day domain that finished its ramp here, with the placement we measured attached to it. 90-day minimum term.
Warming kept running
included
on every leased inbox
The mesh and the seed checks keep going after you claim it, so the inbox rate stays a measurement rather than a memory.
Add-ons are the same on every plan: extra mailboxes $1/month, warming $0.60 per warming mailbox per month, dedicated IPs $20/month. Leased inboxes sit outside your plan allowance entirely — they are not counted as mailboxes and never billed for warming twice. Mailbox overage is capped at three times your plan allowance and then blocked rather than billed, because a surprise invoice is a worse outcome than a blocked request.
Teams that stopped babysitting their mail
Cold email infrastructure is only good when you forget it exists. That is the bar.
“We were rebuilding the same Workspace tenant every six weeks after another round of suspensions. Outreach to dental practices at any real volume is apparently indistinguishable from abuse. Moving the whole footprint over took an afternoon and we have not touched a DNS record since.”
“The part I did not expect to care about is the reputation autopilot. It pulled the address our mail was going out on, told us why, and had us back at full volume two days later. Nobody on our side did anything, which is the point.”
“Spinning up sending for a new campaign used to be a two-day checklist and then a three-week wait. Now a script claims warmed inboxes off the shelf and we are sending the same afternoon.”
“Being able to point an agent at the MCP server and say "give me thirty inboxes I can send from tomorrow" still feels slightly illegal. It is the only piece of our stack the agents can provision end to end without a human in the loop.”
- Day one
- Sending, on inventory inboxes
- 4
- Isolated egress pools
- 100%
- Aligned SPF, DKIM and DMARC
- Hourly
- Reputation re-scoring, per provider
The questions people actually ask
Including the ones with answers we could have written more flatteringly.
What is EmailPal, exactly?
Cold email infrastructure. Claim an inbox from inventory that we already warmed, or connect a domain you own and we warm it for you — either way you get mailboxes on our own mail servers with authentication set up correctly, plus SMTP and IMAP credentials to plug into whatever sequencer you already use. We do not send your campaigns; we make sure the mailboxes they send from actually land.
How is this different from Google Workspace?
Price and purpose. Workspace is a productivity suite sold per seat at $16 or more, built for a company’s internal mail, and its abuse systems treat outbound volume from a new tenant as exactly the problem they exist to stop. We run our own mail servers and our own IP blocks, charge about a dollar a mailbox, and the entire system is designed around sending cold.
Do you have an API?
Yes, and it is not an afterthought. Every action in the dashboard is a REST endpoint on the same operations layer, included on every plan at no extra cost. Anything that touches a registrar, a DNS resolver or a mail server returns 202 with a job you poll rather than pretending to be synchronous.
Can my AI agent use it?
Run npx -y @emailpal/mcp with an API key and any MCP client gets 29 tools covering domains, mailboxes, warming, the inbox, compliance and jobs. Set EMAILPAL_MCP_READ_ONLY and the mutating tools vanish from the list entirely.
How long before I can actually send?
An inbox claimed from inventory is ready when you claim it — the ramp already ran here and the placement number you see on it was measured before you arrived. On a domain you bring, mailboxes exist within minutes and DNS propagation is usually the slowest part at under an hour, then the ramp runs: about a week on the accelerated profile, about two on the standard one. We do not put a date on campaign-readiness, because a date is not evidence. The mailbox is called ready when seed accounts at Gmail, Microsoft and Yahoo have measured enough of its mail reaching the inbox.
How many emails per mailbox per day?
The default ceiling is 40 and the hard maximum is 100, but we would rather you did not go near it. Across a large published sample, reply rates were about 5.7% at 20–49 sends a day per mailbox against 1.4% at 100 or more. Sending harder from each mailbox earns less, so the product caps low and sells you more mailboxes instead.
Can I bring domains I already own?
Yes, free, however many your plan has slots for, wherever you registered them. Point the nameservers at us and we write SPF, both DKIM keys, DMARC and MX, then verify the records against public resolvers rather than trusting our own writes.
What is a pre-warmed inbox?
A mailbox we provisioned on a domain we registered months ago and parked on a plausible landing page, then ran through the same warming mesh your own mailboxes use — months before anyone bought it. It arrives with a finished ramp, a real thread history, and an inbox rate we measured rather than promised. Age is part of it: the domains underneath are 90 days or older. But age on its own only stops a domain looking brand new. The warming is what makes the mailbox usable on day one.
How are pre-warmed inboxes priced?
$3 per address per month, with a 90-day minimum term, and they sit outside your plan allowance — leased inboxes are not counted against your included mailboxes. Warming does not stop when you claim one: the mesh keeps running and the seed accounts keep measuring placement for as long as the lease does, at no extra charge. That is the part worth paying attention to when comparing. An inbox that was warm when it left the shelf and has been unmeasured ever since is a different product from one whose inbox rate you can still read today. The minimum term exists because an address sent hard for three weeks and handed back is worth less than the ninety days of parking and warming it took to build.
Can I choose how aggressively a mailbox warms?
Yes. Three profiles: standard reaches the ceiling in about two weeks and is the right answer for a fresh domain, accelerated does it in about a week and is meant for domains that already carry history, and no-ramp sends at the ceiling from day one. That last one is available and we will let you pick it, but on a domain with nothing behind it that curve is precisely the pattern that gets you filtered. Whichever you choose, the readiness verdict is still measured rather than assumed.
Shared or dedicated IPs?
Shared by default across four pools that never exchange traffic, which is the right answer for almost everyone — a dedicated IP with low volume struggles to build reputation at all. Dedicated addresses are $20 a month on Growth and above if you are running multiple distinct mail streams.
What happens if an IP gets into trouble?
The autopilot handles it. Every address is re-scored hourly per provider, and the worst provider drives the decision. It walks down through watch, throttled, no-new-assignments, draining and quarantine, each with a minimum dwell time, and it comes back up one rung at a time through a recovering state on a fifth of normal traffic. No human has to notice first.
Does warming actually build reputation at Gmail?
Partly, and we would rather say so. Mesh traffic never leaves our servers, so on its own it builds no reputation at Gmail or Microsoft. What it builds is a plausible correspondence history and an engagement signal. Real provider reputation comes from the seed sends, which do leave, and from your actual campaigns — which is why the number we show you is measured placement rather than volume sent.
Who is this not for?
Anyone sending to scraped or unverified lists, anything in the fraud and adult categories, and anyone who reads a deliverability guarantee as permission to ignore it. Every tenant is risk-scored, lists can be verified before they cost anyone an IP, and accounts that burn shared reputation get throttled and then removed.
Stop rebuilding your sending stack
Fifty inboxes, authenticated and already warm, in the time it takes to read this page twice.
- No card to start
- Pre-warmed inboxes at $3/address/month
- Warming included on every lease