Associated Token Accounts (ATAs)
Managing token accounts on-chain is tedious. Every time you want to hold a new token, you need to create an account, save its ID, and share it with anyone who wants to send you tokens. Lose track of the ID and your funds become hard to find.
ATAs solve this by making token account addresses deterministic. Given an owner and a token definition, anyone can derive the exact same holding account address — no lookup, no coordination, no network call required. The address is computed as SHA256(owner_id || definition_id), fed as a seed into a program-derived account.
This means:
- Senders don't need to ask for your token account. They can compute it themselves from your public identity and the token definition.
- You never lose track of holdings. Your ATA for any token can always be re-derived from first principles.
- Creation is idempotent. If the ATA already exists on-chain, creating it again is a no-op — no errors, no duplicate accounts.
The wallet CLI exposes five subcommands — address, create, send, burn, and list — covering the full lifecycle from local derivation through on-chain token operations. All ATA operations run as public transactions, and the program uses PDA-based authorization so only the owner can move or burn tokens from their ATA.
In short, ATAs turn token account management from a bookkeeping problem into a pure computation.
https://github.com/logos-blockchain/logos-execution-zone/pull/387