> For the complete documentation index, see [llms.txt](https://8bit-1.gitbook.io/solibrary/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://8bit-1.gitbook.io/solibrary/authority.md).

# Authority

Metaplex Inscriptions can have **multiple** update authorities. This is different to Metaplex NFT which can just have one update Authority plus delegates.

Authorities can be *added* and *removed* by each authority. An Inscription is seen as **immutable** as soon as no more update authorities exist.

### Add Authorities <a href="#add-authorities" id="add-authorities"></a>

Additional Authorities can be added with a simple instruction call. One of the current Authorities has to sign the transaction.

Add an Authority

JavaScript

```
import {
  addAuthority,
  findInscriptionMetadataPda,
} from '@metaplex-foundation/mpl-inscription'

const inscriptionMetadataAccount = await findInscriptionMetadataPda(umi, {
  inscriptionAccount: inscriptionAccount.publicKey,
})

await addAuthority(umi, {
  inscriptionMetadataAccount,
  newAuthority: authority.publicKey,
}).sendAndConfirm(umi)
```

### Remove Authority <a href="#remove-authority" id="remove-authority"></a>

To remove an authority there also is a instruction. `removeAuthority` allows you to remove yourself from the authority array. **Be careful**, as soon as you removed all authorities no authorities can be added anymore!

Remove yourself as authority

JavaScript

```
import {
  addAuthority,
  findInscriptionMetadataPda,
} from '@metaplex-foundation/mpl-inscription'

const inscriptionMetadataAccount = await findInscriptionMetadataPda(umi, {
  inscriptionAccount: inscriptionAccount.publicKey,
})

await removeAuthority(umi, {
  inscriptionMetadataAccount,
}).sendAndConfirm(umi)
```
