# Live RPC

Source: https://www.solscanner.app/docs/indexer/reference/rpc

> Read-through to the node for the current answer rather than the indexed one.

These four routes bypass the index entirely and call the node. Use them when you need what is true right now rather than what is durably indexed. Each response is pinned to one observed block, requires the `rpc` scope, and returns a typed `503` when the bounded node read is unavailable.

4 routes. Every path below is served under `/index/v1/{chain}`, and every request carries an `x-api-key` header, so those two are not repeated per route. The shared contract for pagination, snapshots, precision and absence is in [Read API](/docs/indexer/api).

Address Balance [#address-balance]

```http
GET /rpc/address/{address}/balance
```

The address's native balance right now, pinned to one observed block.

| Parameter | In   | Required | Notes                            |
| --------- | ---- | -------- | -------------------------------- |
| `address` | path | yes      | 0x-prefixed 20-byte hex address. |

Address Code [#address-code]

```http
GET /rpc/address/{address}/code
```

Whether the address is a contract right now, and its runtime code hash, pinned to one observed block.

| Parameter | In   | Required | Notes                            |
| --------- | ---- | -------- | -------------------------------- |
| `address` | path | yes      | 0x-prefixed 20-byte hex address. |

Head [#head]

```http
GET /rpc/head
```

The node's own latest observed `(block, hash)`.

Token Metadata [#token-metadata]

```http
GET /rpc/tokens/{address}/metadata
```

Live ERC-20 probe (name, symbol, decimals, total supply) with the same typed absence vocabulary as the indexed metadata.

| Parameter | In   | Required | Notes                            |
| --------- | ---- | -------- | -------------------------------- |
| `address` | path | yes      | 0x-prefixed 20-byte hex address. |
