Lightning as universal checkout: why I built anypay.today

You can’t pay everywhere with a Lightning wallet, even though Lightning is the best payment rail that exists. anypay.today uses Lightning as the source for any crypto payment — instant, private, no custody.

I was dreaming of removing friction in payments. That’s the real reason I built anypay.today.

In my book Cryptocurrencies — Hack your way to a better life, I wrote about a vision for a wallet that could scan any crypto QR code and just pay it. No fuss, currency switching, nor “sorry, we only accept ETH.” You choose your wallet. It handles the rest.

Some wallets have tried integrating swap services. Most hit the same walls: on-chain confirmations that timeout at the merchant terminal, limited coin support, or Lightning channels that get stuck without incoming liquidity.

anypay.today is my attempt to close that gap.

The law of cryptocurrency isomorphism

There’s a principle I wrote about in 2022 that guides how I think about this: the law of cryptocurrency isomorphism. It has two practical benefits:

  • Although we can pick what we use and save in, we should have access to the whole crypto network
  • It’s not possible to ban a single cryptocurrency. Either you ban them all, or none at all.

The second point is the political one. The first is what anypay.today tries to solve.

You should be able to hold what you want — Bitcoin, Lightning, whatever — and still pay what your trade counterparty needs. The wallet shouldn’t care. The payment should just work.

Why existing wallet swaps fall short

A few wallets have integrated swap services. They’re getting closer. But there are still problems:

  • Confirmation delays. On-chain swaps need confirmations. You’re standing in line for coffee, waiting for a transaction to confirm, blocking everyone behind you. Merchants see timeouts. You get frustrated. The whole thing feels broken.
  • Limited support. Most only swap between a handful of coins. Want to pay XMR? Out of luck. ZEC? Forget it.
  • Lightning liquidity issues. A lot of swap services have stuck channels without incoming liquidity. The swap fails. You’re stuck trying again or finding another route.

How anypay.today works

The flow is simple:

  1. Open anypay.today on your phone — it’s a PWA, install it to your homescreen
  2. Scan the crypto payment QR or paste payment URI you received
  3. Tap “Pay with Lightning wallet”
  4. Pay the Lightning invoice from whatever wallet you use (Breez, Phoenix, Zeus, Wallet of Satoshi, Minibits, … — anything that handles Lightning invoices)
  5. The other coin gets sent to the recipient in seconds

The swap happens in the background. You pay Lightning. They get what they were expecting.

Why Lightning as the source

Using Lightning as the funding source solves quite a few problems:

  • Instant finality. Lightning settles in seconds. The downstream swap completes before most other chains mine a single block. If the merchant accepts zero-conf (most physical stores do), you’re taking your fancy hipster flat white in a few seconds.
  • Sender privacy. The flow is your wallet → swap service → destination. The recipient sees what they expected. There’s no on-chain trace connecting your wallet to whoever you paid.
  • Good liquidity. The first leg is either Boltz or Lendaswap, which have reliable incoming liquidity for Lightning. If they can’t swap to the target currency, it routes through USDC on Arbitrum (fast confirmation, good liquidity) and Trocador.
  • No KYC issues. We use Trocador with filtered providers. You get a Trocador swap ID, so if there’s any problem with a swap (sometimes happens), you can deal with Trocador directly. We’re only the front-end — we don’t provide support.
  • Wallet agnostic. We don’t force you to choose a Lightning wallet we prefer. Use whatever you like. The PWA gives you a Lightning invoice. Your wallet opens. You pay. Done.

What coins are supported

Ethereum and EVM chains (including stablecoins), Solana, Litecoin, Dogecoin, Monero (XMR), Zcash (ZEC). If you’re funding something on Polygon, Base, or Arbitrum — that works. SOL invoice — works. Want to send XMR without holding XMR — also works.

The use cases that matter

Polymarket and prediction markets

Polymarket takes Polygon USDC. Most people I know who trade there live primarily in the Lightning world and don’t keep ETH/USDC balances floating around. With anypay.today you scan the deposit address, pay Lightning, account is funded. No ETH wallet setup, no exchange stop.

XMR / privacy coin payments

Monero and Zcash are being delisted at an accelerating pace. There are still people who accept XMR specifically because they care about privacy — and they’re not wrong to.

With anypay.today you can send XMR without holding it. You keep Lightning (already the most private common payment initiation method), the swap gets you to XMR at the destination. Lightning’s privacy for the initiation, Monero’s privacy at the other end. You keep Bitcoin’s “Number go up” technology. (Note that in this case, swap usually goes through USDC on Arbitrum, so the fact that some payment happened is out there, but it’s limited to amount).

Coinbase Commerce merchants

A lot of the crypto-accepting merchant world runs on Coinbase Commerce. It supports Ethereum-based tokens, but not Lightning. So when customers ask “can I pay with Lightning?” the answer has always been no.

Now the customer can scan the QR with anypay.today, pay Lightning. The merchant doesn’t need to change anything.

Not holding altcoin balances

This is the one that matters to me personally.

Bitcoin is the best money. Lightning is the best payment rail. Holding altcoin balances “just in case I need to pay in USDC someday” is a real cognitive and financial overhead — more wallets, more seeds, more price exposure to assets you didn’t choose, and in case of ETH-based networks, privacy hell. Anypay.today means you can hold what you actually want and still pay what they need.

Monetization

No markup on swaps. The monetization is Trocador referral fees — anypay.today earns when swaps route through Trocador, at the same rates you’d get going there directly. The app makes money when it’s useful, not by skimming. For most swaps (that don’t go through Trocador), we don’t take (and make) any fee.

We do not touch your money, ever. We are a nice front-end. A small disadvantage is that this means if something gets stuck, we can’t help you. We don’t log anything, we know nothing about your swaps, we never touched the money. Go to account history and talk to the swap providers. Everything is saved in your local browser (swap ids, etc.).

Status and caveats

This is beta. Use it carefully, preferably with small amounts.

The April 2026 reliability update improved routing stability. But it’s still beta — I’m iterating from real usage.

Things I know are imperfect: larger swaps can hit liquidity limits depending on the route; not all specific ERC-20 tokens are supported, only native coins, stablecoins, etc.

If you hit something broken, tell me. That’s how it gets better.

Why this needed to exist

The fragmentation of crypto payments doesn’t get solved by adding more coins. It gets solved by making the best payment layer work everywhere.

The position is straightforward: if you care about financial sovereignty, you should be able to spend from the money you want to hold, without maintaining a separate set of infrastructure around altcoin management just to participate in the wider ecosystem.

anypay.today is one small piece of that. Try it.

anypay.today — no account, no registration, no KYC. Open it, scan a payment QR, pay Lightning.