Skip to main content

ZaroPay API

ZaroPay lets you accept USDT on the TRON network from your CRM, store, or app — without touching private keys or running a node. You create a charge, your customer pays on-chain, and ZaroPay notifies you with a signed webhook the moment the payment confirms.

How an integration works

1. Create a charge 2. Customer pays 3. You get a signed webhook
───────────────── ────────────── ───────────────────────────
POST /v1/deposit-addresses Customer sends USDT to ZaroPay POSTs deposit.confirmed
→ address + checkout_url the address (hosted to your URL, HMAC-signed.
checkout page or direct). You verify + fulfil the order.
  1. Create a charge — call POST /v1/deposit-addresses with the order amount. You get back a unique deposit address and a hosted checkout_url.
  2. Customer pays — send them to the checkout_url (a branded payment page with a QR code), or show the address yourself.
  3. Get notified — when the payment reaches the required confirmations, ZaroPay sends a deposit.confirmed webhook signed with HMAC-SHA256. You verify the signature, then mark the order paid.
Always trust the webhook, not the redirect

The customer's browser redirect back to your site is convenient for UX, but it is customer-controllable. Treat the signed deposit.confirmed webhook as the source of truth for fulfilment.

What you can build

  • Checkout / payment links — a hosted page per order (no front-end work).
  • In-app payments — generate an address, show your own UI, react to the webhook.
  • Reusable receive addresses — a stable "deposit USDT" address per customer or wallet.

Next steps

Base URLs

EnvironmentBase URL
Production (mainnet)https://api.zaropay.com
Test (testnet)https://staging-rest.zaropay.com

Every endpoint is under the /v1 prefix.