> ## Documentation Index
> Fetch the complete documentation index at: https://docs.peaq.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# USDT Balance

> Read USDT (ERC-20) balances on peaq EVM using address-only ROS 2 services.

Use this service to query USDT balances for any EVM address on peaq EVM. The call is read-only and does not require the address to exist in the local registry.

## Service Reference

| Service                          | Type                                            | Purpose                            |
| -------------------------------- | ----------------------------------------------- | ---------------------------------- |
| `/peaq_tether_node/usdt/balance` | `peaq_ros2_interfaces/srv/TetherGetUsdtBalance` | Return USDT balance for an address |

## Launch Prerequisites

Start `peaq_tether_node` once, then call services as needed.

* To start/stop the node (tmux + background options), follow the steps in [Service Index](/peaqchain/sdk-reference/robotics-sdk/ros2/tether/overview).
* In any new terminal where you run `ros2` commands, make sure you’ve sourced your ROS/workspace environment and set the same `ROS_DOMAIN_ID` as the node:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
# source /opt/ros/<your_ros_distro>/setup.bash
# source <path to your peaq-robotics-ros2 clone>/install/setup.bash
export ROS_DOMAIN_ID="${ROS_DOMAIN_ID:-94}"
```

## Check Balance

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
export ROS_DOMAIN_ID="${ROS_DOMAIN_ID:-94}"
ros2 service call /peaq_tether_node/usdt/balance \
  peaq_ros2_interfaces/srv/TetherGetUsdtBalance \
  "{address: '0x...'}"
```

Response fields:

* `balance_raw`: base-10 string (uint256)
* `balance_formatted`: formatted using configured decimals (default 6 for peaq USDT)

## Tips

* If you hit provider rate limits, retry after a short delay or use a higher-throughput RPC endpoint.
* Keep the USDT contract address in config in quotes (YAML) to avoid type parsing issues.
