Skip to main content
Presets are named configurations that determine which AWS resources are provisioned when you run wraps email init or wraps sms init. You pick a preset at deploy time; you can always add more features later with wraps email upgrade.

Selecting a preset

Pass --preset to the init command:
wraps email init --preset production
wraps sms init --preset starter
Omitting --preset launches the interactive prompt, which lets you compare options before committing.
Use --preset custom to configure every option interactively rather than starting from a named preset.

Email presets

PresetEst. monthly costFeatures
starter~$0.05Open/click tracking, bounce suppression
production~$2–5+ Event tracking, 90-day history, reputation metrics
enterprise~$50–100+ Dedicated IP, 1-year history, all event types

starter

The lowest-cost option. Provisions SES with open and click tracking and a bounce-suppression list. No DynamoDB history table.Best for: personal projects, low-volume transactional email, testing.

production

Adds event tracking via EventBridge and Lambda, a DynamoDB table with 90-day event history, and reputation metrics. Covers the needs of most production applications.Best for: SaaS products, notification pipelines, marketing sends.

enterprise

Adds a dedicated IP address, extends history retention to 1 year, and enables all SES event types (sends, deliveries, bounces, complaints, clicks, opens, rendering failures, subscriptions).
Dedicated IPs require a warming period of several weeks before they reliably reach the inbox. Do not move cold sending volume to a dedicated IP without a warm-up plan.
Best for: high-volume senders who need consistent IP reputation and compliance-grade event history.

AWS usage costs

Preset costs above cover the infrastructure Wraps provisions (DynamoDB, Lambda, EventBridge, dedicated IPs, etc.). AWS also charges per message sent:
ServiceAWS usage cost
Email$0.10 per 1,000 emails (SES)
SMS~$0.00849 per segment + carrier fees
These usage charges apply regardless of preset.

Custom preset

Passing --preset custom (or choosing Custom in the interactive prompt) skips the named preset and walks you through every configuration option individually: tracking, event history retention, dedicated IPs, archiving, and more.
wraps email init --preset custom
Use this when you need a configuration that falls between named presets, or when you want explicit control over each feature.

Upgrading after deployment

Presets are applied at deploy time, but you are not locked in. Run the upgrade command to add features to an existing deployment:
wraps email upgrade
wraps sms upgrade
The upgrade command presents only the features not already enabled, so you can move from starter to production to enterprise incrementally.
Upgrading never destroys existing resources. Wraps is non-destructive and prefixes all resources with wraps-.

Build docs developers (and LLMs) love