Crypto Payments
Accept Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Solana (SOL), and XRP via invoice and QR checkout flow. Stablecoins: USDT on Ethereum (ERC-20) and Tron (TRC20); USDC on Ethereum (ERC-20) and Solana (SPL).
Why This Matters
Crypto invoices give customers a unique wallet address and QR code for each order, ensuring payments are matched automatically without manual reconciliation.
Supported Assets
Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Solana (SOL), XRP. Stablecoins: USDT on Ethereum (ERC-20) and Tron (TRC20); USDC on Ethereum (ERC-20) and Solana (SPL).
The network picker offers BTC, ETH, LTC, SOL, and XRP. The exact amount is required by default (underpayment tolerance 0% unless configured); the fiat-to-crypto rate is locked at invoice creation.
Creating an Invoice
Go to Create Invoice
Click "Create Invoice" in the left sidebar.
Select Network
Choose the blockchain network (BTC, ETH, LTC, SOL, XRP). The balance for that network is shown in the dropdown.
Select Asset / Token
Pick the matching network first: USDT is on Ethereum (ERC-20) and Tron (TRC20); USDC is on Ethereum (ERC-20) and Solana (SPL). For Ethereum-based payments, choose ETH, USDT, or USDC.
Enter Amount (fiat)
Enter the fiat amount and select the currency (EUR, USD, etc.). Niftipay converts to the equivalent crypto amount at time of invoice creation.
Add Reference (optional)
Enter your internal invoice number or order reference for reconciliation.
Add Customer Details (optional)
Enter first name, last name, and email to associate the payment with a customer record.
Click Create Invoice
Niftipay generates a unique deposit address, QR code, and payment URI for the customer.
Create Crypto Invoice

Create a crypto invoice by selecting the network, asset/token, fiat amount, currency, reference, and customer details.
Payment Lifecycle
Invoice Created
Unique deposit address and QR code generated. Status: PENDING.
Customer Sends Payment
Customer scans QR or copies address and sends crypto from their wallet.
Transaction Detected
Niftipay detects the transaction on-chain. Status: CONFIRMING.
Confirmations Complete
Required block confirmations reached. Status: PAID. Balance updated.
Funds Available
Funds appear in your Niftipay wallet balance. Available for withdrawal.
Operational Notes
Underpayment Tolerance
The exact amount is required by default (underpayment tolerance 0% unless configured). If a tolerance is configured and a customer sends slightly less than required, the payment can still be accepted within that threshold.
Rate Lock
The fiat-to-crypto exchange rate is locked at invoice creation time. Customers pay the exact crypto amount shown, regardless of price movement during the payment window.
Common Issues
Customer paid to the wrong address?
Each invoice generates a unique deposit address. Funds sent to an expired or incorrect address may not be automatically credited. Contact support with the transaction hash.
Invoice expired but customer wants to pay?
Create a new invoice. Expired invoices cannot be reopened.
Next Steps
- 1Review Payment Statuses for full status lifecycle detail
- 2Set up webhooks to receive real-time PAID notifications
- 3Review Settlements to understand how to move funds to your wallet
Need help? Email support@niftipay.com with your merchant name, order or payment reference, screenshots or error messages, and a short description of the issue.