> For the complete documentation index, see [llms.txt](https://docs.ipor.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ipor.io/ipor-derivatives/developers-docs/working-with-ipor-router.md).

# Working with IPOR Router

IPOR Protocol utilizes a diamond proxy pattern to interact with every contract in the suite. The IPOR Router is an entry point to the entire IPOR Protocol. To interact with IPOR, you should call the methods directly on the router. The calls will be delegated to the relevant contract.&#x20;

Router ABI and address can be found here: [Ethereum](/ipor-derivatives/developers-docs/deployed-contracts/contracts-overview.md#ipor-protocol-router)

## Calling functions on the router from Etherscan

Etherscan does not allow importing ABI for the contract that uses the structure of Diamond Proxy. The "one proxy - many implementations" pattern is not yet supported at the time of writing this documentation.&#x20;

If you still want to use Etherscan to interact with the IPOR Router, you can do it by using custom ABI:&#x20;

1. Given **you are logged** in to Etherscan, go to <https://etherscan.io/mycustomabi>
2. Click "Add."
3. Fill the form with the following:&#x20;
   1. Title: **IPOR Protocol**
   2. Address: **0x16d104009964e694761C0bf09d7Be49B7E3C26fd**
   3. Custom ABI: Use the contents of the file from this repository\
      <https://github.com/IPOR-Labs/ipor-abi/blob/main/mainnet/mainnet-ethereum/abis/ugly/IporProtocolRouterProxy.abi.json>

After adding this custom setup, you can call the functions directly on the IPOR Router. Etherscan, as long as you're logged in, will show more methods when you open the router page:

<figure><img src="/files/R5PpGbuvIePvhtb4xSnO" alt=""><figcaption><p>Custom methods on IPOR Router</p></figcaption></figure>
