Wraps Logo
Infrastructure / SMS

What Gets Deployed: SMS

Every AWS resource Wraps creates when you run wraps sms init.

Overview

Wraps SMS uses AWS End User Messaging Social (formerly Pinpoint SMS) to send text messages from your own AWS account. Like email, you own the infrastructure and pay AWS directly at transparent per-message pricing.

architecture.txt
# SMS Event Processing Pipeline## End User Messaging --> EventBridge --> SQS --> Lambda --> DynamoDB## 1. AWS End User Messaging Social sends SMS via phone number# 2. Delivery status events emitted to EventBridge# 3. SQS buffers events for reliable processing# 4. Lambda processes delivery receipts# 5. DynamoDB stores message history and delivery status

Core Resources

These resources are created regardless of which preset you choose.

IAM Rolewraps-sms-role
  • OIDC trust policy for Vercel (or IAM trust for AWS-native providers)
  • End User Messaging permissions for sending and managing SMS
  • Scoped to Wraps-managed resources only
Phone Number
  • Simulator phone number (Starter) or toll-free number (Production+)
  • Provisioned through AWS End User Messaging
  • Toll-free numbers support higher throughput and carrier trust
Opt-Out List
  • Automatic opt-out management (recipients can reply STOP)
  • Maintained by AWS, ensuring TCPA compliance
  • Wraps automatically respects opt-out status before sending
Event Tracking
  • Delivery status tracking (sent, delivered, failed, opted-out)
  • Carrier response codes captured
  • Events routed through EventBridge for Production+ presets

Starter Preset~$1/mo

The Starter preset provides a simulator phone number for testing and basic SMS sending capabilities.

Included Features
  • Simulator phone number for development and testing
  • Basic send and receive capabilities
  • Opt-out list management
  • Delivery status tracking (synchronous)

Best for

Development, testing, and prototyping. The simulator number lets you test your SMS integration without incurring per-message charges.

Production Preset~$2-10/mo

The Production preset includes a toll-free phone number, real-time event tracking, and opt-out management for live applications.

Toll-Free Phone Number
  • Dedicated toll-free number (~$2/mo)
  • Higher carrier trust and deliverability
  • Supports both transactional and promotional messages
  • Two-way messaging (recipients can reply to your number)
Event Processing Pipeline
  • EventBridge rule capturing delivery status events
  • SQS queue with dead-letter queue for reliable processing
  • Lambda function processing events into DynamoDB
  • DynamoDB table for message history (90-day TTL)
Opt-Out Management
  • Automatic STOP keyword handling
  • Opt-out status checked before every send (prevents accidental messages)
  • Dashboard view of opt-out statistics

Recommended for most applications

The Production preset gives you a real phone number, delivery tracking, and compliance-ready opt-out management for live SMS sending.

Enterprise Preset~$10-50/mo

The Enterprise preset includes everything in Production plus link tracking, dedicated throughput, and extended history.

Link Tracking
  • Automatic URL shortening and click tracking in messages
  • Click-through rate analytics in the dashboard
  • Custom short domain support
Dedicated Throughput
  • Higher messages-per-second rate for bulk sending
  • Dedicated throughput allocation from AWS
  • Consistent delivery performance under load
Extended History
  • 365-day message history retention (vs 90 days)
  • Full delivery audit trail
  • Useful for compliance and reporting requirements

Cost Breakdown

Estimated monthly costs by message volume. All costs are billed directly by AWS to your account.

VolumeStarterProductionEnterprise
1K/mo~$9~$11~$19
10K/mo~$81~$83~$91
100K/mo~$801~$805~$815

AWS SMS pricing

SMS pricing is ~$0.00581 per message segment for US destinations. Messages over 160 characters are split into multiple segments. Toll-free numbers cost ~$2/mo. Infrastructure costs (DynamoDB, Lambda, SQS) are additional but minimal.

Resource Tags

All SMS resources are tagged for identification and cost tracking.

Tag KeyTag ValueDescription
ManagedBywraps-cliIdentifies resources managed by Wraps

Next Steps

SMS CLI Reference

All available SMS CLI commands and options.

View CLI Docs
SMS SDK Reference

Send text messages with the TypeScript SDK after deploying.

View SDK Docs

Need Help?

If you run into any issues, check our GitHub discussions or open an issue.

Get Help