Skip to content

Accept USDT payments without giving up control of funds.

PayWarden is a self-hosted, non-custodial crypto payment gateway for cross-border digital business. Customers pay in USDT on TRON. Payments land in your wallet, your backend gets a signed webhook, and nobody else ever holds your keys.

order_123Event log
  1. order_created

    Order for 99.00 USDT, unique address assigned

  2. payment_detected

    Transfer seen on TRON, tx 7c1e…a90b

  3. payment_confirmed

    Amount matched after 19 confirmations

  4. webhook_sent

    Signed webhook delivered, order completed

  5. sweep_queued

    Funds queued for your cold wallet

Paid. No one but you touched the funds.

Built for teams that already take USDT and do it by hand.

TodaySomeone watches a block explorer and confirms payments by hand.

With PayWardenEach order gets its own address. Payments are detected and confirmed automatically.

TodayA Telegram bot pings the team. Customers wait until someone replies.

With PayWardenYour backend gets a signed webhook the moment a payment is confirmed.

TodayMonth-end reconciliation in a spreadsheet, row by row.

With PayWardenEvery order keeps a full event history, matched to its on-chain transaction.

TodayA hosted gateway holds your balance and can freeze it.

With PayWardenFunds go straight to addresses you control. Sweeps go to your own cold wallet.

How USDT TRC20 payments work

  1. 1

    Create an order

    Your backend calls the API with an amount and a callback URL. PayWarden returns a unique TRON address for that order.

  2. 2

    Customer pays

    They send USDT from any wallet or exchange. No account, no browser extension, no card.

  3. 3

    PayWarden confirms

    It watches the chain, matches the transfer to the order, and waits for the block to be final.

  4. 4

    You get notified

    A signed webhook hits your server. Every retry carries the same idempotency key, so you can safely deduplicate.

  5. 5

    Funds move to cold storage

    Optional automatic sweeps send collected USDT to the cold wallet you choose.

Built so the money stays yours.

Your keys stay yours
Payment addresses are derived from a public key only. The seed is encrypted at rest, and private keys exist in memory just long enough to sign a sweep, then get wiped.
Exact amounts, always
Amounts are handled as exact decimal strings to six places, end to end. No floating-point rounding on money.
Safe to retry
Each transaction can credit only one order. Webhooks are signed with HMAC-SHA256 and carry a stable idempotency key.
A history you can audit
Every state change is written to an append-only event log. Orders only move forward, never back.

USDT payment API: one call in, one webhook out

A REST API with an API key, and a webhook you verify in a few lines. If you have wired up a card processor before, this will feel familiar.

Create a payment
curl -X POST https://pay.example.com/api/v1/payments \
  -H "X-API-Key: $PAYWARDEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "order_123",
    "amount": "99.00",
    "callback_url": "https://shop.example.com/webhooks/paywarden"
  }'
Verify the webhook signature
import { createHmac, timingSafeEqual } from 'node:crypto';

// sig = X-Signature header, key = your webhook secret
export function verify(body: string, sig: string, key: string) {
  const hmac = createHmac('sha256', key).update(body);
  const expected = 'sha256=' + hmac.digest('hex');
  const a = Buffer.from(sig);
  const b = Buffer.from(expected);
  return a.length === b.length && timingSafeEqual(a, b);
}

Full reference: Payments API and Webhooks.

Self-host first. Hosted version later.

Self-hosted

Early access

The full gateway on your own server. One docker compose up starts PostgreSQL, Redis, the API, checkout pages and an admin dashboard. Licensed under BSL 1.1, with no per-transaction fees. The source isn’t public yet, so message us for early access.

Request early access

Cloud

In development, not yet available

A hosted version for teams that don’t want to run servers. Its non-custodial architecture is still being built, so the guarantees on this page apply to the self-hosted edition only. Message us to join the waitlist.

Join the Cloud waitlist