CLASSIFIED RAIL · MAINNET ZK

TORNADO
PAY

Next-gen on-chain settlement. Private payments, QR rails, encrypted gift vaults. Strip the noise. Keep the signal. Pay anyone, anywhere — sealed.

41ms
PROOF LATENCY
0-link
RECEIPT GRAPH
∞
ASSET ROUTES
NODE://SETTLE.COREv9.4.1-zk

00 / PROTOCOL

SIGNAL HYGIENE.

Every transfer is a sealed packet. Metadata is minimized. Memos are encrypted. The public ledger records settlement — not your social graph.

01 / STEALTH ADDR

Pay any wallet

Drop a 0x, ENS, or Solana key. Amount is sealed client-side. The chain only sees a proof and a settlement event.

02 / QR RAIL

Scan. Seal. Settle.

Point-of-sale without exposing payer identity. One rotating QR, one-shot proofs, instant confirmation pulse.

03 / GIFT VAULTS

Bearer notes, on-chain

Mint an encrypted gift card. Share the claim glyph. Recipient redeems to any address they choose.

01 / SETTLE

ANY PAYMENT.
ANY CHAIN.

Route value through a unified node. Native coins, stables, L2s. One proof format. One confirmation pulse. Destination can be a wallet, a merchant QR, or a gift vault.

ETHUSDCUSDTBTCSOLMATICDAIARB
SESSION // GUEST NODELIVE

demo UI · no funds move from this page

02 / QR RAIL

POINT OF PAY

Merchants render a living QR. Payers scan, prove, settle. No account linking. No shared email. Optional encrypted invoice memo rides inside the proof, not on the public log.

  • → rotating nonce every 12s
  • → amount lock + tip delta
  • → offline cache for dead zones

TPAY://QR/7F-C3-A1

03 / GIFT VAULTS

BEARER CARDS

Issue a prepaid glyph. Print it, beam it, or drop it in chat. Whoever holds the claim secret can redeem on-chain — to their own rail, not yours.

GV-9A21
50 USDC
TORNADO PAYCLAIM ON REDEEM
GV-C70F
0.25 SOL
TORNADO PAYCLAIM ON REDEEM
GV-11E8
100 DAI
TORNADO PAYCLAIM ON REDEEM

04 / STACK

ULTRA LAYER

ZK SETTLEMENT

Groth16 / Halo2 proofs bind amount + destination without leaking the payer graph.

STEALTH DEST

One-time addresses derived per invoice. Reuse detection is treated as a fault.

MULTI-RAIL

EVM, Solana, Bitcoin taproot notes in one SDK. Same client API.

LOCAL KEYS

Secrets never leave the device. Relayers only see sealed blobs.

import { TornadoPay } from "@tornadopay/sdk";

const pay = new TornadoPay({ endpoint: "wss://node.tornadopay.io" });

const invoice = await pay.qr.create({ asset: "USDC", amount: "24.00" });
await pay.gift.mint({ asset: "ETH", amount: "0.05", label: "ops" });