# Send tokens within a zone

Send `OUSD` test tokens between private balances in **Zone A**, the example Zone on Tempo Testnet. This deployment supports direct token transfers inside the Zone without moving funds back through the public chain.

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

## Sending OUSD within Zone A

By the end of this guide you will have sent `25 OUSD` inside `Zone A` and confirmed the updated balance.

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

1. Send tokens within zone

## Code example

This snippet assumes you already have a signed-in `rootClient` on the public chain and a derived `zoneAClient`.

This example uses the earlier testnet deployment's TIP-20 token interface. The current initial permissioned Zone runtime disables direct `transfer`, `transferFrom`, and memo variants; this code does not apply to that runtime. See the [testnet compatibility notes](https://tempo.xyz/developers/docs/guide/private-zones#testnet-compatibility).

It shows the core zone transfer path; use the demo above when you want to watch the updated zone balance.

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

const transferAmount = parseUnits('25', 6)
const demoRecipient = '0xbeefcafe54750903ac1c8909323af7beb21ea2cb' as Address

await zoneAClient.zone.signAuthorizationToken()

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