# Protocol Integrations (V5)

## Getting Started

For an on-chain integration to a dynamic vault contract, you can start by viewing the contract source code on Etherscan or Snowtrace, which will provide you the contract source code, a list of functions and their descriptions, as well as all of the libraries, interfaces, factories, and controllers.&#x20;

{% hint style="info" %}
Dynamic vaults implement the [OpenZeppelin ERC-1967 Upgradeable Beacon Proxy ](https://docs.openzeppelin.com/contracts/4.x/api/proxy#UpgradeableBeacon)Pattern.&#x20;
{% endhint %}

## Contract Documentation

{% hint style="info" %}
Each vault is a unique smart-contract with a unique address. You can find a list of vault contracts and their blockexplorer pages [here](/opentrade-sandbox/contract-addresses.md). There you can View the Proxy Contract Source Code and [View the Implementation Contract Source Code](https://etherscan.io/address/0x11fff7f8ffa78c537cab26be142d2ee91ea9622c#code), including the source code, interfaces, factories, controllers, and libraries.&#x20;
{% endhint %}

#### Using Etherscan to View Documentation

{% embed url="<https://scribehow.com/shared/View_Contract_Documentation_and_Source_Code_on_Etherscan__SYxNTX5vQG2DmB_cOHfNAw>" %}

## Important Functions&#x20;

As a Lender, there are only a handful of functions you will ever need to call.  These three are covered in more detail below. There are quite a number more in detailed in the full code, libraries, and interfaces on Etherscan and Snowtrace but we present the most important below.&#x20;

{% content-ref url="/pages/huOPi2CF7RdvakiktqtN" %}
[Make Investments](/opentrade-sandbox/version-5-integrations/protocol-integrations-v5/make-investments.md)
{% endcontent-ref %}

{% content-ref url="/pages/rCDmaeLuw4YLGb5uxOgQ" %}
[Request Withdrawals](/opentrade-sandbox/version-5-integrations/protocol-integrations-v5/request-withdrawals.md)
{% endcontent-ref %}

{% content-ref url="/pages/nsU08C5YHbnZaXCLYEYe" %}
[Query data](/opentrade-sandbox/version-5-integrations/protocol-integrations-v5/query-data.md)
{% endcontent-ref %}


---

# 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://sandboxdocs.opentrade.io/opentrade-sandbox/version-5-integrations/protocol-integrations-v5.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.
