• used to hold tokens of specific token mint
  • rents can be refunded
  • freezeAuthority - an account authorized to freeze the tokens in a token account. If freezing is not a desired attribute, the parameter can be set to null

there’s a big issue with this we can create multiple accounts ( pub keys ) for the same token mint which is bad because which one are you supposed to use?

to make it more deterministic, we use an associated token account which is a PDA which will derive an account from owner and mint

delegating

  • you can approve another solana account to transfer / burn tokens from your token account
  • authority still remains with the original owner
  • max amount of tokens a delegate may transfer / burn is specified during the approval itself
  • there can only be 1 delegate account associated with a token account at any given time
  • you can revoke it later, after which they cant sign txns to transfer tokens from the owner
    • if there’s remaining amount from previously approved amount, even that cant be signed for by the delegate