Skip to main content
116
Countries
133 services, 400 carrier routes, 15,400+ live price points. Crypto only, zero identity checks.
Rent a Number
Phone numbers as a tool call · MCP · REST · x402

Your AI agent buys the number, reads the code and pays in crypto — no human, no KYC, no email.

Give any AI agent the power to provision anonymous phone numbers end to end — one-shot verification codes from $0.01 or dedicated rentals for 7, 14, 30 or 90 days from $4.20 — with zero human involvement at any step. Works with Claude Desktop, Claude Code, ChatGPT, Cursor, Continue, Cline, OpenClaw, n8n and any raw HTTP client. Coverage spans 133 services (Telegram, WhatsApp, Google, Discord, Tinder, OpenAI, Binance, Twitter/X, Coinbase, Apple, Microsoft, Steam, PayPal and more) across 116 countries and 400 carrier routes — 15,400+ live price points in total. Settle in 8 cryptocurrencies: Bitcoin, Monero, Ethereum, Litecoin, TRON, USDT (on ERC-20 and TRC-20) and SOL.

Claude Desktop Claude Code ChatGPT Cursor Continue Cline OpenClaw curl
Zero identity checks
Native MCP
OpenAPI 3.1 REST
x402-light USDC
8 coins
Free sandbox

Two things an agent can buy here

Both draw on a single prepaid balance — fund it once from $25 and mix codes with rentals freely.

One-time code

One-shot SMS verification

from $0.01, typically $0.20 – $1 · 20 minute window · refund on silence

One number catches one code, then retires. Made for signups, OTP prompts and throwaway registrations. If no SMS shows up within 20 minutes the charge flows back to your balance automatically. Choose from 15,400+ live price points across 133 services and 116 countries.

POST /api/v1/numbers
Dedicated line

Dedicated number rental

from $4.20 · 7 / 14 / 30 / 90 days · unlimited inbound SMS

Your agent gets a line nobody else can touch for 7, 14, 30 or 90 days, catching unlimited incoming SMS from every one of our 133 services. The right pick for accounts that live on — Telegram bots, WhatsApp profiles, recovery numbers, standing 2FA. Order several in one call to rotate a fleet.

POST /api.php?action=rental_buy

One backend, three ways in

