Endpoint
Pricing per verification depends on service + country and matches the rates published at
/api/v1/services. There is no per-call premium for the x402 path. Agents pay the same as customers using the REST API key path.
Supported networks
Polygon, Arbitrum, and Optimism are intentionally not in the manifest. VirtualSMS routes settlement through Base + Solana to keep gas + bridging overhead low for agent flows.
Request body
How the flow works
- Your agent sends
POST /api/v1/x402/topupwith the desired top-up amount - The endpoint returns HTTP 402 Payment Required with a payment manifest listing every supported network/token + recipient wallet + price
- Your agent picks one network/token, signs an authorization for the amount, and submits it via the standard x402
X-PAYMENTheader - VirtualSMS verifies the signature, settles on-chain, then returns
{api_key, balance_usd, user_id, endpoints}: the API key is immediately usable - The agent then calls
/api/v1/customer/purchase,/api/v1/customer/order/{id}, and the rest of the REST API with the issued key, drawing from the funded balance
Sample 402 response
Output schema (after successful settlement)
api_key is a standard VirtualSMS key: it works with every REST endpoint, supports all services and countries we list, and can be re-used until the balance is exhausted or the agent tops up again against the same key.
Topping up an existing key
To add to a balance without provisioning a new account, include the existing API key:api_key plus the new balance_usd.
Why top-up instead of per-call settlement
An earlier per-call/sms-verify endpoint returned a flat 0.05 to $7 service price range, and a single signature per SMS added meaningful latency for high-volume agents. The endpoint now returns HTTP 410 Gone with a pointer to /topup. One up-front signature funds N verifications at the same retail rates, and the resulting API key works with the full REST surface.