Take stablecoins without a public sales feed
Customers pay in USDC as usual. Your daily sales stay off the block explorer.
What a competitor can chart today
USDC, thousands per day
Nothing to chart
The payments aren’t linkable to you.
Anyone with the address can draw this. Values are illustrative.
What your customer sees
Three screens. No account and no browser extension. The private part happens on your side.
-
your site
Linen shirt
86.00 USDC
Pay by card Pay with USDC or USDT01 One more button at checkout
-
hosted checkout
Amount due
86.00 USDC
Pay from walletNetworkArbitrumPay withUSDC02 Pay from the wallet they have
-
confirmation
Payment received
order #1042
03 Done. No account, no extension
An example of what your customer sees. Not a live checkout.
What a store wallet leaks
All of it is readable from one public address, by anyone, for as long as the chain exists.
- Daily sales Sum the transfers, get your revenue.
- Order size Basket size, and every promo’s effect.
- Best customers Repeat and wholesale buyers, easy to poach.
- Seasonality When you sell, and when you don’t.
How it works
- Payment request Created
- ref
- order #1046
- amount
- 128.00 USDC
01
Create a request
Your server, one per order
- Payment request Paid
- ref
- order #1046
- amount
- 128.00 USDC
- from
- customer wallet
02
Customer pays
From the wallet they have
- Payment request Shielded
- ref
- order #1046
- amount
- 128.00 USDC
- from
- customer wallet
- to
- hidden
03
Shielded on arrival
Fresh address, every time
- Payment request Confirmed
- ref
- order #1046
- amount
- 128.00 USDC
- from
- customer wallet
- to
- hidden
04
Order confirmed
Matched by reference
- No customer account
- Hosted checkout
- USDC + USDT on Arbitrum
- From $0.50

Who sees what
The payer’s own transfer is always public.
| who | The payment | Who got paid | Your sales |
|---|---|---|---|
| The public | Can see | Hidden | Hidden |
| You | Can see | Can see | Can see |
| Your accountant | Can see | Only if you share your viewing key | Only if you share your viewing key |
What changes in your stack
Nothing is replaced. Curvy is one more option at checkout, next to what you already take.
Today
Your checkout
With Curvy
Your checkout
Your backend: two SDK calls, create and confirm
But what about…
-
Refunds
A new payment back to the customer, from your own process.
-
Tax and accounting
Your accountant reads every payment with the viewing key.
-
Compliance
Incoming funds are screened before they’re shielded.
-
Custody
You hold the keys. Curvy can’t move your funds.
-
Chargebacks
None. Onchain payments are final.
-
Customers without USDC
Keep your other methods. This is one more option.
Is it right for you?
Good fit if
- Your customers pay, or ask to pay, in USDC or USDT
- Your revenue or customer list is sensitive
- You’re happy to receive stablecoins, not fiat
- You can add a server-side call to checkout
Not yet if
- You need fiat paid into your bank automatically
- You need chains other than Arbitrum
- Your customers pay in Bitcoin or other coins
- You need a no-code store plugin today
Built to be checked
- Audited by Ethernal Full report public on GitHub
- Open-source contracts github.com/0xCurvy
- Published research Stealth address protocols
- 10+ years together Two PhDs in ZK and cryptography
Questions
Does it replace my payment provider?
No. It adds stablecoins as one more option at checkout. Cards and everything else stay with your current provider.
Does it work with my store platform?
It integrates through a server-side SDK, so it fits custom and headless stores. On a hosted store platform, talk to us about your setup.
Is the customer’s payment hidden?
No. Their transfer is public. What it doesn’t show is that it went to your store.
Which stablecoins are supported?
USDC and USDT, settled on Arbitrum. The minimum payment is $0.50, and fees are taken from the payment.
Add stablecoins. Keep your sales private.
Tell us how you take payments today, and we’ll show you where Curvy fits.
Watch the demo- Your payment flow, step by step
- What stays visible, and to whom
- How the SDK fits your stack
- Your compliance questions