<!-- tempo-docs-context -->
> Source: [/docs/guide/private-zones/send-tokens-within-a-zone](https://tempo.xyz/developers/docs/guide/private-zones/send-tokens-within-a-zone.md)
> Section: [Zones](https://tempo.xyz/developers/docs/zones.md). Connect to a Zone and work with private balances, deposits, and withdrawals. Zones is in limited preview; see the introduction for access. Earlier testnet sandbox guides describe a separate integration.
> Earlier testnet sandbox: use [Zones](https://tempo.xyz/developers/docs/zones.md) for the current limited preview.
> [Documentation index](https://tempo.xyz/developers/llms.txt) · [Docs skill](https://tempo.xyz/developers/SKILL.md)

> Tempo MCP: Use `search`, `find_pages`, `read_page`, and `code` at `https://mcp.tempo.xyz` for Tempo and related documentation.
> If an indexed page is missing or reflects an older site, read this site’s [documentation index](https://tempo.xyz/developers/llms.txt) and Markdown pages directly.

# Send Within a Zone

Send `OUSD` test tokens between accounts in Zone A without leaving the Zone.

## Overview

A Zone is a private stablecoin ledger connected to Tempo, the public chain. A Zone transfer moves `OUSD` test tokens between two accounts inside one Zone, here **Zone A**.

This guide uses the [testnet sandbox](https://tempo.xyz/developers/docs/guide/private-zones), an earlier deployment with two example Zones (Zone A and Zone B) on Tempo Moderato testnet. The sandbox allows direct [TIP-20](https://tempo.xyz/developers/docs/protocol/tip20/overview) transfers inside a Zone, so the transfer never passes through Tempo. [Current deployments](https://tempo.xyz/developers/docs/guide/private-zones#testnet-compatibility) disable direct transfers and move tokens only through deposits and withdrawals, so this guide works only in the sandbox.

<a id="sending-pathusd-within-zone-a" />

<span id="sending-ousd-within-zone-a" />

## Send OUSD Within Zone A

**Interactive demo: Send tokens within Zone A**

1. Send tokens within zone

## Code Example

The snippet needs two Viem clients that share one account:

* **`rootClient`:** Your signed-in client on Tempo. Its `account` signs the transfer.
* **`zoneAClient`:** A Zone A client for the same account, built as in [Connect to the Sandbox](https://tempo.xyz/developers/docs/guide/private-zones/connect-to-a-zone#create-a-viem-client).

The snippet first signs an [authorization token](https://tempo.xyz/developers/docs/zones/connect#authorize-access) for Zone ID `6` (Zone A), which the Zone RPC requires on every request. It then sends 25 `OUSD` and pays the network fee in `OUSD`. `transferSync` waits for the Zone receipt.

```ts
import { parseUnits, type Address } from 'viem'

const ousd = '0x20c0000000000000000000006a37da5c996874be' as Address // OUSD test token
const transferAmount = parseUnits('25', 6) // 25 OUSD in base units
const demoRecipient = '0xbeefcafe54750903ac1c8909323af7beb21ea2cb' as Address // any address

await zoneAClient.zone.signAuthorizationToken({ zoneId: 6 })

const { receipt } = await zoneAClient.token.transferSync({
  account: rootClient.account,
  amount: transferAmount,
  feeToken: ousd,
  to: demoRecipient,
  token: ousd,
})
```

## Transfer Settlement

The transfer stays inside Zone A. Deposits and withdrawals move funds between Tempo and a Zone through the Zone's portal, and their amounts are public on Tempo. This transfer creates neither, so Tempo shows no record of it. Each account reads its updated balance through the Zone RPC with its own authorization token.

## Related

[Send Across Zones](https://tempo.xyz/developers/docs/guide/private-zones/send-tokens-across-zones): Use for moving OUSD from Zone A into Zone B through Tempo.

[Withdraw OUSD](https://tempo.xyz/developers/docs/guide/private-zones/withdraw-from-a-zone): Use for moving OUSD from Zone A back to your public balance.

[Balances and Activity](https://tempo.xyz/developers/docs/zones/balances): Use for reading private balances and activity on a current Zone deployment.

[Testnet Sandbox](https://tempo.xyz/developers/docs/guide/private-zones): Covers the sandbox Zones, router deployment, and compatibility limits.
