• all non native tokens are called SPL-TOKENS
  • you need these params to create a token
    • payer
    • mintAuthority ( authorized to do actual minting of the token from mint )
    • freezeAuthority ( authorized to freeze tokens in a token accounts )
    • decimals - decimal precision of the token
  • under the hood of createMint a txn is created with 2 instructions
    • create a new account
    • initialize a new mint
  • every account / mint needs minimum sol deposit to be considered rent exempt
  • can be part of collections

token accounts

  • account created to hold the tokens from the mint
  • has an owner who’s the only one with access to decrease tokens from that
  • token account

associated token account is used more often ( it’s a pda )

metadata accounts

  • can be set to Mutable
  • creators array can be to obtain royalties
  • used in Marketplaces
  • creators must sign to be one verified
  • collection NFTs can be used to group NFTs
  • JSON standard follows closely with other chains

Metadata Program ID metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s Typescript Library @metaplex-foundation/mpl-token-metadata

master edition

  • proof that a token is non-fungible

    • verifies mint account has 0 decimals
    • verifies that only 1 token has been minted
  • Transfers the mint authority and freeze authority to the master edition.

  • You can set the max supply

  • If set › 1 you can use the master edition to mint sub editions of an NFT.

  • the “edition” account is just a PDA