# Proposing an Index

To propose and index call proposeBasketLicense on the factory contract. This function takes the following inputs:

|                      |                                                                       |
| -------------------- | --------------------------------------------------------------------- |
| `licenseFee uint256` | The streaming fee on the basket (1% = 10^16)                          |
| `tokenName string`   | Token's name (Defi Pulse Index)                                       |
| `tokenSymbol string` | Token's symbol (DPI)                                                  |
| `tokens address[]`   | array of token contract addresses included in the index               |
| `weights uint256[]`  | array of the amount of tokens from each contract in the address array |

The app at kuiper.finance allows the user to upload a csv.\
\
The CSV takes similiar inputs but arranged like this:

|                               |                                  |
| ----------------------------- | -------------------------------- |
| tokenName string              |                                  |
| tokenSymbol string            |                                  |
| licenseFee uint256            |                                  |
| maxSupply uint256             |                                  |
| first token contract address  | first token's weight as unit256  |
| second token contract address | second token's weight as uint256 |
| third token contract address  | third token's weight as uint256  |

Note: the weight in will be the number of tokens in uint256 in one "whole token" of the basket on mint.


---

# 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://kuiper.gitbook.io/kuiper-docs/protocol/launching-a-basket/proposing-an-index-1.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.
