Your agent can send
a text message.
$0.10.
No API key. No account. No contract. The agent asks, gets a 402, signs with its own wallet, and the message goes out — through a verified toll-free number, past a compliance gate that refuses for free.
Payment is a protocol, not a signup flow
HTTP 402 has been reserved for payment since 1997 and unused ever since. x402 finally gives it a body: the price, the asset, and the address, in a form an agent can act on without a human in the loop.
Ask
The agent calls send_sms with a number and a message. No credentials, because there is nothing to hold.
Get quoted
We answer 402 with the price, the USDC contract, and the address to pay. The agent signs an EIP-3009 authorization with its own key. We never see that key.
Send
It retries with the signed payload. Screening runs, the message goes to the carrier, and settlement happens alongside it. One round trip, one payment.
Anyone can wrap Twilio. The refusals are the product.
Sending a text is easy. Not sending the one that costs you $1,500 per message under the TCPA is the hard part, and it is the part an agent cannot be trusted to get right on its own.
- ✕Opted out. Anyone who replied STOP is refused forever, before payment.
- ✕Not a US number. One toll-free sender, +1 only. Everything else is refused rather than silently dropped.
- ✕Carrier-prohibited content. Sex, hate, alcohol, firearms, tobacco, cannabis — plus loans and gambling. Screened every time.
- ✕Too long. Refused instead of quietly fragmenting into nine billed segments.
- ✕Over the rate limit. Per wallet, per minute, hour and day. Protects the sender reputation everyone shares.
- ✕Blocked wallet. One row in a table. No appeal queue, no negotiation.
A refusal is never charged. Every check above runs before settlement is attempted, so there is no refund path to get wrong and nothing to dispute. The agent gets a machine-readable reason and its money never moved.
Every message that does go out carries opt-out instructions, appended automatically when the caller forgets. Every attempt — sent or refused — lands in an audit log that stores salted hashes, never the number and never the body.
No minimum, no subscription, no invoice, no negotiation. You pay for the messages that go out.
- Refused
- $0.00
- Settlement
- USDC on Base
- Custody
- None — you sign
- Coverage
- United States
One URL
Add it as a remote MCP server. Stateless streamable HTTP — no session to keep alive, no SDK to install, nothing to download.
https://mcp.tollkit.dev/mcp
POST https://sms.tollkit.dev/send
Machine-readable catalog at /api/index.json. Connecting constitutes acceptance of the Terms of Service.