Frequently Asked Questions
Answers to common questions about the USDT Payment Gateway.
General
What is a non-custodial payment gateway?
Non-custodial means we never hold or control your funds. When customers pay, the USDT goes directly from their wallet to your wallet address. We simply detect and verify the payment, then notify you via webhook. This eliminates counterparty risk - even if our service went offline, your funds are safe in your own wallet.
Which cryptocurrencies do you support?
We exclusively support USDT (Tether) on three networks: Tron (TRC20), Ethereum (ERC20), and Binance Smart Chain (BSC). By focusing on a single stablecoin, we can provide a more reliable and predictable service.
Why only USDT?
USDT is the most widely used stablecoin with the highest liquidity. Its stable value (pegged to USD) eliminates price volatility concerns for both merchants and customers. This makes it ideal for commerce where predictable amounts matter.
What does "exact match" mean?
Our system requires the payment amount to match the invoice amount exactly to 4 decimal places. If an invoice is for 100.0000 USDT, we only confirm it when exactly 100.0000 USDT is received. This eliminates ambiguity about which payment belongs to which invoice.
Payments
How quickly are payments confirmed?
Confirmation time depends on the blockchain network and required confirmations:
- TRC20 (Tron): ~60 seconds (20 confirmations)
- ERC20 (Ethereum): ~3 minutes (12 confirmations)
- BSC: ~45 seconds (15 confirmations)
What happens if a customer sends the wrong amount?
If the amount doesn't match exactly, the payment won't be automatically matched to any invoice. The funds still arrive in your wallet (since we're non-custodial), but you'll need to handle reconciliation manually. This is why the payment page emphasizes the exact amount required.
What happens if an invoice expires?
Expired invoices are no longer monitored for matching payments. If a customer sends payment after expiry, it goes to your wallet but won't trigger a webhook. You can set invoice expiry from 5 minutes to 2 hours when creating the invoice.
Can customers pay with other cryptocurrencies?
No, we only accept USDT. Customers must send USDT on one of the supported networks (TRC20, ERC20, or BSC). Sending other tokens or cryptocurrencies may result in lost funds since we don't monitor for other assets.
Technical
How do I integrate the payment gateway?
Integration is straightforward: use your test_ API key to make a POST request to
/api/v1/invoices, redirect your customer to the payment URL, and handle the webhook when payment
is confirmed. Use the sandbox API to simulate payments during development. When ready, switch to your
live_ key. Check our API documentation for
detailed integration guides and code examples.
How do webhooks work?
When a payment is confirmed, we send a POST request to your callback URL with payment details. The webhook is signed with HMAC-SHA256 using your webhook secret, so you can verify authenticity. If delivery fails, we retry with exponential backoff up to 10 times.
Can I customize the payment page?
Currently, the payment page uses our standard design. You can alternatively use the invoice data to build your own payment UI - the API returns the wallet address, exact amount, and expiry time. You'd then poll the status endpoint or wait for the webhook.
Is there an API rate limit?
There's no hard rate limit on API requests, but we ask that you be reasonable. The main limit is on active invoices - by default, each merchant can have up to 100 pending invoices at once. This can be increased on higher-tier plans.
Account & Billing
How much does it cost?
We charge a percentage fee per successful transaction, ranging from 0.5% to 1% depending on your plan. There are no setup fees, monthly fees, or hidden charges. See our pricing page for details.
How do you collect fees if you're non-custodial?
Great question! Since funds go directly to your wallet, we invoice you monthly for the transaction fees. You can pay via USDT or traditional payment methods depending on your plan. The amount in webhooks reflects the full payment amount received.
Can I have multiple wallet addresses?
Yes, you can add multiple wallet addresses for each network. This is useful if you want to receive payments to different wallets for different purposes. You can specify which wallet to use when creating each invoice, or set a default for each network.
What's the difference between test and live API keys?
You receive two sets of API keys: test_ keys for development and
live_ keys for production. Test keys create invoices that can be paid using the
sandbox API (simulated payments), while live keys create real invoices that require actual blockchain transactions.
This lets you fully test your integration before going live.
What if I lose my API key?
API keys are shown only once at registration for security. If you lose it, you'll need to regenerate a new one from your dashboard. The old key will be invalidated immediately, so update your integration with the new key.
Security
Is it safe to use my own wallet address?
Yes, this is actually safer than using a custodial service. You provide only your public wallet address - we never have access to your private keys. Funds go directly to your wallet where only you have control. We recommend using a dedicated business wallet.
How do I verify webhooks are from you?
Every webhook includes an X-Webhook-Signature header containing an HMAC-SHA256 hash of the request body signed with your unique webhook secret. Always verify this signature before processing the webhook. See our developer docs for code examples.
What happens if your service goes down?
Since we're non-custodial, your funds are never at risk from our downtime. Any payments received during downtime will still arrive in your wallet - you just won't receive the webhook notification until service is restored. We queue webhooks and send them once back online.
Do you comply with regulations?
As a non-custodial service, we don't hold customer funds or provide exchange services. However, as a merchant using our gateway, you're responsible for complying with applicable regulations in your jurisdiction, including any licensing requirements for accepting cryptocurrency.