An XMPP-based phone number service that bridges real phone calls and SMS to your encrypted messaging client — technically clever but requires comfort with XMPP setup.
This toolkit is for informational purposes. Security needs vary by situation. No tool guarantees complete privacy or anonymity.
Messages and calls are delivered via XMPP with OMEMO encryption to your client; carrier-side SMS remains unencrypted.
Can register with an anonymous email and pay with Bitcoin; XMPP federation adds metadata resistance.
Built on open standards (XMPP, SIP) with open source server components; client choice is up to the user.
Canadian company; operates phone numbers through VoIP carriers with standard telecommunications compliance.
Small operation running since 2017; niche user base with limited public security auditing or stress testing.
Requires setting up an XMPP client, understanding JIDs, and configuring SIP for voice — steep for non-technical users.
Works through any XMPP client on any platform, but requires manual setup and lacks a dedicated polished app.
Accepts Bitcoin and credit card; pricing is transparent but anonymous payment setup requires extra steps.
JMP.chat is a phone number service that routes calls and texts over the XMPP (Jabber) protocol instead of the traditional carrier network. You get a real US or Canadian phone number that can send and receive SMS, MMS, and voice calls — but instead of going through a cell carrier tied to your identity, the traffic is delivered to any XMPP client of your choice. No SIM card. No carrier account. No identity verification. JMP.chat essentially converts phone service into an internet protocol, decoupling your phone number from your physical device and your real identity.
For crisis privacy, JMP.chat provides something rare: a fully functional phone number with no identity linkage and minimal metadata exposure. Unlike traditional VoIP services that require a credit card and mailing address, or carrier SIMs that require ID in many jurisdictions, JMP.chat can be set up with nothing more than a Bitcoin payment and an XMPP account. The number works for SMS verification on most platforms, which makes it a viable replacement for your real phone number in account registrations.
JMP.chat is best suited for technically comfortable users who want maximum control over their phone number privacy. It requires setting up an XMPP client and understanding the basics of the XMPP protocol, which is more involved than downloading an app. But for those willing to invest the setup time, JMP.chat provides the most flexible and privacy-respecting phone number service available.
JMP.chat leverages XMPP's built-in encryption capabilities. When using an XMPP client that supports OMEMO (the XMPP equivalent of Signal's double ratchet protocol), your messages between your XMPP client and the JMP.chat server are end-to-end encrypted. OMEMO uses the same Signal protocol foundations — AES-256 in CBC mode with HMAC-SHA-256 for message encryption, X3DH for key agreement, and the double ratchet algorithm for forward secrecy.
However, the encryption boundary is the XMPP layer. When you send an SMS through JMP.chat to a regular phone number, the message travels encrypted from your device to JMP's XMPP server, but then it must traverse the standard SMS network in plaintext to reach the recipient's phone. The same applies to voice calls — they are encrypted between your XMPP client and JMP's infrastructure, but the leg to the traditional phone network is standard telephony. For fully encrypted communication, use JMP.chat numbers as registration identifiers for E2E-encrypted messaging apps like Signal, and conduct your actual conversations through those apps.
JMP.chat offers strong anonymous usage. Registration requires only an XMPP account (which can be created anonymously on any public XMPP server) and a payment. No name, address, email, phone number, or government ID is required. The signup process happens entirely over XMPP — you message the JMP bot, choose a phone number from available options, and complete the payment.
For maximum anonymity, register an XMPP account on a server that does not require identity verification (such as nixnet.services, disroot.org, or your own self-hosted XMPP server), pay with Bitcoin, and access everything through Tor. JMP.chat's infrastructure is operated by a small team that has expressed a commitment to minimizing data retention. The XMPP-based architecture means JMP.chat does not require you to install their app — you use whatever XMPP client you trust on whatever platform you prefer.
JMP.chat's backend infrastructure is built on open-source components. The XMPP server software (Prosody), the SMS gateway integration, and much of the service's infrastructure tooling are open source. JMP.chat itself has published some of its custom components as open source. The XMPP protocol is an open standard maintained by the XMPP Standards Foundation, and OMEMO encryption is an open, audited extension.
The service-specific components — the billing system, the number provisioning system, and the carrier integrations — are not fully open source. However, because JMP.chat uses the standardized XMPP protocol, you are not locked into proprietary software on the client side. You can use any XMPP client (Conversations on Android, Monal on iOS, Gajim on desktop, Dino on Linux) and switch clients at any time without losing your number. This open protocol approach provides a meaningful degree of auditability even without full server-side source code access.
JMP.chat is operated by Soprani.ca, a Canadian entity. Canada is a Five Eyes member, which is a concern for state-level threat models. Canadian law allows for lawful intercept and data requests through proper legal channels. However, JMP.chat's minimal data collection means there is less to compel — if they do not retain detailed call records or message content (which they state they do not), a legal request produces limited results.
The distributed nature of the XMPP architecture also provides some jurisdictional resilience. Your XMPP account can be on a server in any country, your XMPP client runs on your device in your location, and JMP.chat's servers handle only the phone number routing. No single jurisdiction controls the entire chain. If you use a Tor-accessible XMPP server in a privacy-friendly jurisdiction, the Canadian exposure is limited to the phone number provisioning and carrier integration layer.
JMP.chat has been operating since approximately 2017 and has a small but loyal user base in the privacy and open-source communities. The service has not experienced any publicly known security breaches or data leaks. The team is active in the XMPP community and participates in open standards development.
The primary trust signal is JMP.chat's consistent operation and community reputation over several years. The service is recommended by privacy advocates and XMPP enthusiasts. The small size of the operation is both a strength (less incentive and capability for mass surveillance) and a risk (less financial stability, more vulnerable to a single adverse event). The team's engagement with the open-source XMPP ecosystem and their use of open standards build confidence in their technical approach.
JMP.chat has a steeper learning curve than MySudo or Silent.link. You need to understand the basics of XMPP: what it is, how to create an account, and how to install and configure a client. The initial setup involves creating an XMPP account on a public server, messaging the JMP signup bot, selecting a phone number, and completing payment. This process is well-documented on the JMP.chat website but requires following a multi-step guide.
Once set up, daily use is straightforward — SMS and calls come through your XMPP client like any other messages. The experience is similar to using any messaging app, though the interface depends on which XMPP client you choose. The Conversations app on Android and Monal on iOS are polished and user-friendly. Call quality depends on your internet connection. The biggest usability trade-off is that SMS delivery is occasionally less reliable than carrier SMS, and some services' verification systems may not recognize VoIP numbers. Testing with your target services before relying on the number in a crisis is essential.
JMP.chat works on any platform that has an XMPP client, which covers essentially every operating system. On Android, Conversations and Cheogram (a JMP.chat-optimized fork of Conversations) are the recommended clients. On iOS, Monal and Siskin IM are the primary options. On desktop, Gajim (Windows, Linux) and Dino (Linux) provide full-featured XMPP clients. On macOS, Monal also has a desktop version.
The platform flexibility is a distinctive advantage of JMP.chat. Because it uses an open protocol rather than a proprietary app, you are not dependent on any single developer to maintain your communication tool. If one XMPP client is abandoned, you switch to another without losing your phone number or message history. The trade-off is that the experience varies by client — some XMPP clients are more polished than others — and features like group MMS may work better on some clients than others.
JMP.chat accepts Bitcoin for payment, which enables anonymous payment when the Bitcoin is sourced through non-KYC methods. The service costs approximately $3.99/month (USD equivalent in Bitcoin) for unlimited incoming calls and texts with a reasonable outgoing allowance. There is no free tier, but the low cost means even a small amount of Bitcoin goes a long way.
Payment is handled through the JMP.chat XMPP bot — you receive a Bitcoin invoice and pay it from your wallet. Lightning Network support reduces transaction fees for small payments. For maximum payment anonymity, use Bitcoin that has been mixed through Wasabi Wallet or converted from Monero using Cake Wallet's exchange feature. No credit card, PayPal, or bank transfer option exists, which eliminates the risk of accidental identity exposure through payment.
First, create an XMPP account if you do not already have one. Visit a public XMPP server's registration page — for example, nixnet.services or disroot.org — and create an account with a pseudonymous username. No real name or personal information is required. Next, install an XMPP client on your device: Conversations or Cheogram on Android, Monal on iOS, or Gajim/Dino on desktop. Sign in with your new XMPP credentials.
In your XMPP client, add the JMP.chat signup bot as a contact: +signup@cheogram.com. Send it a message to begin the signup process. The bot will guide you through selecting an available phone number (you can choose by area code) and completing the Bitcoin payment. Follow the bot's instructions to pay the invoice from your Bitcoin wallet. Once payment confirms, your phone number is provisioned and linked to your XMPP account.
Test your new number by sending and receiving texts and making a test call. Verify that SMS verification works by registering for a test service. Set up the Cheogram client if you are on Android — it is specifically optimized for JMP.chat and handles MMS, group messages, and calling features more reliably than generic XMPP clients. Store your XMPP credentials and JMP.chat account details in your password manager. If you need to access your phone number from a new device, you simply install an XMPP client and sign in with the same XMPP account — the phone number follows your XMPP identity, not your physical device.