# Agent Dispatch > SMS for AI agents: send one SMS to a mobile number with one x402 payment in USDC. No account and no API key: any wallet that pays sends, in one call. ## Send one SMS 1. `POST https://agent-dispatch-production-4e75.up.railway.app/v1/sms` with the JSON body `{"to": "", "body": ""}`. 2. The answer is HTTP 402 with the x402 v2 challenge (header `PAYMENT-REQUIRED`, the same JSON in the body): one `accepts` entry per payment network, each with the exact price in USDC atomic units (1 USDC = 1000000). 3. Pay one entry with any x402 v2 client and repeat the identical request with the `PAYMENT-SIGNATURE` header. The payment is settled before the message is queued (`paymentFlow: upfront`). 4. The answer (202) is the order: follow it with `GET https://agent-dispatch-production-4e75.up.railway.app/v1/orders/{order_id}` until its message is `delivered` or `failed`. Repeating the same paid request returns the same order; never pay twice for one request. The unpaid request, which answers 402 with the price: curl -i -X POST https://agent-dispatch-production-4e75.up.railway.app/v1/sms -H 'Content-Type: application/json' -d '{"to":"+40700000000","body":"Your parcel arrives today between 14:00 and 16:00."}' Paying and sending in one command with an x402 client, for example the Coinbase agentic wallet CLI (put the real number in place of the example's): npx awal x402 pay https://agent-dispatch-production-4e75.up.railway.app/v1/sms -X POST -d '{"to":"+40700000000","body":"Your parcel arrives today between 14:00 and 16:00."}' ## Price - Each request costs a fixed fee of 0.001 USDC plus a price per SMS segment that depends on the destination country. A segment holds 160 GSM-7 characters (153 each when a text needs several) or 70 Unicode characters (67); `"normalize": "gsm"` replaces typographic punctuation and Latin diacritics so a text fits GSM-7. At most 6 segments per message. - An opt-out link is appended to every message and is part of the priced text. - Now: the example message above costs 0.055 USDC to RO. - The same message by destination, in USDC: RO 0.055. - One request costs between 0.055 and 0.325 USDC. - The 402 states the exact amount of every request. - Paid in USDC on: Base (`eip155:8453`, USDC `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`); Solana (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`, USDC `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`). ## Rules - Destinations: mobile numbers of RO. Transactional messages only. - No account, no API key and no step before: the payment is the only requirement. - A number that opted out (through the link in its messages) is refused. - Each wallet may spend up to 1000000000 USDC per day. ## Links - Contract (OpenAPI 3.1): https://agent-dispatch-production-4e75.up.railway.app/openapi.json (the same as https://agent-dispatch-production-4e75.up.railway.app/openapi.yaml) - x402 discovery: https://agent-dispatch-production-4e75.up.railway.app/.well-known/x402 - Service manifest: https://agent-dispatch-production-4e75.up.railway.app/.well-known/agent-dispatch.json - Order status: https://agent-dispatch-production-4e75.up.railway.app/v1/orders/{order_id}