External Plugins
Removing External Plugins
Last updated January 31, 2026
This guide shows how to remove External Plugins from Core Assets and Collections. Remove Oracle or AppData plugins when they're no longer needed.
What You'll Learn
- Remove external plugins from Assets
- Remove external plugins from Collections
- Understand authority requirements
- Recover rent from removed plugins
Summary
Remove external plugins using removePlugin() for Assets or removeCollectionPlugin() for Collections. Only the plugin authority can remove external plugins.
- Specify the plugin type and base address
- Plugin data is deleted
- Rent is recovered
- Requires plugin authority signature
Out of Scope
Adding external plugins (see Adding External Plugins), updating plugin data, and removing built-in plugins (see Removing Plugins).
Quick Start
Jump to: Remove from Asset · Remove from Collection
- Identify the plugin type and base address to remove
- Call
removePlugin()with the plugin key - Plugin is removed immediately, rent recovered
Remove from Asset
Remove External Plugin from Asset
To remove the External Plugin Adapter from an Asset you'll need to use the removePlugin() function.
import {publicKey } from '@metaplex-foundation/umi'
import { removePlugin, CheckResult } from '@metaplex-foundation/mpl-core'
const asset = publicKey('1111111111111111111111111111111')
const oracleAccount = publicKey('2222222222222222222222222222222')
await removePlugin(umi, {
asset,
plugin: {
type: 'Oracle',
baseAddress: oracleAccount,
},
})
Remove from Collection
Remove External Plugin from Collection
To remove the External Plugin Adapter from a Collection you'll need to use the removeCollectionPlugin() function.
import { publicKey } from '@metaplex-foundation/umi'
import { removeCollectionPlugin, CheckResult } from '@metaplex-foundation/mpl-core'
const collection = publicKey('1111111111111111111111111111111')
const oracleAccount = publicKey('2222222222222222222222222222222')
removeCollectionPlugin(umi, {
collection,
plugin: {
type: 'Oracle',
baseAddress: publicKey(oracleAccount),
},
})
Common Errors
Authority mismatch
Only the plugin authority can remove external plugins. Verify you're signing with the correct keypair.
Plugin not found
No external plugin with the specified key exists on this Asset/Collection.
Notes
- Removing a plugin deletes all its data
- Rent is recovered and returned to the payer
- Only the plugin authority can remove (usually update authority)
- The external Oracle/AppData account is NOT deleted—only the adapter
FAQ
Does removing an Oracle plugin delete the Oracle account?
No. Only the plugin adapter on the Asset is removed. The external Oracle account remains and can be reused.
Can I recover AppData before removing?
Yes. Read the AppData using fetchAsset() before removing the plugin if you need to preserve the data.
What happens to the rent?
The rent from the plugin adapter is recovered and returned to the transaction payer.
Related Operations
- Adding External Plugins - Add external plugins
- External Plugins Overview - Understanding external plugins
- Removing Plugins - Remove built-in plugins
