Pay-per-call SMS verification via x402 (no account needed)
LIVE. Call without payment to receive the HTTP 402 payment manifest (accepted networks/assets/prices); retry with a valid X-PAYMENT header to settle inline and receive the OTP in the same response.
Canonical discovery manifest (always up to date on accepted networks + status): https://virtualsms.io/.well-known/x402.json
Accepted payment rails at time of writing: Base USDC, Solana USDC, Solana USDT, BNB Chain USDC, BNB Chain USDT.
Pricing: there is no flat per-call rate. The amount in the 402 challenge is the ordinary catalogue price for the requested service + country — the same price the storefront and a topped-up balance pay. The optional max_price_usdc field is a ceiling ($5 maximum): it refuses a call priced above your limit, it never sets the price.
Best for a single one-off verification. An agent making many calls should use /api/v1/x402/topup instead — deposit once ($2.50 minimum), get a reusable balance and an API key, then spend it through the standard customer API at the same prices.
Note: a standalone /api/v1/x402/facilitator endpoint is NOT deployed (roadmap only) — do not call it, it 404s. Settlement for sms-verify and topup both happen inline in their own handlers; there is no separate facilitator call.
Request
- Base URL: https://virtualsms.io
- URL: https://virtualsms.io/api/v1/x402/sms-verify
- Auth: one of:
- API key in header X-API-Key
- API key in query parameter api_key
Request body
Example request
{
"service": "telegram",
"country": "US",
"max_price_usdc": 5
}Response
Payment settled — verification code returned
Changes
No recorded changes to this operation across all 1 revision of this API.