Complete Payment Infrastructure for USDT
Everything you need to accept USDT payments. Non-custodial by design, deterministic by nature.
What is a non-custodial USDT payment gateway?
q8qpay is a non-custodial USDT payment gateway: it lets a business accept USDT payments without q8qpay ever taking custody of the funds. Merchants connect their own USDT wallet addresses for the Tron (TRC20), Ethereum (ERC20), or BNB Smart Chain (BSC) networks. When a customer pays, USDT moves directly from the customer's wallet to the merchant's wallet — q8qpay never stores private keys, never holds a merchant's funds, and never initiates a transaction on the merchant's behalf. Its role is limited to watching the blockchain for the incoming transfer, verifying it matches the invoice exactly (network, address, and amount to four decimal places, within the expiry window), and sending the merchant an HMAC-SHA256-signed webhook confirming payment. Because funds never pass through q8qpay's own accounts, a merchant's money is never exposed to the gateway's downtime, security incidents, or insolvency.
Non-custodial vs. custodial payment gateways
The difference is who controls the money. With a custodial gateway, funds land in the provider's accounts first; with q8qpay, they never do.
| Aspect | Custodial gateway | q8qpay (non-custodial) |
|---|---|---|
| Who holds funds | The provider, until payout | The merchant — funds arrive directly in your wallet |
| Private keys | Held by the provider | Never stored or requested |
| Counterparty risk | Provider downtime or insolvency can freeze funds | None — money never touches the gateway |
| Payout delay | Withdrawal/settlement window | Instant — the payment is the payout |
| Supported assets | Often many tokens | USDT only, on TRC20, ERC20, and BSC |
USDT networks compared: TRC20 vs. ERC20 vs. BSC
q8qpay accepts USDT on three networks. They differ in address format, decimal precision, and how many confirmations q8qpay waits for before marking a payment final.
| Network | Chain | Address format | Decimals | Confirmations |
|---|---|---|---|---|
| TRC20 | Tron | Starts with “T”, 34 characters | 6 | 20 |
| ERC20 | Ethereum | Starts with “0x”, 42 characters | 6 | 12 |
| BSC | BNB Smart Chain | Starts with “0x”, 42 characters | 18 | 15 |
Same asset (USDT), same exact-match rules on every network — only the underlying chain differs.
Non-Custodial By Design
Your funds never touch our servers. We watch the blockchain, match payments, and notify you. That's it.
No Private Keys
We never ask for or store your wallet private keys. You maintain full control.
No Fund Holding
Payments go directly to your wallet addresses. No intermediary accounts.
No Transactions Initiated
We only read blockchain state. We never send transactions on your behalf.
Architecture Overview
Your Customer
Sends exact USDT amount
Blockchain (Direct)
TRC20 / ERC20 / BSC
Your Wallet
Funds arrive directly
We watch the blockchain and send you a webhook when payment is confirmed. We never touch your funds.
Exact Match Invoice System
No guesswork. No partial payments. Every condition must match exactly for an invoice to confirm.
Network Match
Payment must be on the same network as the invoice (TRC20, ERC20, or BSC)
Address Match
Payment must go to the exact wallet address specified in the invoice
Amount Match
Amount must match exactly to 4 decimal places. No rounding tolerance.
Time Match
Payment must arrive before invoice expiry. Configurable from 5 min to 2 hours.
What We Don't Do
- No underpaid invoice acceptance
- No overpaid invoice handling
- No fuzzy amount matching
- No guessing which invoice a payment belongs to
Why This Matters
- Deterministic, auditable payment records
- No manual reconciliation needed
- Eliminates payment disputes
- Clear audit trail for compliance
Three Networks, One Integration
Let customers pay with USDT on their preferred blockchain. Same API, same webhooks, same experience.
USDT TRC20
Tron Network
- Lowest transaction fees
- Fast block confirmation
- Highest USDT volume
Address format: T... (34 characters)
USDT ERC20
Ethereum Network
- Most established network
- Highest security
- DeFi ecosystem access
Address format: 0x... (42 characters)
USDT BSC
Binance Smart Chain
- Low fees like TRC20
- EVM compatible
- Binance ecosystem
Address format: 0x... (42 characters)
Complete Invoice Lifecycle
From creation to confirmation. Every state is tracked, logged, and available via API.
Pending
Invoice created, awaiting payment. Customer sees payment page with countdown.
- — Configurable expiry (5 min - 2 hours)
- — Real-time countdown on payment page
- — Auto-polling for status updates
Confirmed
Payment detected and matched. Webhook sent to your callback URL.
- — Transaction hash recorded
- — Webhook with payment details
- — Immutable confirmation
Expired
No valid payment received before expiry. Invoice closed.
- — Automatic status update
- — Amount released for reuse
- — Customer can start new payment
Reliable Webhook Delivery
HMAC-signed webhooks with automatic retries ensure you never miss a payment confirmation.
HMAC-SHA256 Signatures
Every webhook is signed with your unique webhook_secret. Verify authenticity before processing.
Exponential Backoff Retries
Failed deliveries retry automatically: 30s, 1m, 2m, 4m... up to 10 attempts.
Full Delivery Logs
View every webhook attempt: status codes, response bodies, retry schedules. Debug with confidence.
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(JSON.stringify(payload))
.digest('hex');
return signature === expected;
}
// In your webhook handler
const sig = req.headers['x-webhook-signature'];
if (!verifyWebhook(req.body, sig, WEBHOOK_SECRET)) {
return res.status(401).send('Invalid');
}
Full Visibility Admin Dashboard
Monitor everything. Invoices, transactions, webhooks, merchants. All in one place.
Dashboard Overview
Real-time stats: total volume, active invoices, success rates, recent activity.
Invoice Browser
Search, filter, and view all invoices. Check status, amounts, expiry times.
Transaction Logs
Every blockchain transaction detected. Hash, address, amount, confirmations.
Webhook Logs
Every webhook attempt logged. Status codes, payloads, retry schedules.
Merchant Management
View merchants, suspend accounts, manage access. Full control.
System Configuration
Adjust limits, expiry defaults, network settings. All configurable.
Ready to Get Started?
Create your free account and start accepting USDT payments in minutes.