Wraps Logo
Comparison

Resend vs Wraps

Resend is a managed email API built on top of AWS SES. Beautiful DX, fast onboarding, everything runs on their infrastructure.

Wraps deploys email infrastructure directly to your AWS account. Same modern DX, but you own the infrastructure and pay AWS directly.

Both platforms use AWS SES to send email. The difference is whose account it runs in -- and who pays the bill.

TL;DR

ResendWraps
InfrastructureResend's AWS accountYour AWS account
Sending cost$0.40-0.90/1K emails$0.10/1K (AWS SES direct)
Data retention1-7 days (plan-dependent)You decide (your DynamoDB)
If you cancelEverything deletedInfrastructure keeps running
Rate limits2 req/sec (all plans)AWS SES limits (scales with reputation)
Data residencyUS only (metadata)Your chosen AWS region

Sound familiar?

Real quotes from Resend users on Trustpilot, G2, Hacker News, and developer blogs.

“They suspended account when we were getting a lot of new customers/traffic. We lost tons of them because of the Resend.”

-- Trustpilot review, Feb 2026

“Account suspended with no response from support in over 24 hours” causing critical service failures for signup and password reset flows.

-- Trustpilot review, Mar 2025

“The biggest drawback is data retention on lower-tier plans, with just 1 day on Free and 3 days on Pro. Historical data disappears quickly, which can make diagnosing deliverability issues more challenging.”

-- Aggregated G2 reviews

“They could just be wrapping a 5-line API call to Amazon SES and charge 4x for it. The disappointing thing about all of this is that they're not being transparent at all about what they're doing.”

-- Matteo Contrini, developer blog

With Wraps, your infrastructure runs in your AWS account. No third party can suspend your sending, and your logs live in your DynamoDB with configurable retention.

The architectural difference

Resend and Wraps both use AWS SES to deliver email. The difference is where the infrastructure lives and who controls it.

Resend

Managed SaaS. Your emails route through Resend's infrastructure. Data stored in their PostgreSQL (via Supabase), analytics in their Tinybird, logs in their Snowflake. All 21 subprocessors are US-based.

  • Email metadata stored in the US regardless of sending region
  • All traffic proxied through Cloudflare (single point of failure in Nov 2025 outage)
  • Customer data deleted upon leaving
  • No HIPAA compliance (“has not started pursuing”)
Wraps

Deploy to your AWS account. SES, EventBridge, SQS, Lambda, and DynamoDB run in your account, in your chosen region. Email content and delivery logs stay in your account. Contacts are stored on the Wraps platform and exportable anytime.

  • Data residency in your chosen AWS region
  • Your uptime is AWS SES uptime (99.9%+ SLA)
  • Infrastructure persists if you stop using Wraps
  • Inherits your AWS compliance posture (SOC 2, HIPAA, etc.)

In January 2024, Resend suffered a security incident where a database API key was exposed in client-side code, exposing customer email metadata, domain info, and contacts. With Wraps, your sending infrastructure and email events are isolated in your own AWS account.

Pricing at real volumes

Resend bundles sending cost into their platform fee with $0.90/1K overage. Wraps charges a platform fee separately -- you pay AWS directly at $0.10/1K emails.

VolumeResendWraps (platform + AWS)
10K/mo
$20/mo
Pro
$1/mo
Free ($0) + $1 SES
50K/mo
$20/mo
Pro (at limit)
$24/mo
Starter ($19) + $5 SES
100K/mo
$90/mo
Scale
$89/mo
Growth ($79) + $10 SES
500K/mo
$450/mo
Scale + overage
$249/mo
Scale ($199) + $50 SES

Wraps platform tiers: Free (5K tracked events/mo), Starter $19/mo (50K events), Growth $79/mo (250K events), Scale $199/mo (1M events). All tiers include unlimited contacts.

Resend gotchas: Pro plan hard caps at 250K emails (5x quota). Scale plan hard caps at 500K. CC/BCC count as separate emails. Marketing contacts billed separately ($40/mo for 5K contacts).

At 50K/mo, pricing is comparable -- but Wraps includes 30-day data history vs Resend's 3-day retention on Pro.

Feature comparison

SendingResendWraps
REST API
SMTP relay
Batch sending100/request
Scheduled sending
Idempotency keys
Attachments
Tracking & AnalyticsResendWraps
Open tracking
Click tracking
Bounce handling
Delivery events
Data retention1-7 daysYou decide (your DynamoDB)
Data exportLimitedEvents in your DynamoDB, contacts exportable
InfrastructureResendWraps
Infrastructure ownershipResendYou
DKIM/SPF/DMARC
Dedicated IPs$30/mo (Scale only)Request via AWS
Sending regions4 regionsAll AWS SES regions
Data residency compliance
Self-hosted / BYOC
Developer ExperienceResendWraps
TypeScript SDK
Multi-language SDKs9 languagesTypeScript
CLI tooling
React Email support
Template editingNo visual editorAI designer + code editor
Time to first email~5 minutes~15 minutes
Requires AWS account
Platform & ComplianceResendWraps
Dashboard
Webhooks1-10 endpointsUnlimited
Contacts1K free, 5K for $40/moUnlimited
SOC 2Sending infra inherits your AWS
HIPAASending infra via your AWS BAA
Cancel impactData deletedInfrastructure persists

When to choose Resend

Resend is a good product. Here's when it makes more sense.

  • You want the fastest possible time-to-first-email and don't have an AWS account
  • You need SDKs in Python, Ruby, Go, PHP, Java, Rust, or .NET today
  • You want managed dedicated IP warming and monitoring without thinking about it
  • You want a built-in visual broadcast editor with audience management
  • You're sending under 50K emails/month and value zero-config simplicity over infrastructure ownership

When to choose Wraps

Wraps is built for teams that want modern DX with infrastructure ownership.

  • You already have an AWS account (or your company does)
  • You need data retention beyond 7 days -- for debugging, compliance, or analytics
  • You're sending 100K+ emails/month and want 45%+ cost savings
  • You need data residency in a specific region for compliance (GDPR, HIPAA)
  • You don't want a third party able to suspend your transactional email at the worst possible moment
  • You want infrastructure that keeps running even if the vendor disappears

Switching from Resend

Both Resend and Wraps use SES underneath. React Email templates work unchanged. The migration is an SDK swap and DNS update.

Before (Resend)

Reactsend.tsx
import { Resend } from "resend";const resend = new Resend("re_123456");await resend.emails.send({  from: "hello@example.com",  to: "user@example.com",  subject: "Welcome",  react: <WelcomeEmail />,});

After (Wraps)

Reactsend.tsx
import { Wraps } from "@wraps.dev/email";const wraps = new Wraps();await wraps.emails.send({  from: "hello@example.com",  to: "user@example.com",  subject: "Welcome",  react: <WelcomeEmail />,});

Migration steps

  1. Install the CLI: npm install -g @wraps.dev/cli
  2. Deploy infrastructure: wraps email setup (~5 minutes)
  3. Swap resend import for @wraps.dev/email
  4. Update DNS records (SPF may already be identical since both use SES)
  5. Done -- same DX, your infrastructure, AWS pricing

React Email templates are open source and work with any provider. Your domain reputation travels with you. The only thing that doesn't transfer is IP reputation if you were on Resend's shared pool.

Also Compare

Deploy to your AWS in 2 minutes

Free to start. No credit card required. Your infrastructure, your data, AWS pricing.

Last updated: March 2026. We update this page as pricing and features change.

Seen something inaccurate? Let us know at hey@wraps.dev