NOWPayments is one of the most common ways to accept crypto: hundreds of coins, plugins for the big e-commerce platforms, and an API most developers can wire up in an afternoon. Merchants start looking for a NOWPayments alternative for two reasons. The fee is a percentage of every order, and the money sits in someone else's balance before it reaches you.
This post compares the two on the points that decide a switch: what you pay, who holds the funds, and how much of your integration has to change. Fee figures were checked on each provider's own pages on 11 October 2026. Pricing changes, so check them again before you decide.
What NOWPayments charges
The NOWPayments pricing page lists a 1% service fee. Its own comparison article says single-currency deposits start at 1%, payments with auto-conversion start at 1.5%, and lower rates are available to larger partners who complete KYC or KYB. Network fees come on top.
A percentage fee is easy to understand and grows with your orders. On a 100 USDT order, 1% is 1 USDT. On a 2,000 USDT order, it's 20 USDT. That's fine at low volume and starts to hurt once your average order is large or your margins are thin.
What PayHook charges
PayHook charges per confirmed payment, not per dollar. Every account gets 50 free payments every 30 days. After that you buy a prepaid pack in USDT:
- Starter: 9 USDT for 5,000 payments (0.0018 USDT each)
- Growth: 29 USDT for 20,000 payments (0.00145 USDT each)
- Business: 49 USDT for 40,000 payments (0.0012 USDT each)
- Scale: 99 USDT for 100,000 payments (0.00099 USDT each)
Bought payments never expire. Expired and cancelled payments cost nothing.
| Order size | NOWPayments at 1% | PayHook, Starter pack |
|---|---|---|
| 20 USDT | 0.20 USDT | 0.0018 USDT |
| 100 USDT | 1.00 USDT | 0.0018 USDT |
| 2,000 USDT | 20.00 USDT | 0.0018 USDT |
Network fees are paid by the customer's wallet in both cases and aren't in the table. PayHook's figure is the Starter pack (9 USDT) divided by its 5,000 payments; payments are sold in packs, not one at a time, and larger packs cost less per payment.
Who holds the money
This is the bigger difference, and it isn't about price.
NOWPayments' own comparison describes it as custodial: funds are held in a custodial balance by default, and payouts to your wallet follow from there. That's what makes features like auto-conversion and fiat withdrawal possible, and it also means your revenue sits with a third party until it's paid out.
With PayHook, the customer pays an address you control. PayHook only watches the chain and tells your server when the payment is confirmed. It never holds the funds or your keys, so there's no balance to withdraw and nothing for anyone to freeze. Because PayHook never handles your money, it doesn't ask for identity documents either. There's more on the trade-off in non-custodial vs custodial crypto payment gateways.
Moving your integration
If you already call the NOWPayments API, the shape of a PayHook integration will feel familiar: create a payment from your backend, send the customer to a hosted checkout, and fulfill the order when a signed webhook arrives.
curl -X POST https://api.payhook.app/api/v1/payments/ \ -H "X-API-Key: pk_..." \ -H "Content-Type: application/json" \ -d '{ "amount_usd_cents": 10000, "network": "tron", "currency": "usdt", "external_order_id": "order-5521", "redirect_url": "https://yoursite.com/orders/5521" }'
What changes:
- Addresses: you add your own wallet addresses on each network to a pool. Each pending payment locks one address, so add a few per network if customers often pay at the same time.
- Amounts: you send the order amount in USD cents. PayHook works out the exact USDT amount at the live rate and returns it as
expected_crypto_amount. - Order matching: pass your order ID as
external_order_id. It comes back on every webhook for that payment. - Webhooks: verify the
X-PayHook-Signatureheader (HMAC-SHA256 over the timestamp and raw body). The docs have verifiers in five languages, and how HMAC webhook signatures work explains the scheme. - Testing: create a test site and run a payment end to end with no funds.
Most merchants run both side by side for a while: PayHook for USDT, the old gateway for everything else.
When NOWPayments is still the better choice
PayHook is narrower, and for some merchants that's the deciding factor.
- You need many coins. PayHook accepts USDT only, on BSC, TRON and Ethereum. If your customers pay in BTC, SOL or a long tail of altcoins, NOWPayments covers them and PayHook doesn't.
- You need fiat in a bank account. PayHook never converts anything. You receive USDT and convert it yourself if you need to.
- You need a plugin. PayHook has no WooCommerce or Shopify plugin today. A developer has to wire up the API and webhook, which usually takes about 30 minutes.
If most of your orders are already paid in USDT, those limits rarely matter, and the fee and custody differences usually do.
Try it on real orders
Start on the free 50 payments, put PayHook next to your current checkout for USDT orders, and compare what each order cost you at the end of the month. Pricing has the full pack list.
Related: Accept USDT Payments in 30 Minutes ยท Crypto Payment Gateway Without KYC
Compare it on your own orders.
50 free payments every 30 days. No card, no KYC.