X
UseXRP
/xSMS XRP
SEND MESSAGE →
ECIES · secp256k1 · AES-256-GCM · ZERO KNOWLEDGE
xSMS

Secure Messaging on the XRP Ledger.

Not "we promise we can't read it" — mathematically impossible for anyone to read it.

Your XRPL wallet already contains a secp256k1 key pair — the same elliptic curve used by Bitcoin and Ethereum. xSMS uses that identity to encrypt messages so thoroughly that UseXRP, any hacker, any government, and any supercomputer in existence cannot decrypt them without your private key. The math is public. The guarantee is permanent.

YOUR WALLET

secp256k1

The same elliptic curve as Bitcoin. Your XRPL wallet already has a key pair. No registration needed.

THE EXCHANGE

ECDH

Two parties, two private keys, one shared secret. Derived independently. Transmitted never.

THE CIPHER

AES-256

2²⁵⁶ possible keys. Brute force at the speed of light takes longer than the age of the universe.

WHY THIS IS DIFFERENT

TRADITIONAL MESSAGING

Company holds your keys

They can read every message. So can a hacker who breaches them.

Identity requires signup

Email, phone, username — account can be suspended or deplatformed.

Server breach = exposure

Plaintext or server-decryptable ciphertext stored at rest.

Legal compliance possible

Subpoena → company provides plaintext. Policy, not math.

Trust the corporation

Security depends on their promises, not cryptographic guarantees.

xSMS XRP

You hold the only key

Your private key never leaves your browser. Mathematically impossible for us to decrypt.

Identity = XRPL wallet

Your wallet address is your identity. No email. No deplatforming. Censorship-resistant.

Server breach = noise

Attacker gets AES-256-GCM ciphertext. Computationally indistinguishable from random bytes.

Subpoena = ciphertext

We hand over what we have. We literally cannot provide plaintext. Math, not policy.

Trust the math

secp256k1 and AES-256-GCM have been publicly scrutinized for decades. The code is auditable.

CONVERSATION COST CALCULATOR

MESSAGES IN CONVERSATION

20msgs

TOTAL COST

600

drops ($0.000840)

1100200300400500
PRESETS:

PLATFORM FEE (SEND)

100

drops ($0.000140)

5 drops × 20 exchanges100 ($0.000140)
Goes to UseXRP

PLATFORM FEE (RECEIVE)

100

drops ($0.000140)

5 drops × 20 exchanges100 ($0.000140)
Goes to UseXRP

XRPL NETWORK FEE

400

drops ($0.000560)

2 txs × 10 drops × 20400 ($0.000560)
Goes to XRPL validators

COST BREAKDOWN

Platform Send 17%
Platform Receive 17%
Network TX 67%

TOTAL IN USD

$0.000840

at XRP = $1.40

PER EXCHANGE

30

drops ($0.0000420)

$1 BUYS YOU

23,809

encrypted messages

COST COMPARISON FOR 20 MESSAGES

iMessage / WhatsApp

$0.00

Apple / Meta store and can access your metadata. US law enforcement requests honored.

FREE YOUR DATA

Signal

$0.00

Strong E2E encryption. Non-profit. But a subpoena could compel metadata or key disclosure in edge cases.

TRUST THE ORG

xSMS XRP

$0.000840

600 drops · 30/exchange (15 send + 15 receive) · 10 to platform · Server mathematically blind.

TRUST MATH
THE ENCRYPTION CEREMONY

Every xSMS message goes through 6 cryptographic steps — all in your browser before anything touches a server.

STEP 01·BROWSER ONLY

Message Typed

Plaintext exists only in your browser RAM. It never touches a network request. Never logged anywhere. If you close the tab now, it vanishes permanently.

PLAINTEXT — LIVES IN BROWSER MEMORY

"Meet me at the usual spot. Bring the drives."
THE KEY EXCHANGE — VISUALIZED

secp256k1 — y² = x³ + 7

The elliptic curve shared by Bitcoin, Ethereum, and your XRPL wallet

yxS(shared secret)Ggeneratorkₑ·Gephemeral pubkᵣ·Grecipient pubkₑ × (kᵣ·G) = kᵣ × (kₑ·G) = S
G — Generator point (public, fixed on secp256k1)
kₑ·G — Ephemeral public key (sent with message)
kᵣ·G — Recipient public key (from XRPL)
S — Shared secret (never transmitted)

SENDER BROWSER

1.Generate randomkₑ(ephemeral private key)
2.Computekₑ·G= ephemeral public key
3.Fetch recipient'skᵣ·Gfrom XRPL on-chain
4.ComputeS = kₑ × (kᵣ·G)(ECDH)
5.SHA-256(S.x)→ AES-256 key
6.AES-GCM encryptmessage

RECIPIENT BROWSER

1.Retrieve encrypted blob from server
2.Extract ephemeral public keykₑ·G
3.Use own private keykᵣ(from seed)
4.ComputeS = kᵣ × (kₑ·G)(same ECDH)
5.SHA-256(S.x)→ same AES key
6.AES-GCM decrypt→ plaintext

kₑ × (kᵣ·G) = kᵣ × (kₑ·G)

The commutative property of elliptic curve point multiplication. Two parties. Two private keys. One shared secret. Zero communication of the secret itself.

FORWARD SECRECY — WHY EPHEMERAL KEYS MATTER

WITHOUT FORWARD SECRECY

1.Same private key used for every message
2.Attacker records all encrypted traffic (cheap)
3.Later, attacker steals or breaks your private key
4.All historical messages decrypted retroactively
5.Every message you ever sent is compromised

xSMS — EPHEMERAL KEYS

