Send SMS (A La Carte)
Send a one-off SMS to any phone worldwide. Omit `from` (or set `from: "pool"`) to use Dial's shared pool ($0.05/msg, outbound-only). Set `from` to your leased E.164 to send from your owned line (two-way, quota/credits). Pool sender line is chosen server-side and cannot be pinned per message.
Send a one-off SMS to any phone worldwide. Omit from (or set from: "pool") to use Dial's shared pool ($0.05/msg, outbound-only). Set from to your leased E.164 to send from your owned line (two-way, quota/credits). Pool sender line is chosen server-side and cannot be pinned per message.
Authorization
x402 x402 payment header. When a request is sent without payment, the server returns 402 Payment Required with the price and payTo address. The caller signs an EIP-3009 transferWithAuthorization for USDC on Base and resubmits with the signed payment in this header. See https://docs.x402.org
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://payphone.wtf/api/v1/sms/send" \ -H "Content-Type: application/json" \ -d '{ "to": "string", "message": "string" }'{
"success": true,
"provider": "string",
"messageId": "string",
"from": "string"
}{
"x402Version": 2,
"accepts": [
{
"scheme": "exact",
"network": "eip155:8453",
"amount": "100000",
"payTo": "string"
}
]
}Renew Phone Line POST
Renew your phone line for another 30 days. $60/mo includes 5,000 free texts. Requires Privy bearer + x402 payment.
Send SMS (Own Line) POST
Send SMS from your exclusive phone line. $0.05 per message after your included quota is used (10k first month, 5k/mo after). Requires Privy bearer plus x402 payment.