The non-custodial crypto payment gateway
Accept crypto payments that settle straight to your wallet — from a connected wallet or a plain exchange transfer. DuckyPay never holds your funds; it splits a tiny fee on-chain, trustlessly, in the same transaction.
Self-custody · No KYC to start · 0% first 1,000 tx/month · Live in minutes
How the money moves
There are two ways to pay an invoice — connect a wallet, or send a plain transfer. Either way the payer's stablecoins split on-chain between you and the protocol fee, and DuckyPay is never in the path of your funds.
Wallet payment
The payer connects a wallet and the PaymentRouter splits the payment in a single atomic transaction: 99.5% to your wallet, 0.5% to the treasury. No intermediary ever takes custody.
Transfer / exchange payout
The payer — or a direct withdrawal from an exchange — sends a plain transfer to a unique per-invoice deposit address. That address is a contract that can only ever split to your wallet and the treasury; a permissionless settle then releases it 99.5% / 0.5%. DuckyPay holds no key to it.
The fee is decided off-chain and enforced on-chain — by an EIP-712 signature in wallet mode, or committed into the deposit address itself in transfer mode. It is hard-capped at 1% either way.
Why non-custodial matters
Most crypto payment gateways take custody of your money first. DuckyPay removes the middleman from the money path entirely.
You self-custody every cent
Funds move payer → your wallet in one atomic transaction. No contract or service we control ever holds merchant money.
No KYC to start
Connect a wallet and start accepting payments. No onboarding queue, no account freeze risk on your balance.
Integrate in minutes
A REST API and typed SDKs for Node and React. Scaffold a working checkout with a single command.
A hard fee cap
The router enforces a 1% maximum on-chain, regardless of what is signed — so a compromised key can never overcharge you.
Built for developers
A clean REST API, typed SDKs, and a one-command demo. Verify webhooks, create charges, and ship.
@duckypay/node — Server SDK@duckypay/react — React componentsnpx create-duckypay-checkout — Scaffold a demoimport { DuckyPay } from "@duckypay/node";
const duckypay = new DuckyPay(process.env.DUCKYPAY_SECRET_KEY);
const charge = await duckypay.charges.create({
amount: "100.00",
token: "USDT",
chain: "polygon",
invoiceId: "inv_0421",
});
// Send the payer to the hosted, non-custodial checkout
return Response.redirect(charge.checkoutUrl);Chains and tokens
Launching on Polygon — where USDT and USDC are both native — with Base and Arbitrum as additional rails. Low-gas L2s where the buyer pays gas; standard stablecoins only, no fee-on-transfer or rebasing tokens.
Networks
Stablecoins
Honest, usage-based pricing
Start free, every month. The fee is computed per project and baked into each signed payment — change pricing without redeploying.
First 1,000 transactions / month
0%
Every project gets 1,000 free transactions each month, and the allowance resets monthly. Buyers pay the gas.
After 1,000 monthly transactions
0.5%
A flat 0.5% protocol fee (0.4% on the Scale plan), split on-chain in the same transaction. Hard-capped at 1%.
Fee cap enforced on-chain at 1% — the contract can never exceed it.
Growing? Pro and Scale plans add more projects, 0.1% merchant cashback, white-label checkout branding and priority webhooks — prepaid in stablecoin, no card required.
DuckyPay vs. Stripe, Omise & custodial crypto gateways
| DuckyPay | Stripe / Omise (cards) | Custodial crypto gateways | |
|---|---|---|---|
| Custody of funds | Never — settles to your wallet in one transaction | Holds funds, pays out in cycles | Holds funds, pays out later |
| Fees | 0% first 1,000 tx/month, then 0.5% (1% on-chain cap) | ~3.65% + fixed fee per card charge | Typically 0.5–1% |
| Start accepting | Email + wallet — same day, no KYC | Business documents + approval wait | KYC usually required |
| Settlement speed | Instant, same transaction | Payout cycles (days) | Delayed payout |
| Chargebacks | None — settlement is final | Yes — dispute risk | None |
| Account freeze risk | None by construction — no balance is held | Possible | Possible |
| Pay from an exchange account | Yes — per-invoice deposit address | — | Rarely, or via custody |
| International customers | USDT/USDC from anywhere, no cross-border fees | Cross-border / FX surcharges | Yes |
Stripe and Omise are excellent card rails — and DuckyPay is not a card processor. It is the stablecoin rail you run alongside them: cards or PromptPay for local buyers, DuckyPay for global USDT/USDC customers. Card fees shown are the published Thailand rates (Stripe 3.65% + ฿10 per charge, Omise 3.65% for cards).
Frequently asked questions
The questions developers and merchants ask before integrating.
What is a non-custodial crypto payment gateway?
A non-custodial crypto payment gateway is one where stablecoins move directly from the payer to the merchant in a single transaction, so the provider never holds or controls the funds. DuckyPay collects its fee through an on-chain atomic split rather than by taking custody.
How do I accept USDC or USDT payments with DuckyPay?
You create a charge through the DuckyPay API or SDK, render the hosted checkout, and the payer pays in a stablecoin. The funds settle straight to your own wallet in the same transaction — you never wait for a payout.
Does DuckyPay hold my money?
No. DuckyPay is non-custodial by design: funds go payer → merchant + protocol fee in one atomic on-chain transaction, and no wallet or contract DuckyPay controls ever holds merchant funds.
Does DuckyPay require KYC?
No KYC is required to start. You connect a wallet and begin accepting payments; because DuckyPay never custodies funds, there is no balance to freeze or verify.
How much does DuckyPay charge?
The first 1,000 transactions per project each month are free (0%) — the allowance resets monthly — then a flat 0.5% applies (0.4% on the Scale plan). The protocol fee is hard-capped on-chain at 1% and cannot be exceeded.
Can my customers pay from an exchange account like Binance or Bitkub?
Yes. Every invoice can expose a unique deposit address, so a customer can pay with a plain USDT or USDC withdrawal from their exchange account — no wallet app, no signing. The address is a contract that can only split funds to your wallet and the protocol fee, so the payment stays non-custodial.
Can I price charges in my local currency, like THB or USD?
Yes. Create a charge in THB or USD and DuckyPay converts it to the stablecoin amount at a live market rate — the checkout shows both, e.g. "฿350 ≈ 9.86 USDT". Settlement is always in stablecoin, straight to your own wallet; DuckyPay is not a fiat off-ramp.
Can I accept crypto payments without writing code?
Yes. Payment links give you a reusable checkout URL and QR code you can share in chat, social media, email, or invoices — each open mints a fresh charge. When you want deeper integration, the REST API and Node/React SDKs are there.
How does DuckyPay compare to Coinbase Commerce, BitPay, or NOWPayments?
Most crypto payment gateways custody your funds, require KYC before your first payment, or charge around 1%. DuckyPay is non-custodial by construction, needs no KYC to start, charges 0% on your first 1,000 transactions each month (then 0.5%, hard-capped on-chain at 1%), and can accept payments sent directly from an exchange account.
Can I get paid in USDT by international customers?
Yes. A customer anywhere in the world can pay a DuckyPay invoice in USDT or USDC, and the funds settle to your own wallet in the same transaction — no cross-border banking delays or wire fees. If you need local currency, you convert through a licensed exchange in your country; DuckyPay itself stays crypto-in, crypto-out.
Which blockchains and tokens does DuckyPay support?
DuckyPay launches on Polygon — which has both USDT and USDC as native tokens — with Base and Arbitrum as additional rails. It supports standard stablecoins (USDT, USDC, DAI, PYUSD); fee-on-transfer and rebasing tokens are not supported.
How is DuckyPay different from a custodial crypto gateway?
A custodial gateway receives your money first and pays you out later, holding funds and usually requiring KYC. DuckyPay settles payments directly to your wallet in the same transaction, requires no KYC to start, and only takes a capped on-chain fee.
Start accepting crypto in minutes
Connect a wallet, grab your API keys, and ship a checkout today.