Wallet and payments, one shielded ecosystem
Keep ZEC private. Spend it anywhere.
ZecOne is a Zcash wallet that keeps your money in the shielded pool, and a payment platform that lets merchants accept that shielded ZEC and receive ETH on Base through a prefunded ZecOne relayer.
Inside the shielded pool
- Sender
- encrypted
- Recipient
- encrypted
- Amount
- encrypted
ZecOne Wallet
A shielded wallet that lives on your computer
Your keys and history stay on your machine. ZEC is held in the shielded pool, and every website request is shown to you before anything is signed.
- Local by designStarted by the ZecOne launcher and served only to your own browser.
- Shielded firstBalances and payments use Zcash shielded addresses.
- Approve every requestConnected websites ask; you review the exact action before approving.
Mainnet wallet support is in development; the current wallet build runs on testnets.
Shielded balance
12.4800 ZEC
- ReceivedShielded+2.0000 ZEC
- Paid a merchantShielded−0.1000 ZEC
- ReceivedShielded+0.5000 ZEC
Quote a payment
Checking service…Demo rate: 1 ZEC = $50.00, fixed, not a market price. Demo checkouts are simulated and replay the recorded mainnet pilot; no funds move.
ZecOne Pay
Accept shielded ZEC. Receive ETH on Base.
Your customer pays from any Zcash wallet without revealing their balance or history. You receive ETH at a Base address you proved you control, with signed webhooks telling your server when an order is paid.
- Customer side
- Shielded ZEC
- Amounts and addresses encrypted
- Merchant side
- ETH on Base
- Public, to your verified address
- Settlement
- ZecOne relayer
- Prefunded and trusted
- Integration
- Link, embed or API
- Same checkout everywhere
The payment flow
Five steps from a shielded payment to a paid order
Every checkout moves through the same states, whether it is a payment link, an embedded component or an API call.
- Step 1
Request
Your server creates a payment. ZecOne fixes the exact ZEC amount for 15 minutes.
- Step 2
Shielded payment
The customer sends ZEC to the shielded address for that order.
- Step 3
Confirmed
ZecOne attributes the exact transaction and waits for 20 confirmations.
- Step 4
Payout
The relayer sends ETH from its prefunded balance to your verified Base address.
- Step 5
Completed
A signed payment.completed webhook lets your server unlock the order.
Zcash, shielded Base, public
Verified on mainnet
The full path already ran once, for real
During the ZecOne pilot a shielded mainnet payment was received and the merchant was paid ETH on Base mainnet. Open each transaction on its block explorer. The demo checkout replays exactly these, and says so.
For developers
Three ways to add ZecOne to your DApp
All three use the same payment API and the same checkout, so you can start with a link and move to the SDK later.
Payment links
Create a link in the dashboard and share it anywhere. No code.
https://…/pay/pay_…?t=…Create a link Embedded checkout
Render the checkout inside your React or Next.js app with a read-only token.
<ZecOneCheckout paymentId={id} … />See the component API and signed webhooks
Create payments from your server and unlock orders on a verified webhook.
zecone.payments.create({ amountUsd })Read the API guide Security and privacy
Private where it can be. Honest where it cannot.
ZecOne is a trusted relayer, not a trustless bridge. Here is exactly who can see what.
Shielded on Zcash
Observers cannot see the customer's address, balance or amount.
Public on Base
The ETH payout and your payout address are visible to anyone.
Operator can link them
The ZecOne relayer knows which payment funded which payout.
Keys stay separated
The payment API never loads spending, relayer or signing keys.
Try the whole flow in under a minute
Buy something from the demo store and watch each step. Demo checkouts are simulated: there is nothing to pay, no address is shown, and the steps replay the recorded mainnet pilot.