USDT to IRT API: Tracking Tether to Toman Rates in Real Time via REST
Get the live rate from a USDT to IRT API: request examples, pricing crypto in USDT, the USDT–USD gap, alert logic and why an aggregated rate beats one exchange.

- USDT trades against the Toman 24/7 on Iranian crypto exchanges and often leads the dollar when the cash market is closed.
- `GET /v1/rates/usdt` returns an aggregated buy/sell rate; `quote=usdt` prices every crypto asset in Tether.
- Comparing USDT with the free-market USD reveals the premium or discount that traders watch.
For millions of Iranians, Tether is the digital dollar: it trades around the clock, moves in minutes and keeps a dollar value. That makes the USDT to IRT API one of the most requested feeds for wallets, exchanges, trading bots and price sites. This guide shows how to read it, how to use it to price other crypto assets and how to compare it with the cash dollar.
GET https://api.ezrate.me/v1/rates/usdt with your key. You get the aggregated Tether buy and sell price in Toman (or Rial with quote=IRR), the number of sources and the update time. Use /rates?category=crypto"e=usdt to price all crypto assets in Tether, and compare usdt with usd to compute the USDT premium.Part of the Iranian Rial exchange rate API guide.
Why an aggregated rate
Every Iranian crypto exchange has its own order book and its own last price. A single exchange can spike on thin liquidity, go into maintenance or restrict withdrawals. An aggregated rate takes many venues and quotes into account and discards outliers, so one venue’s glitch does not become your price. The pipeline is described in how EZRate aggregates OTC market data.
Request and response
curl -s -H "X-API-Key: $EZRATE_KEY" "https://api.ezrate.me/v1/rates/usdt"{
"data": {
"symbol": "usdt", "code": "USDT", "category": "crypto", "market": "tehran",
"buy": 0, "sell": 0, "change_pct": -0.08, "sources": 9, "low_sources": false,
"updated_at": "…", "quote": "IRT",
"markets": [ { "market": "tehran", "…": "…" } ]
},
"meta": { "as_of": "…", "freshness_sec": 60, "quote": "IRT" }
}Pricing crypto in Tether or Toman
# all crypto assets priced in USDT
curl -H "X-API-Key: $EZRATE_KEY" "https://api.ezrate.me/v1/rates?category=crypto"e=usdt"
# 0.05 BTC in Toman at the sell side
curl -H "X-API-Key: $EZRATE_KEY" "https://api.ezrate.me/v1/convert?from=btc&to=irt&amount=0.05&side=sell"Using one source for both the USDT/IRT leg and the crypto/USDT leg avoids inconsistent cross prices in your UI.
The USDT premium
const res = await fetch("https://api.ezrate.me/v1/rates?symbols=usd,usdt", {
headers: { "X-API-Key": process.env.EZRATE_KEY },
});
const { data } = await res.json();
const by = Object.fromEntries(data.map(r => [r.symbol, r]));
const premium = by.usdt.sell / by.usd.sell - 1; // > 0: Tether above cash dollar
console.log(`USDT premium: ${(premium * 100).toFixed(2)}%`);Why the premium exists and what it signals is analysed in USDT premium in emerging markets.

Alerting on moves
let last;
async function check() {
const r = await (await fetch("https://api.ezrate.me/v1/rates/usdt",
{ headers: { "X-API-Key": process.env.EZRATE_KEY } })).json();
const p = r.data.sell;
if (r.data.low_sources) return; // do not alert on thin data
if (last && Math.abs(p / last - 1) > 0.01) notify(`USDT moved ${((p / last - 1) * 100).toFixed(2)}%`);
last = p;
}
setInterval(check, 60_000);Skipping alerts when low_sources is true avoids false alarms at night. If you need alerts without code, use price alerts.
Weekends and holidays
When Tehran’s cash market is closed, USDT is often the first visible signal of where the dollar will open. Treat it as a signal, not as the dollar itself. More on market hours in Iran’s regional FX hubs.

Integrating USDT rates into a crypto product
Wallets and exchanges usually need the Tether rate in three places: to show balances in Toman, to quote buy and sell prices to users, and to monitor their own order book against the wider market. Use the aggregated usdt rate as a reference, not as your execution price: your own liquidity and spread decide what you can actually offer. A common pattern is to quote around the reference with a configurable spread and to stop quoting automatically if the reference moves sharply or is flagged low-source.
- Balance display:
balance_usdt × usdt.buyfor what the user could sell for today. - Reference band: alert your operators if your order book drifts more than a set percentage from the aggregated rate.
- History: use
/history/usdt?interval=1hfor charts and for reconciling past trades. - Units: keep crypto amounts as decimals and Toman amounts as integers; convert only at the edge.
For the full emergency-brake approach used by Iranian crypto exchanges, Persian readers can see USDT rate for crypto exchanges.
Reading the source count
The sources field tells you how many venues and quotes contributed to the current Tether rate. During the day it is usually high; late at night it can drop. When it falls below the minimum, low_sources becomes true and the previous rate is kept. Show that state to users rather than hiding it — a small “limited data” badge builds more trust than a number that silently stopped updating.
Related live rates: USDT price, US dollar rate, 18K gold price.

Comments (0)
Comments are shown after review. Sign-in is needed to send.


