How to Accept Crypto Payments in Paymenter

Let clients pay invoices with Bitcoin, Solana, Monero, Zcash, USDT and many more coins on the hosted multi-coin page. Every payment is forwarded instantly to your wallet.

Updated October 2026 · Free and open source · Works with the latest Paymenter release

SolanaMoneroZcashBitcoin

The only crypto payment gateway with instant payouts for Solana (SOL), Monero (XMR), Zcash (ZEC) and Bitcoin (BTC).

Every coin your customer sends is forwarded straight to your own wallet the moment the payment is confirmed, with no holds, no sign up and no KYC. It works the same in all our plugins and modules: WooCommerce, Easy Digital Downloads, WHMCS, FOSSBilling, Paymenter, OpenCart, PrestaShop and Magento.

Setup timeAbout 5 minutes
You needPaymenter admin + wallets
Fees1.5% + blockchain fees
PayoutsInstant, to your wallet

What you need before you start

  • Paymenter 1.4 or newer and an admin account (tested on 1.5.9).
  • Paymenter reachable at its public https address, with that address set in Settings › General › App URL. Payment confirmations are sent to it.
  • A wallet address for each network you want to accept. Step 1 explains which ones.

Prepare your payout wallets

Crypto is forwarded to your own wallet addresses, one for each coin or network you want to accept. Prepare them before you start:

  • Bitcoin (BTC): your Bitcoin address (usually starts with bc1).
  • Solana (SOL and Solana tokens such as USDC and USDT on Solana): your Solana address.
  • Monero (XMR) and Zcash (ZEC): your Monero and Zcash addresses.
  • Ethereum and EVM networks (ETH, ERC20, BEP20, Polygon, Arbitrum, Base, Optimism, Avalanche-C): one 0x address covers all of them.
  • Any other coin you want, for example Litecoin, Dogecoin, Bitcoin Cash, Tron (TRC20 USDT) or TON.

Use self-custodial wallets that only you control (Trust Wallet, Exodus, Phantom for Solana, Cake Wallet for Monero, a hardware wallet and so on). Never use exchange deposit addresses, and always paste the address for the right network: a Bitcoin address in the Bitcoin field, a Solana address in the Solana field.

Download the extension

Download the latest version from our GitHub repository: Paymenter-Crypto-Payment-Gateway-main.zip. Keep it zipped. It is free and open source; the code is on GitHub.

Upload the extension to Paymenter

Paymenter installs extensions straight from the admin area, so you do not need FTP.

  1. In the Paymenter admin area, open Extensions › Available Extensions.
  2. Open the Ready to Install / Upload tab and click Upload Extension.
  3. Choose the Paymenter-Crypto-Payment-Gateway-main.zip file you downloaded (do not unzip it) and click Submit.
  4. Paymenter shows Extension uploaded successfully and installs it as the PayGateCrypto gateway.
Upload Extension window in the Paymenter admin area, under Extensions, Available Extensions, Ready to Install / Upload
Extensions › Available Extensions › Ready to Install / Upload › Upload Extension.

Uploads blocked on your server? Unzip the file and copy its contents to extensions/Gateways/PayGateCrypto/ with FTP/SFTP or your hosting File Manager:

Inside the downloaded zip
Paymenter-Crypto-Payment-Gateway-main/
├─ PayGateCrypto.php
├─ keys/          (PayGate.to public key)
├─ LICENSE
└─ README.md
Result on your Paymenter server
<paymenter>/extensions/Gateways/
├─ PayPal/
├─ Stripe/
└─ PayGateCrypto/
    ├─ PayGateCrypto.php
    └─ keys/

Add the gateway and enter your wallets

  1. Open Gateways and click New gateway.
  2. Name: the payment method name your clients see, for example “Crypto (Bitcoin, USDT, Solana…)”.
  3. Gateway: choose PayGateCrypto. Its settings appear below.

Fill in a wallet for each network you want to accept and leave the others empty: an empty network is not offered. Clients pay on the secure hosted multi-coin page, where they pick any coin of your networks and see the exact amount, the address and a QR code.

PayGateCrypto settings in Paymenter: one wallet per network, network fee and underpayment tolerance
The crypto gateway settings: one wallet per network.
SettingWhat it does
Network walletsEVM (one 0x address for ETH, USDT and USDC on Ethereum, BNB Chain, Polygon, Arbitrum, Base, Optimism, Avalanche), Bitcoin, Litecoin, Solana, Tron, Bitcoin Cash, Dogecoin, Monero, Zcash and TON.
The customer pays the network feeTick to add the estimated blockchain fee for forwarding the payment to the amount the client sends.
Underpayment tolerancePayments this much below the amount due still pay the invoice (crypto prices move, some wallets round). Default 2%.
Dedicated API endpoint, Checkout domain, colourOptional. See the custom domain guide.

Click Create. The gateway is active straight away.

Test with an invoice

Open a small test invoice in the client area, click Pay, choose the crypto method and click Pay Now. The client picks a coin on the hosted page and sends the amount shown.

Paymenter payment window with the Crypto payment method selected
The client chooses the crypto method.

Each coin has its own minimum. If the invoice is below it, the hosted page asks the client to choose another coin. See the minimum per coin.

All settings explained

SettingWhat it doesDefault
Network walletsEVM, Bitcoin, Litecoin, Solana, Tron, Bitcoin Cash, Dogecoin, Monero, Zcash, TON. Empty = not accepted.Empty
The customer pays the network feeAdds the forwarding fee to the amount the client sends.Off
Underpayment tolerance0%, 1%, 2%, 3%, 5% or 10%.2%
Dedicated API endpointYour free DDoS-protected API endpoint.api.paygate.to
Checkout domain, colourBranding for the hosted page.checkout.paygate.to

Building your own Laravel app instead? The Laravel package gives you coin lists, addresses, QR codes and signed callback checks in a few lines.

Troubleshooting and FAQ

Are Monero, Zcash and Solana really supported with instant payouts?

Yes. PayGate.to is the only crypto payment gateway with instant payouts for Solana (SOL), Monero (XMR), Zcash (ZEC) and Bitcoin (BTC). Fill in those wallets and the coins appear on the hosted page.

PayGateCrypto is not in the Gateway list.

The file must be at extensions/Gateways/PayGateCrypto/PayGateCrypto.php inside your Paymenter folder. Paymenter 1.4 or newer is required.

Clients see "This payment method is not available right now".

No network has a wallet yet. Fill in the wallet of at least one network and save the gateway.

The client paid but the invoice is still unpaid.

The payment may still be confirming on the blockchain. Otherwise look for the invoice under Invoice › Invoice Transactions: no transaction means the confirmation could not reach your site (check Settings › General › App URL, maintenance mode, firewalls); a Failed transaction means it did not pay the invoice, and storage/logs says why.

The client sent too little.

The transaction is recorded as Failed and the invoice stays unpaid. The funds received are already in your wallet; settle the difference with the client, or allow a larger Underpayment tolerance.

What are the fees?

1.5% flat rate plus blockchain fees. Tick The customer pays the network fee to let clients cover the blockchain fee.

Do I need an account, API key or KYC?

No registration and no KYC for you or your clients. Your wallet addresses are all you need.

How do I update the extension?

Upload the latest zip the same way. Paymenter replaces the files and keeps your gateway settings.

Other platforms and next steps

The same crypto gateway is available for every major platform:

Stuck? Our team replies fast.Send us your platform, a screenshot and the order number if you have one.

Chat with support