USDT settlement for merchants, automatic at your threshold

ATLAS offers USDT settlement for merchants: every completed payment is credited to your balance in USDT. When your balance reaches your threshold, USDT goes to your TRC-20 wallet automatically. You can also withdraw on request, from the dashboard or the API.

How auto-settle works

With auto-settle on, you never file a request to get paid. Once your wallet is added and verified, the cycle below runs by itself.

  1. Payments credit USDT

    Each completed pay-in adds its credited amount to your pay-in balance.

  2. The balance reaches your threshold

    A withdrawal of the whole pay-in balance is requested for you.

  3. USDT goes to your wallet

    The transfer is sent to your verified TRC-20 address automatically. While it is on its way, the withdrawal shows as Processing.

  4. It completes on chain

    The withdrawal turns Completed and carries the TRON transaction hash, which you can look up in any TRON explorer.

Your balance starts filling again from the next payment. The finance page says that auto-settle is on and names the threshold and the wallet it sends to, and the threshold also has its own tile on your dashboard.

Automatic transfers go only to an address we have verified with you, and if you change the wallet, auto-settle pauses until the new address is verified.

Withdraw on request, from the dashboard or the API

You don't have to wait for the threshold. Request any amount up to your available balance, or leave the amount out to take the whole balance.

The amount leaves your available balance the moment you request it, and the withdrawal shows as Pending. Our finance team reviews and pays it.

When the USDT is sent, the withdrawal becomes Completed with its transaction hash. If a withdrawal is declined, you see the reason and the USDT goes back to your balance.

Only one withdrawal runs at a time. A second request while one is open is refused, which also means a repeated click or a retried API call can't take the money twice.

Every payment becomes a line in your USDT ledger

Your merchant dashboard sums up the payments of any period in one line: accepted, minus commission, equals credited, in USDT, shown next to the previous period. Each line uses the rate fixed at the moment of that operation, so the credited figure never gets recalculated later.

Below the balances, the finance section keeps a feed of every movement with running totals, and it builds reports on volume, fees and pay-outs for any period you pick. The same balances are in the Finance API.

Two balances: pay-ins collect, pay-outs spend

Your account holds USDT in two places. The pay-in balance collects the proceeds of completed pay-ins, and it is the one you withdraw from. The pay-out balance funds the transfers you send to your customers. You move USDT from one to the other in the dashboard.

When you create a pay-out, its USDT is reserved and stays locked while the pay-out is in flight, and the reserve is charged only after the pay-out is confirmed.

If the pay-out balance can't cover a new request, it is refused with INSUFFICIENT_BALANCE, and the message shows what is available, what is required and the shortfall.

Auto-settle withdraws the pay-in balance only. USDT you have set aside for UPI, IMPS and bank pay-outs stays where you put it.

Your total balance is the sum of all three: the pay-in balance, the pay-out balance and the USDT reserved for pay-outs in flight.

Balance and withdrawals through the API

The Finance API returns the same figures as the dashboard. Requests are signed with your HMAC key like every other call; a GET has no body, so you sign the timestamp alone.

  • GET /api/merchant/balance: availableBalance, payOutBalance, reservedBalance, totalBalance, your walletAddress, autoSettleEnabled, accumulationThreshold and any pendingWithdrawal
  • POST /api/merchant/withdrawals: request a withdrawal; send no amount to withdraw the whole available balance
  • GET /api/merchant/withdrawals/{withdrawalId}: one withdrawal with its status, txHash and timestamps
  • GET /api/merchant/withdrawals: your withdrawals, newest first, with a status filter and paging

A withdrawal is Pending, Processing (an automatic transfer on its way), Completed or Failed. Status changes aren't pushed by webhook yet, so poll the withdrawal or read pendingWithdrawal from the balance.

If an automatic transfer can't be made, the withdrawal goes back to Pending and our finance team pays it.

Move USDT from your pay-in balance to your pay-out balance through the API with POST /api/merchant/transfers.

The API docs cover reading the balance and requesting a withdrawal.

Example: read your balance
GET /api/merchant/balance
200 OK
{  "currency": "USDT",  "availableBalance": 4812.40,  "payOutBalance": 300.00,  "reservedBalance": 25.00,  "totalBalance": 5137.40,  "autoSettleEnabled": true,  "accumulationThreshold": 5000.00,  "pendingWithdrawal": null}

Your TRC-20 wallet

Settlements are USDT on the TRON network. You add the address in the dashboard under Settings → Settlement wallet. It starts with T and has 34 characters.

Before saving, the dashboard shows the address in full and asks you to check every character, because a transfer to a wrong address can't be returned.

Until an address is set, withdrawals are refused with NO_WALLET_ADDRESS. The address is fixed at the moment you request a withdrawal, so changing it later never redirects one already under way.

A new address also pauses auto-settle until we verify it with you.

Why settle payments in crypto, and why USDT

Your buyers pay in rupees, won, pesos, bolívars, lira, euros and pounds across six markets. You receive one currency, USDT on TRC-20, and you don't need a bank account in each country to collect it.

Each operation is converted at the moment it happens, so the USDT credited to you doesn't move with the local currency afterwards. Every settlement also has an on-chain transaction hash, so you can check each transfer yourself.

FAQ

What is USDT settlement?

Your pay-ins are credited to your balance in USDT. When your balance reaches your threshold, USDT goes to your TRC-20 wallet automatically. You can also withdraw on request.

How does auto-settlement in USDT work?

When your available balance reaches your threshold, a withdrawal of the whole balance is requested for you and sent to your verified wallet automatically. It shows as Processing while on its way and Completed with a transaction hash.

How do I switch on auto-settle?

Add your TRC-20 address under Settings → Settlement wallet and contact us. Auto-settle is switched on once the address is verified.

Can I withdraw before the balance reaches the threshold?

Yes. Request any amount up to your available balance from the dashboard, or call POST /api/merchant/withdrawals.

Which network do TRC-20 withdrawals use?

TRON. Settlements are USDT on TRC-20, and each completed withdrawal carries its on-chain transaction hash.

What happens to USDT reserved for pay-outs?

It stays in your pay-out balance and is locked only while a pay-out is in flight. Auto-settle withdraws the pay-in balance and leaves the pay-out balance alone.

Is the exchange rate fixed?

Yes. The rate is fixed at the moment of each operation, so the credited USDT doesn't change afterwards.

Can I check my balance through the API?

Yes. GET /api/merchant/balance returns the same figures as the dashboard, including the threshold and any withdrawal in flight.