> For the complete documentation index, see [llms.txt](https://kuiper.gitbook.io/kuiper-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kuiper.gitbook.io/kuiper-docs/protocol/launching-a-basket/proposing-an-index-1.md).

# 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.
