# SMS Infrastructure

Source: https://wraps.dev/sms

![Wraps Logo](https://wraps.dev/wraps-light-logo.png)![Wraps Logo](https://wraps.dev/wraps-dark-logo.png)

](https://wraps.dev/)

[](https://github.com/wraps-team/wraps)[Log in](https://app.wraps.dev/auth?mode=signin)[Sign up](https://app.wraps.dev/auth?mode=signup)

Toggle menu

wraps · sms

# AWS SMS, simplified.

Deploy self-hosted SMS infrastructure to your AWS account. Toll-free first, TypeScript SDK, zero vendor lock-in.

[Get Started](https://wraps.dev/docs/quickstart/sms)[CLI Reference](https://wraps.dev/docs/cli-reference/sms)

index.ts

```
import { WrapsSMS } from '@wraps.dev/sms';

const sms = new WrapsSMS();

await sms.send({
  to: '+14155551234',
  message: 'Your code is 123456',
});
```

Why Wraps SMS?

## SMS without the headaches

The same BYOC model that makes our email product compelling, now for SMS.

### Toll-Free First

Provision a number ($2/mo) and register it in 1-15 business days. Skip the months-long 10DLC nightmare and start sending in days, not weeks.

Days, not months

### Self-Hosted Infrastructure

Deploy to your AWS account. You own your phone numbers, your data, and your infrastructure. No vendor lock-in, full data residency control.

Your AWS account

### AWS Pricing

Pay AWS directly — roughly $0.0075/segment plus carrier fees, which AWS passes through at cost. No platform markups, no surprise fees. Just transparent cloud pricing you can actually understand.

~$0.01/segment all-in

Features

## Built for developers

Everything you need to send SMS at scale, without the complexity.

### TypeScript SDK

Simple, type-safe @wraps.dev/sms package. Send SMS with a single function call.

### Registration Checklist

\`wraps sms register\` walks you through what toll-free registration needs and opens the AWS console at the right page. 10DLC is guidance only — you file it yourself.

### Zero Stored Credentials

OIDC authentication with your hosting provider. We never store your AWS credentials.

### Batch Sending

\`sendBatch()\` fans one message out across many recipients and returns a per-recipient result, so a single failure doesn't lose the run.

### Opt-Out List

The stack deploys a managed AWS opt-out list. Check, add, and remove numbers from the SDK so STOP replies are honored automatically.

### Delivery Events & Dashboard

Delivery events land in a DynamoDB table in your account. The dashboard reads them for volume, deliverability, and AWS spend limits.

Pricing

## Transparent pricing

Estimates below: roughly $0.0075/segment plus carrier fees and $2/mo for a toll-free number. AWS passes carrier fees through at cost and they vary by carrier, so your exact rate comes from AWS. No monthly platform subscription, no per-seat fees, and no markup from us.

### Monthly AWS Cost

| Segments | Messages | Carrier | Number | Total |
| --- | --- | --- | --- | --- |
| 10K/mo | $75.00 | $30.00 | $2.00 | $107.00 |
| 50K/mo | $375.00 | $150.00 | $2.00 | $527.00 |
| 100K/mo | $750.00 | $300.00 | $2.00 | $1,052.00 |

\* Estimated at $0.0075/segment plus an average $0.003 carrier fee and $2/mo for one toll-free number — the same figures `wraps sms init` quotes. AWS does not publish a single US rate: carrier fees are passed through at cost and vary by carrier and message type, so your exact per-message price shows up in your AWS usage report. You pay AWS directly. Wraps Platform sold separately.

### Feature Comparison

| Feature | Wraps | Twilio |
| --- | --- | --- |
| Own your infrastructure |  |  |
| Transparent AWS pricing |  |  |
| No platform markup |  |  |
| Data residency control |  |  |
| TypeScript SDK |  |  |
| Batch sending |  |  |

wraps · sms

## Start sending SMS today

Deploy SMS infrastructure to your AWS account in under 2 minutes. Same BYOC model as email — you own everything, pay AWS directly.

Toll-free numbers included

TypeScript SDK

Zero vendor lock-in

Real-time dashboard

[Get Started](https://wraps.dev/docs/quickstart/sms)[CLI Reference](https://wraps.dev/docs/cli-reference/sms)