Whatever your stack looks like, all three routes land on the same accounts, the same balance and the same /api/v1/* machinery.

MCP

MCP — native for Claude, Cursor, Continue, Cline

Point your MCP config at https://smsnokyc.com/mcp and eleven tools light up at once: list_services, list_countries, list_catalog, quote, create_account, topup, topup_status, buy_number, get_sms, cancel_number, agent_help.

REST

REST — for everything else that speaks HTTP

Clean JSON under /api/v1/ with Bearer seed auth and an OpenAPI 3.1 contract at /openapi.json. curl it, script it in Python or Go — anything with an HTTP stack qualifies.

x402-light

x402-light — USDC funding in a single exchange

Built for wallet-holding agents. Add X-Payment-Mode: x402 on /api/v1/topup and the 402 response carries USDC deposit instructions — one round trip, no facilitator, no middleman.

From empty wallet to received code in six requests

There is no SDK, no OAuth dance, no inbox to confirm. Call one — a free account and its seed. Call two — a crypto invoice for whatever amount you pick between $25 and $1000. From there every code or rental simply debits the balance.

Accounts cost nothing — usage draws on a prepaid balance. Opening an account is one free call: POST /api/v1/account hands back a seed phrase, and that seed is the entire identity — no email, no password, nothing else. The fresh balance sits at $0 until a /api/v1/topup call funds it with any amount from $25 to $1000 in the coin of your choice. After that, most codes run $0.20 to $1 and each rental starts at $4.20.

1Open the account

One free POST to /api/v1/account. Save the returned seed — it is the only key to the balance. Balance starts empty.

2Fund it with crypto

POST /api/v1/topup naming an amount and a coin — 8 accepted, from BTC and XMR to ETH, LTC, TRX, USDT on ERC-20 or TRC-20, plus SOL — then transfer exactly what the invoice states to the returned address.

3Watch the invoice settle

GET /api/v1/topup/{id} on a roughly 10 second loop. Once the network confirms, status flips to completed and the amount is credited to your balance.

4Purchase the number

POST /api/v1/numbers with a service_id and a country code. The balance is debited and a line is assigned within seconds.

5Pull the code

GET /api/v1/numbers/{id} until sms_code fills in — most codes land inside a minute. Cancel first and the full amount returns to balance.

curl — the entire code purchase, end to end
# 1. Create a free account — returns the seed (only credential)
curl -X POST https://smsnokyc.com/api/v1/account
# → {"account_seed":"AaBb-CcDd-EeFf-GgHh", "balance":0.00, ...}

# 2. Fund the balance (min $25, max $1000; pick any of 8 coins)
curl -X POST https://smsnokyc.com/api/v1/topup \
  -H 'Authorization: Bearer AaBb-CcDd-EeFf-GgHh' \
  -H 'Content-Type: application/json' \
  -d '{"amount_usd": 25, "crypto": "XMR"}'
# → {"topup_id":12345, "address":"4Abc...", "amount_crypto":"0.025", ...}

# 3. Pay XMR, then poll until completed
curl https://smsnokyc.com/api/v1/topup/12345 \
  -H 'Authorization: Bearer AaBb-CcDd-EeFf-GgHh'

# 4. Buy a SINGLE-USE SMS number (debits $0.20–$1)
curl -X POST https://smsnokyc.com/api/v1/numbers \
  -H 'Authorization: Bearer AaBb-CcDd-EeFf-GgHh' \
  -H 'Content-Type: application/json' \
  -d '{"service_id": 1, "country": "US"}'

# 5. Poll for SMS code (typically < 60 s)
curl https://smsnokyc.com/api/v1/numbers/86421 \
  -H 'Authorization: Bearer AaBb-CcDd-EeFf-GgHh'
# → {"phone_number":"+1...", "sms_code":"847291", "status":"completed"}
curl — reserving a dedicated line
# Alternative: rent a dedicated number for 7/14/30/90 days
# (unlimited incoming SMS, all services accepted)
curl -X POST 'https://smsnokyc.com/api.php?action=rental_buy' \
  -H 'Cookie: smsnokyc_session=...' \
  -d 'country=US&operator_id=1&duration=30&qty=1'
# → {"order_ids":[12346], "total":15.00, "duration":30}

Wire up MCP in under a minute /mcp

Drop the snippet below into Claude Desktop, Claude Code, Cursor, Continue or Cline, restart the client, then simply ask for a US number to verify a Google signup. The agent takes it from there.

~/.claude/mcp_settings.json (or Cursor/Continue/Cline equivalent)
{
  "mcpServers": {
    "smsnokyc": {
      "url": "https://smsnokyc.com/mcp"
    }
  }
}

Eleven tools, one endpoint

list_services
list_countries
list_catalog
quote
create_account
topup
topup_status
buy_number
get_sms
cancel_number
agent_help

Once connected, run agent_help() — the server ships its own canonical walkthrough with worked examples, so the recipe travels with the tool.

x402-light — fund the balance in one 402 exchange x402-light

Attach the X-Payment-Mode: x402 header to /api/v1/topup and the API answers with HTTP 402, carrying USDC (ERC-20) deposit details in both the X-Payment-Required header and the JSON body. Transfer the USDC, poll once, start spending. Note that x402-light covers funding only — purchases themselves always debit the prepaid balance.

x402-light — a 402 response that doubles as a USDC invoice
curl -X POST https://smsnokyc.com/api/v1/topup \
  -H 'Authorization: Bearer AaBb-CcDd-EeFf-GgHh' \
  -H 'X-Payment-Mode: x402' \
  -d '{"amount_usd": 25}'

# ← HTTP/1.1 402 Payment Required
# ← X-Payment-Required: {"network":"erc20","token":"USDCETH",
# ←  "amount_usdc":"25","recipient":"0xff...","expires_in":900}

Dry-run sandbox — integrate first, spend later dry_run=1

Every /api/v1/* endpoint accepts ?dry_run=1, the X-Dry-Run: 1 header, or dry_run: true in the body. In this mode the synthetic top-up flips to completed after 60 seconds, the synthetic number hands back the code 123456 after 30 seconds, and nothing touches the production database. Wire up your whole agent loop before a single satoshi moves.

dry-run — wallet stays sealed, nothing real gets created
curl -X POST 'https://smsnokyc.com/api/v1/account?dry_run=1' \
  -H 'Content-Type: application/json' \
  -d '{"crypto":"XMR"}'
# Then poll the synthetic topup, buy a number, get SMS "123456" — all fake.

What autonomous agents actually do with this

Recurring patterns pulled from real agentic traffic.

Bulk account provisioning

Growth agents spin up batches of Telegram, Discord or Twitter/X profiles in parallel, drawing a fresh number from a different country for each one.

Unblocking headless logins

A research agent hits a login wall that only accepts SMS OTP. It provisions a line, catches the code, finishes the session and drops the number.

Exchange signups without a personal SIM

Pass the phone check on Binance, Coinbase or Kraken while the real number stays private — the agent settles in stablecoin from its own wallet.

OTP flows tested across borders

Loop one API call per country and confirm your own product delivers OTP correctly across a 116-country footprint.

Assistants shielding user privacy

A user asks Claude or ChatGPT to open an account somewhere; the assistant sources the number and relays the code so the personal phone never appears anywhere.

White-label SMS tooling

Agent platforms wrap the API and expose anonymous verification as a built-in capability to their own customer base — resale with zero friction.

Standing lines for long-lived bots

A persistent agent keeps a 30 or 90 day Telegram number on rental and reads incoming alerts month after month — no recurring human re-verification.

Rotating fleets for ad operations

Rent five or ten long-term numbers spread across countries, bind one per marketing account, and let the agent rotate the pool on schedule.

Six reasons this fits agent workflows

The properties that let an autonomous process verify phones without a human safety net.

Identity-free by design

No name, no inbox, no document upload, no captcha maze. A seed phrase is the whole account, with optional TOTP 2FA on top.

Seconds, not minutes

Lines are assigned near-instantly and most codes arrive inside 60 seconds. Silence triggers an automatic refund.

116 countries on tap

One API surface, 400 carrier routes, and virtual, physical and premium operator tiers to pick from per route.

133 services covered

Telegram, WhatsApp, Google, Discord, OpenAI, Binance, Tinder, Twitter/X and more — query any service and country pair for a live quote.

Sandbox on every endpoint

dry_run=1 simulates the entire journey — account, top-up, purchase, code — while your wallet stays sealed.

Prepaid with an escape hatch

Cancel before the code lands and the balance is restored on the spot. Top up exact amounts to hard-cap what a session can spend.

Point your agent at the spec and go

Every endpoint, schema and error shape is documented in machine-readable form at https://smsnokyc.com/openapi.json — hand that URL to your agent and let it explore.

FAQ

Answers for teams wiring SmsNoKYC into agent pipelines.

Is $25 really the smallest first top-up?

Yes — $25 is the floor on every balance top-up, the first one included, with a $1000 ceiling per top-up. Nothing is skimmed as a fee: the full amount lands on your balance once the network confirms, and at typical code prices of $0.20 to $1 it covers roughly 25 to 125 verifications. The floor exists for one reason — it filters out disposable accounts that would drag down delivery quality for the whole pool.

Which agents and IDEs are supported?

Anything that speaks MCP connects natively: Claude Desktop, Claude Code, Cursor, Continue, Cline and every other Model Context Protocol client. Agents without MCP support — ChatGPT integrations, OpenClaw, n8n workflows, plain Python scripts, long-running managed agents — hit the identical backend over HTTPS at /api/v1/* with the same seed-based Bearer auth and the same flow.

No code arrived — do I lose the money?

No. Fire /api/v1/numbers/{id}/cancel at any point before a code lands and the full charge bounces straight back to your balance. Forgot to cancel? The order self-expires at the 20 minute mark and refunds itself. Money only stays spent when a code actually arrives on a number you kept open.

Can I integrate without spending real crypto?

Append ?dry_run=1 to any /api/v1/* call — or send the X-Dry-Run: 1 header, or put dry_run: true in the JSON body. The sandbox walks itself forward: the seed comes back as AAAA-DRYR-DRYR-DRYR, the top-up completes after 60 seconds, buy_number issues a synthetic +1-555-DRY-XXXX line, and get_sms serves the code 123456 after 30 seconds. No payment rail is contacted, no rows hit topups or orders, nothing real is provisioned. Every MCP tool takes the same dry_run flag.

One-shot verification or rental — which one do I need?

A one-shot verification (POST /api/v1/numbers) gives you a single number that catches a single code, stays live for 20 minutes and typically costs $0.20 to $1 — built for signups and OTP prompts. A rental (POST /api.php?action=rental_buy) hands your agent a dedicated line for 7, 14, 30 or 90 days that accepts unlimited incoming SMS from every service, starting at $4.20 — built for accounts the agent keeps alive, like a Telegram bot it monitors for months. Both draw from one shared balance funded in top-ups of $25 or more. A native /api/v1/rentals endpoint is on the roadmap; until then the legacy rental_buy action accepts the same Bearer seed auth.