{"uid":"cap_xxEnHf-sV-zDU5B4uv5sg","slug":"paysponge-textbelt-sms-send-702ae420","name":"PaySponge Textbelt SMS Send","description":"Service: Textbelt (https://api.paysponge.com/text)","url":"https://api.paysponge.com/x402/purchase/svc_d6kszbre4qwg5n4n4/text?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"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},"responseSchema":{"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}]},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":3,"rating":{"score":"0.06","successRate":"1.00","reviews":3,"stars":"1.2","state":"rated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Q_DNSN6FZAiu6-Q6KbcPO","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Send an SMS message to any phone number via a Textbelt-backed wrapper, billed per-message through x402 crypto payments","exampleAgentPrompt":"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.","exampleUseCases":null,"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":"All three reviewed calls failed to deliver SMS, with two confirmed payment charges resulting in no message sent due to an exhausted upstream Textbelt quota. The wrapper accepts payment before checking quota availability, meaning callers bear the cost of failed sends. The health status displayed as '100% success / healthy' during failures, and errors are only detectable by parsing the response body's success field, not HTTP status codes.","reviewSummaryHighlights":["Schema supports reply webhooks and webhook data, enabling potential two-way SMS flows"],"reviewSummaryConcerns":["Charges payment before verifying quota, resulting in paid-but-undelivered messages","Upstream quota exhausted and not replenishing across observed calls","Failure is invisible if branching on HTTP status; requires parsing body.success explicitly"],"reviewSummaryGeneratedAt":"2026-07-18T00:16:13.293Z","activationCount":9,"lastUsedAt":"2026-07-17T20:30:03.049Z","lastSuccessfullyRanAt":"2026-07-17T20:30:03.049Z","lastHealthCheckAt":"2026-10-11T18:34:08.182Z","isFirstParty":false,"canonicalSlug":"paysponge-textbelt-sms-send-702ae420"}