# Guide: Adding support for a Yield Source

## Adding Support for a Yield Source

If you intend to deploy a Hyperdrive market for a yield source that is not yet supported by Hyperdrive, you may build the integration by following the process below:

1. Clone/fork the [Hyperdrive GitHub repository](https://github.com/delvtech/hyperdrive).
2. Implement the corresponding [DeployerCoordinator](https://app.gitbook.com/o/-MXeT9pntmqRJiE1hMf6/s/XxVgcFIHiBW2xa7lepeu/hyperdrive-for-developers/hyperdrive-system-architecture/deployer-coordinators). You can base your new code off of one of the existing yield sources in the [contracts/src/deployers](https://github.com/delvtech/hyperdrive/tree/main/contracts/src/deployers) directory. Make sure to implement all the following contracts for your yield source:
   1. \[YieldSource]HyperdriveCoreDeployer.sol
   2. \[YieldSource]HyperdriveCoreDeployerCoordinator.sol
   3. \[YieldSource]Target0Deployer.sol through \[YieldSource]Target4Deployer.sol
3. Implement the Hyperdrive instance for your target yield source. You can base your code off of one of the existing instances in the [contracts/src/instances](https://github.com/delvtech/hyperdrive/tree/main/contracts/src/instances) directory. Make sure to implement all the following contracts for your yield source:
   1. \[YieldSource]Base.sol
   2. \[YieldSource]Hyperdrive.sol
   3. \[YieldSource]Target0.sol through \[YieldSource]Target4.sol
4. Depending on the yield source, you may need to implement additional interface contracts for Hyperdrive to properly work with it. You can find some examples in the [contracts/src/interfaces](https://github.com/delvtech/hyperdrive/tree/main/contracts/src/interfaces) directory.
5. Once these implementations are done, you can find some examples on how to deploy your new Hyperdrive instance in the [contracts/test](https://app.gitbook.com/o/-MXeT9pntmqRJiE1hMf6/s/XxVgcFIHiBW2xa7lepeu/hyperdrive-for-developers/technical-guides/adding-support-for-a-yield-source) directory.

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://element-2.gitbook.io/element-developer-docs/integrations/guide-adding-support-for-a-yield-source.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
