DuckyPay
Stripe for crypto

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

PayerPaymentRouterYour wallet99.5%Protocol fee0.5%

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

Payer or exchangeDeposit addressYour wallet99.5%Protocol fee0.5%

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/nodeServer SDK@duckypay/reactReact componentsnpx create-duckypay-checkoutScaffold a demo

Read the documentation

Create a charge · charges.create()
import { 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

PolygonBaseArbitrum

Stablecoins

USDTUSDCDAIPYUSD

Honest, usage-based pricing

Start free, every month. The fee is computed per project and baked into each signed payment — change pricing without redeploying.

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

 DuckyPayStripe / Omise (cards)Custodial crypto gateways
Custody of fundsNever — settles to your wallet in one transactionHolds funds, pays out in cyclesHolds funds, pays out later
Fees0% first 1,000 tx/month, then 0.5% (1% on-chain cap)~3.65% + fixed fee per card chargeTypically 0.5–1%
Start acceptingEmail + wallet — same day, no KYCBusiness documents + approval waitKYC usually required
Settlement speedInstant, same transactionPayout cycles (days)Delayed payout
ChargebacksNone — settlement is finalYes — dispute riskNone
Account freeze riskNone by construction — no balance is heldPossiblePossible
Pay from an exchange accountYes — per-invoice deposit addressRarely, or via custody
International customersUSDT/USDC from anywhere, no cross-border feesCross-border / FX surchargesYes

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.