# Private Zones

:::info
This guide is intended to be low-level. If you are looking for a high-level abstraction, check out
[Viem's Private Zones guide](https://viem.sh/tempo/guides/zones).
:::

## Overview

Private Tempo Zones expose RPC endpoints that authenticate account-scoped reads with a signed,
short-lived credential. Ox provides the low-level primitives for deriving zone chain IDs and
encoding those credentials.

Use [`ZoneId`](/tempo/reference/ZoneId) to convert between a numeric zone ID and its chain ID. Use
[`ZoneRpcAuthentication`](/tempo/reference/ZoneRpcAuthentication) to construct, sign, serialize, and
inspect an authorization token.

Ox does not discover zone endpoints, grant an account access, or define a zone operator's
authorization policy. Deposits, withdrawals, and other state changes also require a Tempo client or
the zone's RPC and contract interfaces.

[See the Tempo Zones specification](https://docs.tempo.xyz/protocol/zones)

## See More

<Cards>
  <Card icon="lucide:key-round" title="Authenticate to a Zone" description="Sign a short-lived credential and attach it to an RPC transport." to="/tempo/guides/zones/authenticate" />

  <Card icon="lucide:square-function" title="ZoneRpcAuthentication" description="Review the credential encoding and signing APIs." to="/tempo/reference/ZoneRpcAuthentication" />

  <Card icon="lucide:book-open" title="Viem: Private Zones" description="Connect to and transact with private Zones through Viem." to="https://viem.sh/tempo/guides/zones" />
</Cards>
