228 destinationsNo KYCCrypto only
Bulk SMS to any phone on Earth.
No KYC. Paid in crypto.
Bulk campaigns and a one-call API for 228 destinations. No identity checks, no contract, no monthly fee. Fund in Bitcoin, Monero or USDT and send within minutes, at rates about 53% below the other crypto-paid gateways we track.
01Why senders move here
Everything a gateway should have. Nothing that slows you down.
Most providers sell compliance theatre: onboarding calls, document uploads, quotes on request. We sell messages that arrive, at a price you can read before you sign up.
Open an account-
No KYC, no paperwork
An email address opens the account. No passport, no company registry, no phone verification, no sales call.
How we keep it that way -
Crypto-native billing
Top up in BTC, XMR, USDT and four more. Credit lands after confirmation, is spent per message and never expires.
Accepted coins -
Published rates, no tiers
One price per destination, identical from your first message to your millionth. Printed below, with the date of the last change.
Read the rate card -
Panel and API, one balance
Upload a CSV and send from the browser, or call one HTTP endpoint. Same routes, same reports, same credit.
See the API
02How it works
From sign-up to delivered in three steps.
No onboarding queue. The account is live the moment you create it; sending starts when the first top-up is confirmed on chain.
-
1
Open an account with an email
An email address and a password. That is the whole form: no confirmation link, no documents, no call.
-
2
Top up in crypto
Pick a coin, send the amount shown to your deposit address. Balance is credited after network confirmation, shown in USD.
-
3
Compose, import, send
Paste numbers or upload a CSV, set the sender, preview the cost, press send. Watch statuses arrive in real time.
03Live rate card
One price per destination.
Read it before you sign up.
| Destination | Our rate | Elsewhere from | You save | Action |
|---|---|---|---|---|
| $0.0084 | $0.0180 | 53% | Send | |
| $0.0130 | $0.0280 | 54% | Send | |
| $0.0238 | $0.0510 | 53% | Send | |
| $0.0042 | $0.0090 | 53% | Send | |
| $0.0256 | $0.0550 | 53% | Send | |
| $0.0326 | $0.0700 | 53% | Send | |
| $0.0698 | $0.1500 | 53% | Send | |
| $0.0163 | $0.0350 | 53% | Send | |
| $0.0470 | $0.1010 | 53% | Send | |
| $0.0512 | $0.1100 | 53% | Send | |
| $0.0223 | $0.0480 | 54% | Send | |
| $0.0372 | $0.0800 | 54% | Send |
No destination matches that search.
"Elsewhere from" is the lower published price of the two other crypto-paid gateways we track for the same route (their euro figures shown unconverted), last checked 22 September 2026. USD per SMS segment. Named comparisons.
04Built for developers
One request to send.
One webhook to know it landed.
A REST API with predictable JSON, idempotency keys and delivery webhooks. Keys are created in the panel; the same balance pays for both.
- Send, status, balance. Three endpoints cover 95% of integrations.
- Delivery webhooks with signed payloads and automatic retries.
- Idempotency keys so a retried request never double-sends.
- Samples in cURL, Python, Node and PHP, ready to paste.
curl https://api.smsmeteor.com/v1/messages \
-H "Authorization: Bearer $SMSMETEOR_KEY" \
-H "Idempotency-Key: 7c2a-order-4821" \
-d to="+14155550142" \
-d from="METEOR" \
-d text="Your order #4821 has shipped."
import requests
r = requests.post(
"https://api.smsmeteor.com/v1/messages",
headers={"Authorization": f"Bearer {KEY}",
"Idempotency-Key": "7c2a-order-4821"},
json={"to": "+14155550142", "from": "METEOR",
"text": "Your order #4821 has shipped."},
)
print(r.json()["id"], r.json()["status"])
const r = await fetch("https://api.smsmeteor.com/v1/messages", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SMSMETEOR_KEY}`,
"Idempotency-Key": "7c2a-order-4821",
"Content-Type": "application/json",
},
body: JSON.stringify({ to: "+14155550142", from: "METEOR",
text: "Your order #4821 has shipped." }),
});
const { id, status } = await r.json();
$ch = curl_init("https://api.smsmeteor.com/v1/messages");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer $key",
"Idempotency-Key: 7c2a-order-4821",
"Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["to" => "+14155550142",
"from" => "METEOR", "text" => "Your order #4821 has shipped."]),
]);
$msg = json_decode(curl_exec($ch), true);
{ "id": "msg_9Kd2fQ", "status": "queued",
"to": "+14155550142", "segments": 1,
"price": "0.0084", "currency": "USD" }
05Side by side
The parts of the gateway business we removed.
| SMSMeteor | Typical enterprise gateway | |
|---|---|---|
| Sign-up | Email address, 60 seconds | ID documents, company papers, review queue |
| Payment | Crypto, credited after confirmation | Card on file or monthly invoice |
| Pricing | Published per message, same for everyone | Quote on request, volume tiers |
| Commitment | None. Credit never expires | Monthly minimum or annual contract |
| Data kept about you | An email address | Identity file, billing profile, call notes |
| Getting started | Panel or API, live immediately | Sandbox first, production after approval |
06Payments
Pay in the coin you already hold.
Deposit, confirm, spend per message. Balance in USD, no contract, credit never expires.
BitcoinBTC
MoneroXMR
USDTUSDT
EthereumETH
LitecoinLTC
SolanaSOL
TronTRX
07Questions, answered
The things people ask before their first top-up.
Do I really not need to verify my identity?
No. An email address is enough to open an account and send. We do not ask for ID documents, company papers or a phone number, and we never will. Our terms still apply: spam and abuse get routes closed.
How do I pay?
Top up your balance in Bitcoin, Monero, USDT, Ethereum, Litecoin, Solana or Tron. Credit is applied after network confirmation and never expires. There is no card processor and no invoice cycle.
Is the price really per message?
Yes. Every destination has one published rate per SMS segment. No tiers, no minimum commitment, no setup fee. The rate you see in the table is the rate you pay from your first message.
What is the cheapest way to send?
Rates depend on the destination, not on volume. A single message to Brazil costs the same as the millionth one. Long texts are billed per 160-character segment (70 for Unicode), and the composer shows the segment count before you send.
Can I use my own sender name?
Alphanumeric sender IDs work on most routes and are set per campaign. Some countries force a numeric or shared sender; the coverage page lists the rule for each of the 228 destinations.
Do you provide an API?
Yes. One REST endpoint to send, one to check status, webhooks for delivery events. The same balance and rates apply whether you use the panel or the API. Keys are created in your account in one click.
How do I know a message was delivered?
Every message carries a status: queued, sent, delivered, failed, with the carrier code when one exists. Reports are visible in the panel, exportable as CSV and pushed to your webhook in real time.
What can I not send?
Anything illegal in the destination country, phishing, unsolicited bulk to harvested numbers, and impersonation of banks or public services. Our acceptable use policy is short and enforced.
Something else? Browse the help center, look up a term or write to us