---
title: RPC
description: Use thru for top-level node queries, account reads, and the native
  transfer command
source_url:
  html: https://thru.org/docs/cli-reference/rpc-commands/
  md: https://thru.org/docs/cli-reference/rpc-commands.md
---

# RPC

Use this page when you need the top-level `thru` commands that are not nested under a program-specific family.

## Use This When

- you want to query node or chain state
- you want to inspect account data or balances
- you want the top-level native `transfer` command

Choose another family when:

- you are working with token accounts or mints: [Token Commands](https://thru.org/docs/cli-reference/token-commands.md)
- you are building or executing raw transactions: [Transaction Commands](https://thru.org/docs/cli-reference/transaction-commands.md)
- you are creating or managing programs: [Program Commands](https://thru.org/docs/cli-reference/program-commands.md)

## Commands

| Command | Use it for |
| - | - |
| `thru getversion` | Fetch node version information. |
| `thru gethealth` | Check node health. |
| `thru getheight` | Read cluster block heights. |
| `thru getaccountinfo [account] [--data-start N] [--data-len N]` | Inspect account metadata and optionally slice returned account data. |
| `thru getbalance [account]` | Fetch balance for a key name or address. |
| `thru getslotmetrics <slot> [end_slot]` | Inspect state counters and collected fees for one slot or a slot range. |
| `thru transfer <src> <dst> <value>` | Send native Thru between accounts. |

## Common Patterns

```bash
thru getversion
thru --json gethealth
thru getaccountinfo default --data-start 0 --data-len 64
thru transfer default ta...[recipient] 1000
```

## Notes

- These are the fastest commands to try first for read-only health, balance, or account inspection tasks.
- `getaccountinfo` and `getbalance` can resolve config key names as account identifiers.
- Use `--json` if the next step depends on parsing returned values programmatically.
