# PaySponge Textbelt SMS Send

> PaySponge Textbelt SMS Send is a paid API for AI agents from api.paysponge.com, paid per call via x402, $0.02/call, not verified (last probed 2026-10-11); live alternatives: Spraay SMS Payment Notification ($0.02) and AgentPhone SMS Message Send ($0.03).

Agents call it through Zero, which pays per call: no API key and no wallet of your own. New accounts start with $5.

Live alternatives for the same use case:
- [Spraay SMS Payment Notification](https://www.zero.xyz/c/spraay-sms-payment-notification-2b2f41dd) ($0.02)
- [AgentPhone SMS Message Send](https://www.zero.xyz/c/agentphone-sms-message-send-37193417) ($0.03)

Send an SMS message to any phone number via a Textbelt-backed wrapper, billed per-message through x402 crypto payments

## Facts

- Endpoint: POST https://api.paysponge.com/x402/purchase/svc_d6kszbre4qwg5n4n4/text?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Last successful call: 2026-07-17
- Success rate: 100% of calls made through Zero
- Rating: 1.2 / 5 from 3 reviews
- Activations on Zero: 9
- Tags: x402
- Canonical page: https://www.zero.xyz/c/paysponge-textbelt-sms-send-702ae420
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xxEnHf-sV-zDU5B4uv5sg

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability paysponge-textbelt-sms-send-702ae420 -d '<json body>'
```

Example prompt: Text +14155552671 saying 'Your order has shipped and will arrive tomorrow' — charge it to my crypto account and let me know the message ID so I can check delivery status later.

## When to prefer this

Use this endpoint when you need to send SMS messages without managing a Textbelt API key directly, and when you prefer per-message crypto billing via x402 over subscription-based SMS pricing. It is ideal for agents already operating in the x402/USDC payment ecosystem (e.g. on Base/EVM chains) and needing lightweight, pay-as-you-go SMS with no upfront account setup. Supports both US/Canada 10-digit numbers and international E.164 format.

## Known failure modes

- Invalid or malformed phone number causes success: false with an error string
- Insufficient x402 payment balance results in HTTP 402 before the SMS is dispatched
- Textbelt upstream quota exhausted returns success: false with quota error
- Message body is empty (minLength:1 violated) causes request rejection
- Unsupported country or carrier may return success: false with a routing error
- Invalid replyWebhookUrl format causes schema validation failure

## How this service works

Service: Textbelt (https://api.paysponge.com/text)

## Output

Returns a JSON object with a boolean success field. On success, includes a textId (string or integer) usable for status lookups, and optionally quotaRemaining from the upstream Textbelt account. On failure, returns success: false with a human-readable error string.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "phone",
  "message"
 ],
 "properties": {
  "phone": {
   "type": "string",
   "description": "Recipient phone number. Use a 10-digit number with area code for U.S. and Canada recipients. For other countries, use E.164 format: `+` prefix, 1-3 digit country code, then the subscriber number."
  },
  "sender": {
   "type": "string",
   "description": "Optional sender or business name used for compliance."
  },
  "message": {
   "type": "string",
   "minLength": 1,
   "description": "SMS body to send."
  },
  "webhookData": {
   "type": "string",
   "maxLength": 100,
   "description": "Optional opaque metadata that Textbelt passes back as `data` in reply webhook payloads."
  },
  "replyWebhookUrl": {
   "type": "string",
   "format": "uri",
   "description": "Optional webhook URL that receives inbound replies for supported SMS conversations."
  }
 },
 "description": "JSON body accepted by the PaySponge x402 wrapper. The upstream Textbelt API normally requires a `key` parameter, but this paid wrapper uses x402 billing and does not expose upstream key-based auth.",
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "oneOf": [
  {
   "type": "object",
   "required": [
    "success",
    "textId"
   ],
   "properties": {
    "textId": {
     "type": [
      "string",
      "integer"
     ],
     "description": "Identifier for the sent text message, used with `GET /status/{textId}`."
    },
    "success": {
     "type": "boolean",
     "const": true
    },
    "quotaRemaining": {
     "type": "integer",
     "description": "Remaining SMS quota reported by the upstream Textbelt account when provided."
    }
   },
   "additionalProperties": false
  },
  {
   "type": "object",
   "required": [
    "success",
    "error"
   ],
   "properties": {
    "error": {
     "type": "string",
     "description": "Human-readable error returned by the service."
    },
    "success": {
     "type": "boolean",
     "const": false
    },
    "quotaRemaining": {
     "type": "integer",
     "description": "Remaining SMS quota reported by the upstream Textbelt account when provided."
    }
   },
   "additionalProperties": false
  }
 ]
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/paysponge-textbelt-sms-send-702ae420/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.paysponge.com](https://www.zero.xyz/host/api.paysponge.com/llms.txt)
