Connect to Tempo Zones
Tempo Zones let you keep balances and transfers inside a private execution environment while still using the public Tempo chain when funds enter or leave. The important thing to remember is that most zone flows settle in stages: a public or zone transaction lands first, then the private balance update appears shortly after.
Before you start
- Use a Tempo passkey account in the demo so the page can authorize private zone reads.
- Keep some
pathUSDon the public chain if you want to try deposits, source-zone top-ups, routed sends, swaps, or withdrawals. - Expect deposits, routed sends, routed swaps, and withdrawals to complete asynchronously rather than in a single balance update.
These guides cover the current zone connection setup plus the baseline workflows used in the demos: deposits through Actions.zone.depositSync(...) and Actions.zone.encryptedDepositSync(...), in-zone transfers, same-token routed sends through Actions.zone.requestWithdrawalSync(...), routed swaps, direct withdrawals, and authenticated withdrawals through Actions.zone.requestVerifiableWithdrawalSync(...).
The deposit guide's demo lets you switch between plaintext and encrypted deposits, and the withdrawal guide lets you switch between standard and authenticated withdrawals, while keeping the transaction flow on the upstream viem zone actions.
Choose the right guide
- Connect to a zone if you want the Zone A and Zone B RPC URLs, chain IDs, and a minimal
viemclient setup. - Deposit to a zone if you want to move
pathUSDfrom your public balance intoZone A. - Send tokens within a zone if you want to transfer
pathUSDbetween private accounts without leavingZone A. - Send tokens across zones if you want to leave
Zone AwithpathUSDand arrive inZone Bwith the same token. - Swap across zones if you want to leave
Zone AwithpathUSDand arrive inZone BwithbetaUSD. - Withdraw from a zone if you want to move
pathUSDback fromZone Ato your public balance.
Get the Zone A and Zone B RPC details and start with a minimal viem client setup.
Move pathUSD from your public balance into Zone A and confirm the private balance update.
Send pathUSD between private accounts inside Zone A without returning to the public chain.
Route pathUSD out of Zone A and into Zone B without changing the token.
Withdraw from Zone A, swap on the public chain, and land in Zone B as betaUSD.
Withdraw stablecoins from a zone back to your public balance.
Was this helpful?