Here's how to do so for an spl-token using Anchor and the UMI library. ## Rust Anchor To revoke the mint authority we set the mint authority as None which disables all future mintin. This action is irreversible. ``` rust use anchor_lang::prelude::*; use anchor_spl::token::{ set_authority, spl_token::instruction::AuthorityType, Mint, SetAuthority, Token, }; #[derive(Accounts)] pub struct RevokeMintAuth<'info> { #[account(mut)] pub payer: Signer<'info>, #[account(mut)] pub mint: Account<'info, Mint>, pub token_program: Program<'info, Token>, pub system_program: Program<'info, System>, } pub fn revoke_mint_auth(ctx: Context<RevokeMintAuth>) -> Result<()> { let cpi_program = ctx.accounts.token_program.to_account_info(); let cpi_accounts = SetAuthority { account_or_mint: ctx.accounts.mint.to_account_info(), current_authority: ctx.accounts.payer.to_account_info(), }; let cpi_ctx = CpiContext::new(cpi_program, cpi_accounts); set_authority(cpi_ctx, AuthorityType::MintTokens, None)?; Ok(()) } ``` ## CLI ```bash spl-token authorize {token_address} mint --disable ```