ZEC is $1222.36 on NEAR Intents at 20:47 UTC

Accept shielded Zcash. Settle in USDC.

Checkout for merchants whose customers want privacy. They pay from a shielded Zcash wallet. You receive the exact invoice amount in dollars, on the chain you already use.

Lona is payment software, not a bank or exchange. Conversions are carried out by NEAR Intents. Lona never holds your funds.

Kiln CoffeeOrder 1042, 128.00 USD

Send your payment

  1. Payment
  2. Received
  3. Converting
  4. Paid out

Send exactly

3.216 ZEC

t1Tj9cSiNQJbCmuFVPqkQhuvT2hkMEcmzoB
Open in Zcash wallet

Price held for 20:00. Send from your shielded balance in one transaction.

Get paid on

  • Base
  • Arbitrum
  • Ethereum
  • Solana
  • Converted by NEAR Intents

From invoice to payout in four steps

Your customer never touches a bridge, and you never touch ZEC.

What a chain observer sees

Privacy claims in payments are easy to overstate. This is exactly what is public and what is not for one Lona payment, so you can tell your customers the truth.

Zcash shielded pool

From
Balance
History
Amount sent

The customer's wallet, balance and past payments stay encrypted.

Deposit address

Addresst1Tj9c...MEcmzoB
Received3.216 ZEC
Time12:04:02 UTC
SenderShielded

Zcash deposits to the swap network use transparent addresses, so the amount and time are public.

Your payout on Base

To0x4b4b...4b4b
Amount128.00 USDC
FromSwap network
Linked to depositNot publicly

A normal stablecoin transfer to your wallet, like any other on Base.

Everything a checkout needs, nothing it does not

Invoices, links, QR, payouts and webhooks. No balance to manage, no ZEC on your books.

Payment links you can share forever

Put one link on your site, in a post or on a printed QR at the counter. Every visit opens its own invoice, so payments never collide.

A seal for every invoice

Each invoice draws its own pattern as the payment moves. Customers can see where their money is.

Your chain, your stablecoin

Choose USDC on Base, Arbitrum, Ethereum or Solana, or USDT on Ethereum. Change it any time.

Signed webhooks

Every change reaches your server signed with HMAC-SHA256, and is retried for about a day if you are down.

Every outcome, before real money

Test mode simulates payments, underpayments and refunds, with the same webhooks as live.

Integrate in an afternoon

Create an invoice, send the customer to its hosted page, fulfil on the webhook. The same three steps in test mode and live.

Prices
In US dollars. The ZEC amount is set at checkout.
Keys
Separate test and live secret keys, stored hashed.
Events
Received, paid out, underpaid, refunded, failed, expired.

Read the API reference

const res = await fetch(`${LONA_URL}/api/v1/invoices`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.LONA_SECRET_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    amount: "128.00",
    description: "Order 1042",
    reference: "order_1042",
  }),
});
const invoice = await res.json();
redirect(invoice.hosted_url);

Pricing

0.5% per payment

Added to your customer's quote. You receive the full invoice amount, with nothing to reconcile.

Monthly fee
None
Expired, refunded or failed payments
No fee
Test mode
Free
Create a merchant account

Questions merchants ask

Does Lona hold my money?

No. Each customer pays a deposit address on the NEAR Intents swap network, which sends the converted stablecoin straight to the payout wallet you set. Lona creates the quote, tracks it and tells your server when it lands.

What happens if the ZEC price moves while the customer pays?

The ZEC amount is fixed when the customer opens checkout and held for 20 minutes. You always receive the exact invoice amount. If the hold expires, the customer gets a fresh price.

What if the customer sends the wrong amount?

If less than the quoted amount arrives, the conversion does not complete and the ZEC goes back to the refund address. You get an invoice.underpaid webhook, then invoice.refunded.

Which wallets can customers use?

Any Zcash wallet that can send from a shielded balance to a transparent address. On mobile, checkout opens the wallet directly with the address and amount filled in.

Is the payment fully private?

The customer's wallet, balance and history are private. The ZEC amount sent to the deposit address and your USDC payout are public, as shown above. We say this plainly so you can tell your customers the truth.

Can I test without real money?

Yes. Test mode simulates every outcome, including underpayments and refunds, and sends the same webhooks as live mode.

Your first private payment is a few minutes away.

Start in test mode. Go live when your payout wallet is set.