# Smart Contract Reference

## Overview

Kodiak Islands are Automated Liquidity Managers that abstract away all the complexities of liquidity provisioning to a Kodiak v3 pool while also maximising the fee returns. Users can provide liquidity to their favourite Kodiak v3 pools and get fungible receipt ERC-20 tokens that represent their share of the liquidity provided by the island.

## Core Architecture

There are 3 main smart contracts that help create new islands one of them handles creation of new islands, the other is island itself and thirdly a router that helps with provisioning liquidity to these islands securely.

### 1. Kodiak Island Factory

The KodiakIslandFactory contract is responsible for deploying and managing instances of KodiakIsland vaults. This factory contract is designed to be non-upgradeable, and it deploys KodiakIsland vaults as ERC1967 minimal clones. Each factory maintains only one island implementation at a time and deploys clones of that implementation.

### **2. Kodiak Island**

Kodiak Islands are ERC20-wrapped Kodiak V3 positions that enable simplified liquidity provision through a fungible token interface. When users add liquidity to an Island, they receive Kodiak Island tokens representing their proportional ownership of the underlying Kodiak V3 position. These tokens can be freely transferred, traded, or redeemed for the underlying assets at any time. For more info visit the kodiakIslands section of documentation or the smart contract reference

### **3. Island Router**

The IslandRouter contract serves as a helper contract for users to easily provide liquidity to Kodiak Islands. It handles the complexities of depositing tokens, slippage protection, and token swaps when needed, while ensuring optimal liquidity provision.


---

# 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://documentation.kodiak.finance/developers/kodiak-islands/smart-contract-reference.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.
