Self-hosted · USDT TRC-20

Crypto
payments
without the
middleman.

CandyTrans is a self-hosted USDT payment gateway running on your own infrastructure. No third-party custody. No fees skimmed. Your keys, your funds.

→ Admin Panel View API docs
Network TRON TRC-20
Token USDT
Confirmations On-chain
Custody Self-hosted
Webhooks Real-time
HD Wallet BIP-44
Network TRON TRC-20
Token USDT
Confirmations On-chain
Custody Self-hosted
Webhooks Real-time
HD Wallet BIP-44
Core features
01
🔑

HD Wallet Derivation

Each invoice gets a unique address derived from your master seed via BIP-44. No address reuse, full auditability.

02

Real-time Detection

On-chain transaction monitoring via TronGrid. Payments confirmed within seconds of block inclusion.

03
🔄

Auto Sweep

Confirmed funds are automatically swept to your master wallet. Retry logic handles network hiccups.

04
🪝

Merchant Webhooks

POST callbacks to your endpoint on every status change: confirmed, overpaid, expired. Signed and retried.

05
🛡️

TOTP 2FA Admin

Admin panel secured with time-based two-factor auth. Role-based access control for multi-user setups.

06
📦

Self-hosted

Runs on any VPS. Docker-ready. Your server, your database, your private keys. Zero vendor lock-in.

By the numbers
0%
Platform fees
~3s
Detection time
Unique addresses
100%
Your custody
POST /v1/invoices
// Create an invoice
const res = await fetch('/v1/invoices', {
  method: 'POST',
  headers: {
    'X-API-Key': 'your_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    amount: 49.99,
    currency: 'USDT_TRC20',
    order_id: 'order_1234',
    ttl: 3600,
  }),
});

const invoice = await res.json();
// → { id, address, payment_url, ... }

One call.
One address.
Done.

Create invoices with a single POST request. Your customer gets a unique USDT address and a hosted payment page. You get a webhook when it's paid.

Open admin panel →