Prerequisites
- Node.js 20+
- AWS credentials configured (guide)
- A phone number to test with (in E.164 format, e.g.,
+14155551234)
What gets deployed
Runningwraps sms init creates the following resources in your AWS account:
| Resource | Details |
|---|---|
| Phone number | Simulator, toll-free, or 10DLC depending on preset |
| Configuration set | Named wraps-sms-config with delivery tracking |
| Phone pool | Groups numbers for sending |
| Opt-out list | Manages opt-out compliance automatically |
| Protect configuration | Fraud protection with country-level allow/block lists |
| SNS topic + SQS queue | Event routing for delivery receipts |
| DynamoDB table | Message history (production and enterprise presets) |
| IAM role | Least-privilege role for SDK access |
Configuration presets
| Preset | Estimated cost | Features |
|---|---|---|
starter | ~$1/mo | Simulator phone number, basic tracking |
production | ~$2–10/mo | Toll-free number, event tracking, message history |
enterprise | ~$10–50/mo | Full features, link tracking, 1-year history |
Deploy infrastructure
Run the following command. No install required.The CLI will prompt you for:Deployment takes about 2–3 minutes. When complete, the CLI prints your phone number, configuration set name, and IAM role ARN.
- Hosting provider — Vercel, AWS, Railway, or other
- AWS region — defaults to your configured region
- Configuration preset — starter, production, or enterprise
- Allowed countries — for fraud protection (blocks SMS to unlisted countries)
The
starter preset provisions a simulator phone number for testing only. It supports 100 messages/day and does not require carrier registration. Upgrade to production for a real toll-free number.Verify a destination number
New AWS accounts start in sandbox mode. In sandbox mode you can only send to phone numbers you have explicitly verified.Verify a destination number:AWS sends a verification code to that number via SMS. Once you receive it:List all verified numbers at any time:
Send a test SMS
Send a test message using the CLI:If the message is delivered, you’ll see a success message with the message ID.
Production readiness
Before sending to real users:- Request production access in the AWS End User Messaging console to exit sandbox mode.
- Register your toll-free number (required for production use, takes ~15 days):
- Check SMS status to confirm your number and configuration:
Next steps
SMS SDK reference
Batch sending, opt-out management, and error handling.
Opt-out management
Check, add, and remove opt-outs programmatically.
CLI SMS reference
Full reference for every
wraps sms command and flag.AWS credentials
Configure credentials for local development and CI/CD.