1.Fresh random key pair generated per message
2.Ephemeral private key discarded immediately after encrypt
3.Attacker records all encrypted traffic (useless)
4.Later, attacker steals your permanent wallet key
5.Past messages: keys are gone. Mathematically impossible.

Each message generates a unique AES-256 key derived from a unique ephemeral key pair. Compromise message #1,000 — you get message #1,000.
Messages #1 through #999 and #1,001 onward remain encrypted. Permanently.

WHAT THE SERVER ACTUALLY SEES
SERVER DATABASE (+ ANY HACKER WHO BREACHES IT)
{
  "id": "3f7a2c-9b4e-...",
  "toAddress": "rXXX...",
  "fromAddress": "rYYY...",
  "encrypted": true,
  "ephemeralPublicKey": "028a3f9b2c...",
  "encryptionVersion":
    "ecies-secp256k1-aes256gcm-v1",
  "content": "GhYtR3kX9mP2wQ8vL5nJ7c
    F4bH6dA1eI0pK3sM5uN8yOzTbW
    qVxRlCgDhEiAjFnPm...",
  "storedAt": 1708000000000,
  "expiresAt": 1708604800000,
  "retrieved": false
}

Useless without the recipient's private key — which is never here

RECIPIENT'S BROWSER (AFTER LOCAL DECRYPTION)

"Meet me at the usual spot. Bring the drives."

Decrypted in the browser

Private key never left their device

Server never saw this text

This message cannot be subpoenaed from UseXRP

SECURITY PROPERTIES

Mathematically Enforced

Not a policy statement. The laws of mathematics prevent decryption without the private key. 2²⁵⁶ AES key combinations. The sun burns out first.

Forward Secrecy

Ephemeral key pairs mean compromising your current key cannot decrypt past messages. Each message has its own independent AES key.

Zero Knowledge Server

UseXRP stores ciphertext. We cannot read your messages — not by policy but by impossibility. No master key. No escrow.

Blockchain Identity

No usernames. No passwords. No email. Your XRPL wallet address is your identity — cryptographically linked to your secp256k1 key pair on a public ledger.

Tamper Detection

AES-256-GCM includes a 128-bit authentication tag. Any modification to the ciphertext in transit causes decryption to fail completely. Tampering is detected, not silently accepted.

Open Protocol

ECIES with secp256k1 is a public standard. The cryptography is auditable. Any client that implements the protocol can encrypt/decrypt messages — no proprietary lock-in.

THREAT MODEL

WHAT HAPPENS WHEN DIFFERENT THINGS GO WRONG

SCENARIO

Server hacked / full data breach

ATTACKER GETS

Encrypted blobs only

STATUS

SAFE

WHY

AES-256-GCM ciphertext is computationally indistinguishable from noise without the shared secret. Brute force: longer than the age of the universe.

SCENARIO

Network interception (MITM)

ATTACKER GETS

Encrypted payload in transit

STATUS

SAFE

WHY

TLS + ECIES — attacker sees ciphertext they cannot decrypt without the recipient's private key. Two independent encryption layers.

SCENARIO

Government subpoena to UseXRP

ATTACKER GETS

What we hand over: ciphertext

STATUS

SAFE

WHY

We literally cannot decrypt it. No key escrow. No master key. We have no ability to comply with decryption requests — by design.

SCENARIO

Sender's device fully compromised

ATTACKER GETS

Messages on that device

STATUS

PARTIAL

WHY

Before encryption, plaintext exists in memory. This is the fundamental trust boundary: endpoint security. The protocol is not at fault.

SCENARIO

Future quantum computer

ATTACKER GETS

Potentially historical messages

STATUS

WATCH

WHY

Ephemeral keys limit exposure per-message (forward secrecy). v2 will add a post-quantum layer (Kyber/NTRU) alongside secp256k1.

SCENARIO

Recipient's XRPL seed stolen

ATTACKER GETS

All messages to that wallet

STATUS

EXPOSED

WHY

The seed is the root of trust. Protect it. Hardware wallet support is on the roadmap. This is equivalent to losing your email password.

TECHNICAL SPECIFICATION

Protocol

ECIES

Elliptic Curve Integrated Encryption Scheme — standard hybrid encryption

Elliptic Curve

secp256k1

Same curve as Bitcoin, Ethereum, XRP — 256-bit security level

Key Exchange

ECDH

Elliptic-Curve Diffie-Hellman with ephemeral sender keys

Key Derivation

SHA-256 (Web Crypto)

Of ECDH shared point x-coordinate → 256-bit AES key

Symmetric Cipher

AES-256-GCM

NIST SP 800-38D authenticated encryption, 96-bit random IV per message

Authentication Tag

128 bits

GCM auth tag — any ciphertext tampering causes full decryption failure

Message Format

base64(IV[12B] ‖ Ciphertext ‖ AuthTag[16B])

Self-contained encrypted blob

Public Key Source

XRPL account_tx → SigningPubKey

No key servers, no PKI — the ledger is the directory

Private Key Scope

Browser memory only

Derived from XRPL seed locally. Never transmitted. Never stored.

Crypto Runtime

Web Crypto API (browser-native)

Hardware-accelerated AES. Sandboxed. No third-party JS for symmetric crypto.

Version String

ecies-secp256k1-aes256gcm-v1

Protocol versioning for future upgrades

Content Size Limit

8192 chars (post-encoding)

Supports messages, keys, files up to ~6KB plaintext

ZERO KNOWLEDGE · ZERO PASSWORDS · ZERO TRUST REQUIRED

Send your first encrypted message.

15 drops to send. 15 drops to receive. 30 per exchange. Your private key never leaves your browser. The XRP Ledger verifies identity. The math handles the rest.

ECIES · secp256k1 · AES-256-GCM · Forward Secrecy · Zero Knowledge Server