4

I want to initialize an Associated Token Account in anchor.

1 Answer 1

3

If you understand PDAs

an Associated Token Account (ATA) is a PDA derived from the SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID and with seeds:

  • wallet address
  • TOKEN_PROGRAM
  • mint address

This makes it for each user, a unique ATA will be created for that mint. Rather than creating multiple token accounts and having a hard time managing them.

If you are using Anchor, you can simply check if an account is ATA by doing

  #[account(init,
        payer = admin,
        associated_token::mint = token_a_mint,
        associated_token::authority = swap_account,
    )]
  pub token_a_account: Account<'info, TokenAccount>,
  pub associated_token_program: Program<'info, AssociatedToken>,

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.