# Replace or remove a feed

Source: https://docs.settlemint.com/docs/user-guides/data-feeds/replace-or-remove-feed
Change the feed address for an existing subject and topic, or remove a feed registration from the Feeds Directory.



Use feed replacement when the subject and topic should stay the same but the active feed contract needs to change. Use feed removal when the subject and topic should no longer resolve to any feed.

Replacement and removal update the Feeds Directory registration. They do not edit the old feed contract, rewrite historical values, or decide whether an external market data source is economically correct.

## Prerequisites [#prerequisites]

* **Feeds manager** role (`feedsManager`) assigned on the System Access Manager
* An existing feed registration for the subject and topic
* For replacement: the new feed contract address you want consumers to resolve
* Wallet verification configured for the transaction confirmation step

<Callout type="warning" title="Directory changes affect consumers">
  Replacing a feed changes which contract is resolved for the subject and topic. Removing a feed makes that subject and
  topic resolve to no feed. Check downstream price, reporting, and smart contract consumers before confirming either
  action.
</Callout>

## Replace a feed [#replace-a-feed]

<Steps>
  <Step>
    ### Open the feed detail actions menu [#open-the-feed-detail-actions-menu]

    Go to **Platform Settings** > **Data Feeds**. Open the feed detail page, then open the actions menu and choose **Replace feed**.
  </Step>

  <Step>
    ### Enter the replacement address [#enter-the-replacement-address]

    Enter the new feed contract address. The replacement keeps the same subject and topic, then points the directory registration at the new address.

    The replacement address must be a compatible scalar feed for the same kind of data. It must expose the expected feed interface and use the same decimal precision as the feed being replaced.
  </Step>

  <Step>
    ### Review the before-and-after summary [#review-the-before-and-after-summary]

    Review the topic, subject, current feed address, and new feed address. Confirm only when the new feed is the contract that should serve future reads for this subject and topic.
  </Step>

  <Step>
    ### Confirm the transaction [#confirm-the-transaction]

    Submit the replacement and complete wallet verification. After the transaction confirms, the Data Feeds list refreshes and future directory resolution uses the replacement feed.
  </Step>
</Steps>

If a Chainlink-compatible adapter is registered for the same subject and topic, it resolves through the directory. After replacement, consumers of that adapter resolve the new feed address instead of the old one.

## Remove a feed [#remove-a-feed]

<Steps>
  <Step>
    ### Open the remove action [#open-the-remove-action]

    Go to **Platform Settings** > **Data Feeds**. Open the feed detail page, then open the actions menu and choose **Remove feed**.
  </Step>

  <Step>
    ### Review the warning [#review-the-warning]

    The confirmation dialog shows the feed address and explains that the registration will be removed. Select the confirmation checkbox only when the subject and topic should no longer resolve to this feed.
  </Step>

  <Step>
    ### Confirm wallet verification [#confirm-wallet-verification]

    Submit the removal and complete wallet verification. After the transaction confirms, DALP returns you to the Data Feeds list and refreshes feed data.
  </Step>
</Steps>

Removing a registration does not delete the old feed contract. It removes the directory mapping for the subject and topic, so discovery and adapter consumers must handle the missing feed state.

## What changes after replacement or removal [#what-changes-after-replacement-or-removal]

| Action       | Directory result                                      | Existing feed contract                                      | Consumer impact                                                        |
| ------------ | ----------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------- |
| Replace feed | The subject and topic resolve to the new feed address | The old contract remains deployed with its historical state | Future reads through the directory or adapter use the replacement feed |
| Remove feed  | The subject and topic no longer resolve to a feed     | The old contract remains deployed with its historical state | Consumers that rely on directory resolution must handle a missing feed |

## Troubleshooting [#troubleshooting]

| Issue                                   | What to check                                                                                                                       |
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Replace or remove action is not visible | Confirm your user has the **Feeds manager** role.                                                                                   |
| Replacement address is rejected         | Check that the address is a compatible feed contract on the target network and uses the same decimal precision as the current feed. |
| Transaction fails during confirmation   | Check wallet verification, gas balance, and whether the subject and topic still resolve to the feed being changed.                  |
| Consumers still show old data           | Wait for the transaction and indexer to complete, then refresh the consumer view.                                                   |

## Related guides [#related-guides]

* [Data feeds overview](/docs/user-guides/data-feeds/overview) - Roles, scopes, and operating boundaries
* [Create a feed](/docs/user-guides/data-feeds/create-feed) - Register issuer-signed or Chainlink-compatible feeds
* [Publish a feed update](/docs/user-guides/data-feeds/publish-feed-update) - Submit values to issuer-signed feeds
* [Read data feeds](/docs/developer-guides/feeds/read-data) - Resolve feeds and read latest or historical values through the API
