---
title: "Recent USDT whale transfers across chains (ETH + Tron)"
method: GET
path: "/usdt/whales/recent"
tags: ["USDT"]
---

# Recent USDT whale transfers across chains (ETH + Tron)

`GET /usdt/whales/recent`

## Request

- Base URL: `https://swisswhaleintelligence.com/v1`
- URL: `https://swisswhaleintelligence.com/v1/usdt/whales/recent`
- Auth: HTTP bearer

Multi-chain stablecoin flow tracking. Whale-tier threshold >= 1,000,000 USDT enforced by the importer. Cursor pagination on (block_time DESC, txid DESC, log_index DESC). USDT-on-Ethereum from `eth_getLogs` against contract 0xdAC1…7ec7. USDT-on-Tron from TronGrid event-poll against contract TR7N…Lj6t (only_confirmed=true).

## Query parameters

- `limit` integer
- `min_usdt` number
- `hours` integer
- `flow` 'to_exchange' | 'from_exchange' | 'wallet_to_wallet' | 'treasury_mint' | 'treasury_burn'
- `chain` 'eth' | 'tron'
- `before` string

## Response `200`

Paginated whale-tier USDT transfers

- UsdtListResponse
  - `count` integer
  - `data` UsdtWhaleTx[]
    - `amount_usd` number: USD-equivalent (currently == usdt_amount; peg-deviation capture reserved for future)
    - `block_number` integer
    - `chain` 'eth' | 'tron'
    - `flow_type` 'to_exchange' | 'from_exchange' | 'wallet_to_wallet' | 'treasury_mint' | 'treasury_burn'
    - `from_address` string: ETH 0x-hex (lower) or Tron base58 (T-prefix)
    - `from_entity` object, nullable
      - `name` string
      - `type` 'exchange' | 'institution' | 'defi' | 'bridge' | 'sanctioned' | 'scam' | 'verified' | 'staking' | 'mev'
    - `is_treasury_event` boolean: True when Tether-Treasury (ETH: 0x5754…b949, Tron: TKHuVq…fQgFs) is from/to party
    - `log_index` integer: ETH event log_index within tx; Tron event_index
    - `timestamp` string, date-time
    - `to_address` string
    - `to_entity` object, nullable
    - `txid` string: ETH 0x-prefixed 64-hex hash, or Tron 64-hex without prefix
    - `usdt_amount` number: Decimal USDT (6-decimal-aware)
  - `next_cursor` string, nullable: base64(block_time|txid|log_index) — pass back as `before=` for next page

## Other responses

- `400`: Invalid flow / chain / cursor
- `401`: Authentication required or failed. Includes X-RateLimit-* headers when key was identified.
- `429`: Rate limit exceeded. Honour Retry-After header.

---

[API](https://skmtc.dev/swisswhaleintelligence/apis/swiss-whale-intelligence-api.md) · [All operations](https://skmtc.dev/swisswhaleintelligence/apis/swiss-whale-intelligence-api/llms.txt) · [OpenAPI document](https://skmtc.dev/swisswhaleintelligence/apis/swiss-whale-intelligence-api/revisions/dcb44bc52418?raw)
