> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superform.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Yield Source Management

> Whitelist yield sources, pair oracles, and keep emergency-exit coverage in sync.

<img src="https://mintcdn.com/superform-cb7ef652/MhEzTvzQXPC-eNn0/operate/images/screenshots/yield-sources.jpg?fit=max&auto=format&n=MhEzTvzQXPC-eNn0&q=85&s=d166ed878fd7c5555e6bc1b9a92bcb9e" alt="SuperformOS Yield Source Management — whitelist and oracle pairing controls" width="1600" height="900" data-path="operate/images/screenshots/yield-sources.jpg" />

Yield Source Management controls where a SuperVault is allowed to deploy capital. Each source is a protocol position, such as an ERC-4626 vault or Pendle PT, paired with an oracle that prices the position back into the vault's underlying asset.

Public detail pages expose Yield Sources as a read-only tab. All whitelist mutations happen in the authenticated Operate surface and use the prepare pattern: Erebor prepares calldata and the manager wallet signs the transaction.

## Page Layout

* **Whitelisted Yield Sources** — sources currently enabled for the selected vault.
* **Yield Source Registry** — global source catalog filtered by chain and active status.
* **Oracle Registry** — compatible pricing sources.

Registry entries can include provider data imported from external provider URLs, such as Morpho or Pendle metadata.

## Add a Yield Source

1. Select a registry yield source.
2. Select a compatible oracle.
3. Prepare the add transaction.
4. Sign with the manager wallet.
5. Confirm the source appears in the whitelisted table.

```bash theme={null}
POST /api/v1/yield-sources/prepare-add
POST /api/v1/yield-sources/prepare-bulk-add
```

Adding a source also keeps the paired emergency-exit strategy lifecycle in sync. The app provisions one `EMERGENCY_EXIT` withdrawal strategy for the source when the active hook and proof prerequisites are available.

## Remove a Yield Source

```bash theme={null}
POST /api/v1/yield-sources/prepare-remove
POST /api/v1/yield-sources/prepare-bulk-remove
```

Before removing, confirm the vault has no deployed liquidity in the source.

<Warning>
  Removing a yield source does not unwind assets. Withdraw first, or use [Pause Operations](/operate/ui/pause) to arm an emergency drain when the situation requires immediate exit.
</Warning>

When a whitelisted source is removed, the paired `EMERGENCY_EXIT` strategy is archived. If an emergency lock is active for that source, removal is blocked until the operator stops the drain.

## Update Oracle

Use oracle updates when the current oracle is wrong, deprecated, or needs a safer pricing path.

```bash theme={null}
POST /api/v1/yield-sources/prepare-update-oracle
POST /api/v1/yield-sources/prepare-bulk-update-oracle
```

## Source and Oracle Types

| Type                         | Meaning                            |
| ---------------------------- | ---------------------------------- |
| `erc4626`                    | Standard tokenized vault position  |
| `pendle_pt`                  | Pendle principal token position    |
| `erc4626` oracle             | Prices by share value              |
| `pendle_pt` oracle           | Prices by PT market value          |
| `pendle_pt_amortized` oracle | Amortizes PT value toward maturity |

## API Reference

| Endpoint                                           | Method | Description                                  |
| -------------------------------------------------- | ------ | -------------------------------------------- |
| `/api/v1/yield-sources/{chain_id}/{vault_address}` | GET    | Whitelisted sources for a vault              |
| `/api/v1/registry/yield-sources`                   | GET    | Browse active registry sources for selection |
| `/api/v1/registry/oracles`                         | GET    | Browse compatible oracles for selection      |
| `/api/v1/yield-sources/prepare-add`                | POST   | Prepare add transaction                      |
| `/api/v1/yield-sources/prepare-remove`             | POST   | Prepare remove transaction                   |
| `/api/v1/yield-sources/prepare-update-oracle`      | POST   | Prepare oracle update transaction            |
| `/api/v1/yield-sources/prepare-bulk-add`           | POST   | Prepare bulk add transaction                 |
| `/api/v1/yield-sources/prepare-bulk-remove`        | POST   | Prepare bulk remove transaction              |
| `/api/v1/yield-sources/prepare-bulk-update-oracle` | POST   | Prepare bulk oracle update transaction       |
