Overview
Received all-time
0.00 USDT
Only confirmed on-chain receipts are shown here.
USDPAY fee — current period
0.00 USDT
No confirmed payments yet. No fee is due.
Pay fee
Create invoice
Generate a payment link
Add wallet
Connect a receiving address
24 hours
7 days
30 days
90 days
Total received
0.00 USDT
Confirmed payments
0
Success rate
0%
These are your on-chain receipts. USDPAY holds no balance for you.
Incoming volume
2026 ▾
Payments
Newest first ▾
| Status | Date | Invoice ID | Network | Amount, USDT | |
|---|---|---|---|---|---|
|
No confirmed payments yet
Create an invoice and complete a BEP20 checkout to see real payments here.
|
|||||
No payments yet
Wallets
We only store your public address.USDPAY never asks for your private key or seed phrase. Funds are received straight to the address you control.
Only your own personal wallet.
Use a wallet that only you control — for example an app on your phone or a browser extension. An account on an exchange won't work: those addresses can change, often require a memo/tag, and transfers may not be credited or may get stuck.
These are examples. Download only from the official site and never share your seed phrase with anyone — USDPAY will never ask for it.
Add a receiving wallet
One wallet per network — used networks are greyed out.
This doesn't look like a valid address for the selected network.
⚠ You already have a wallet on every network. Remove one first to add a different address.
⚠ Double-check the address — payments are irreversible and go straight to it.
TRC20
Active
Main store Default
T9yLf3xk9dPqA2r7Vn4Mc8Ht1Ba6Ss0q4Rk2
BEP20
Active
BSC wallet Default
0x8Fc4A1b2C3d4E5f60718293A4b5C6d7E8f901234
TON
Active
TON wallet Default
EQD4f9a1b2c3d4e5f60718293a4b5c6d7e8f9a0b1c2d3e4f5a6b7
What "Default" means
The default wallet is pre-selected on the payment page. Customers can switch the network at checkout — the payment then goes to your wallet for that network.
Integration
API keys
Use these for API calls and the payment widget.
Publishable key
pk_live_9f2a7c4e8b1d6034
Secret key
sk_live_••••••••••••63a1c8
⚠ Keep your secret key private — it has full API access. Never expose it in frontend code.
Webhooks
We'll POST to your endpoint when a payment is confirmed or an invoice expires.
Signing secret
whsec_••••••••4b8d6035
Events
invoice.paid invoice.expired
Payment widget
Drop this on your site to accept payments in a couple of lines.
HTML
<script src="https://cdn.usdpay.me/checkout.js"
data-key="pk_live_9f2a7c4e8b1d6034"></script>
<button
data-usdpay
data-amount="49.00"
data-network="TRC20"
data-order="ORDER-1042">
Pay with USDT
</button>
Create an invoice via API
Create the invoice on your backend, then show the customer the address and amount.
curl https://api.usdpay.me/v1/invoices \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"amount": "49.00",
"network": "TRC20",
"order_id": "ORDER-1042",
"callback_url": "https://yoursite.com/usdpay/webhook"
}'
const res = await fetch("https://api.usdpay.me/v1/invoices", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.USDPAY_SECRET,
"Content-Type": "application/json"
},
body: JSON.stringify({
amount: "49.00",
network: "TRC20",
order_id: "ORDER-1042",
callback_url: "https://yoursite.com/usdpay/webhook"
})
});
const invoice = await res.json();
Example response
JSON
{
"id": "inv_7Fq2xK9",
"status": "pending",
"network": "TRC20",
"address": "T9yLf3xk9dPqA2r7Vn4Mc8Ht1Ba6Ss0q4Rk2",
"amount": "49.03",
"order_id": "ORDER-1042",
"expires_at": "2026-07-14T12:30:00Z"
}
● If another active invoice already uses the same amount, USDPAY adds the next cent (49.00 → 49.01) so we can match the payment on-chain.
Payments
Shown0
Total, USDT0.00
| Status | Date | Invoice ID | Network | Amount, USDT | |
|---|---|---|---|---|---|
|
No payments yet
Confirmed BEP20 payments will appear here after checkout is paid.
|
|||||
No payments match your filters.
Invoices
New invoice
Enter an amount greater than 0.
Invoice created
Amount to pay: 49.03 USDTNetwork: TRC20Expires: 30 min
If this amount is already used by an active invoice, USDPAY adds the next cent so we can match the payment on-chain.
https://usdpay.me/pay/inv_XXXX
| Status | Created | Order ID | Network | Amount, USDT | ||
|---|---|---|---|---|---|---|
|
No invoices yet
Create your first BEP20 invoice to test checkout.
|
||||||
No invoices match your filters.
Billing
No fees are due
Fees and reconciliation history will appear only after real confirmed payments.
Settings
Business profile
Basic details for your USDPAY account.
15954
Checkout page
What your customers see on the payment page.
Email notifications
Payment confirmed
Email me when a payment is confirmed on-chain.
Invoice expired
Email me when an invoice expires unpaid.
Fee due reminder
Remind me before the monthly USDPAY fee is due.
Product updates
Occasional news about USDPAY features.
Invoice defaults
Pre-filled when you create a new invoice.
Default network
Default expiry
Close account
This disables your account and API keys. Your wallets and past payments are unaffected — funds are always in your own wallets, never with USDPAY.
Security
Password
Change your account password.
Use at least 8 characters.
Passwords don't match.
Two-factor authentication
Add a second step at sign-in with an authenticator app (Google Authenticator, Authy, 1Password).
Authenticator app
Status: Off
Active sessions
Devices currently signed in to your account.
Sign-in alerts
Email me whenever a new device signs in.
Chrome · macOS This device
Bali, Indonesia · active now
Safari · iPhone
Bali, Indonesia · 2h ago
Firefox · Windows
Jakarta, Indonesia · Aug 22, 2026
Support
Helpful links
API & integration
Keys, webhooks and code snippets.
Plans & fees
Your plan and reconciliation statements.
Section
This section is coming soon
We're still building it. In this preview, Overview and Wallets are live.