DuckyPayDocs

Pricing & fees

You should see every unit that can be deducted before it happens — not discover it at reconciliation. There are exactly two: the platform fee (0% on your first 1,000 transactions each month) and, on transfer mode only, a network-cost pass-through.

What a payment costs#

Per project, the first 1,000 transactions each month carry no platform fee (the allowance resets on the 5th, 00:00 UTC). Beyond that, your account plan’s rate applies.

Per paymentWithin free tierBeyond free tier
Wallet mode
buyer connects a wallet
0 — nothing deductedfee 0.5% (Scale 0.4%)
Transfer mode
buyer sends to a deposit address
network fee ~0.015 USDTfee 0.5% (Scale 0.4%) + ~0.015 USDT

A worked example#

A 25 USDT invoice, in all four cases:

25 USDT invoiceWithin free tierBeyond free tier (0.5%)
Wallet mode — you receive25.00000024.875000
Transfer mode — you receive≈ 24.985000≈ 24.860000

The fee is computed in basis points and rounded down; rounding dust always goes to you, and the parts always sum exactly to the invoice amount.

The transfer-mode network fee#

Plans#

FreePro $5/moScale $25/mo
Fee beyond free tier0.5%0.5%0.4%
Projects1310
Webhook endpoints / project25Unlimited
API rate limit30 req/min60 req/min120 req/min
Charge creations / month8,000UnlimitedUnlimited
White-label checkoutYes

Subscriptions are prepaid in stablecoin on DuckyPay’s own rails (1, 3, or 12 months) from the dashboard’s Billing page. If a plan lapses, already-created charges keep settling — plan gates only ever block creating new charges.

Cashback#

On paid plans, every transaction that actually incurs a platform fee earns 0.1% of the gross amount back, funded from DuckyPay’s own fee. Cashback accrues in an off-chain ledger (visible in the dashboard) and is withdrawable from 100 USDC.

The 1% hard cap#

The fee on any payment is technically incapable of exceeding 1%: the router contract enforces MAX_FEE_BPS on-chain regardless of what any signature says. Even a fully compromised DuckyPay could not take more than 1% of a payment — and could never touch funds already in your wallet. This bound is compiled into the contracts; raising it would require deploying new ones.

FAQ#

Is “0%” really 0%?

In wallet mode, yes — within the monthly free tier nothing at all is deducted, and the buyer pays their own gas. In transfer mode the network-cost pass-through (~0.015 USDT) still applies, because the settle transaction is real gas someone has to pay.

Why was ~0.5 THB deducted from this row?

That is the transfer-mode network fee expressed in THB. It appears only on transfer-rail payments, once per settled payment.

Why does a tiny invoice show a 1% network fee?

The pass-through is capped at 1% of the amount. On invoices below roughly 1.5 USDT the real gas cost would exceed 1%, so the cap binds and DuckyPay absorbs the difference.

Where do these numbers come from?

This page renders its constants from the same shared module the signer and contracts test against (@duckypay/shared) — see Chains & tokens for the equivalent guarantee on addresses.