ZecOne Pay
Accept shielded Zcash from your customers and receive ETH on Base at an address you proved you own. Start with a payment link, embed the checkout, or call the API.
Demo checkout
Buy from the demo store and watch a simulated payment move through every step.
Open the demo storeMerchant dashboard
Sign in with your Base wallet, get an API key, create links and set webhooks.
Go to the dashboardIntegration guide
Create payments with @zecone/sdk and unlock orders on a signed webhook.
Read the guideOperating modes
Three modes, never confused
Every checkout shows which mode it is in. Only the first two can run in this build.
Simulated demo
Default in this build- No payment address is shown
- Nothing to pay
- Steps replay the recorded mainnet pilot, labelled as a replay
Mainnet monitoring
Operator machine only- Shows the real shielded receiving address
- Detects and confirms real deposits, read-only
- Stops at ZEC confirmed: no automatic payout
Live settlement
Disabled- Would pay merchants ETH on Base automatically
- Refused by the payment API in this build
- Requires a separate, reviewed release
What you need
Before you accept payments
- 1Prove your payout walletConnect the Base wallet that should receive ETH and sign a one-time message. It authorizes no transaction.
- 2Store your API key on your serverThe key is shown once. It never belongs in browser code.
- 3Register a webhookUnlock orders only when a signed payment.completed event arrives.
Limits in this build
One checkout can await payment at a time, because all checkouts share one receiving address. Quotes last 15 minutes, and the demo uses a fixed rate of 1 ZEC = $50.
Privacy, plainly
Your customer's Zcash payment is shielded. Your ETH payout on Base is public, and the ZecOne operator can link the two. Read the trust model.