Index Coop Resource Center
  • Welcome to The Index Coop.
  • Products
    • Trade
      • Index Coop Leverage Suite
      • Leverage Token Parameters
      • Leverage Token Keepers
      • Trading Interface Guide
      • Ripcord Guide
    • Earn
      • High Yield ETH Index (hyETH)
      • Interest Compounding ETH Index (icETH)
    • Asset Management
      • Product Development Process
      • Product Revenue Tokens (PRTs)
    • Legacy Products
      • How to Redeem Legacy Products
      • DeFi Pulse Index (DPI)
      • Bankless BED Index (BED)
      • Metaverse Index (MVI)
      • Diversified Staked ETH Index (dsETH)
      • Index Coop CoinDesk ETH Trend Index (cdETI)
      • Index Coop Large Cap Index (ic21)
      • ETH 2x Flexible Leverage Index (ETH2x-FLI)
      • BTC 2x Flexible Leverage Index (BTC2x-FLI)
      • Flexible Leverage Index- Polygon (FLI-Ps)
        • ETH 2x Flexible Leverage Index (ETH2x-FLI-P)
        • Inverse ETH Flexible Leverage Index (iETH-FLI-P)
        • BTC 2x Flexible Leverage Index (BTC2x-FLI-P)
        • Inverse BTC Flexible Leverage Index (iBTC-FLI-P)
        • MATIC 2x Flexible Leverage Index (MATIC2x-FLI-P)
        • Inverse MATIC Flexible Leverage Index (iMATIC-FLI-P)
      • Market Neutral Yield ETH (MNYe)
      • Bankless DeFi Innovation Index (GMI)
      • Data Economy Index (DATA)
      • Legacy Contract Addresses
      • Gitcoin Staked ETH Index (gtcETH)
  • Protocol
    • Index Protocol
      • Core Contracts
        • Set Token
        • Set Token Creator
        • Controller
        • Integration Registry
        • Price Oracle
        • Set Valuer
      • Modules
        • Basic Issuance Module
        • Debt Issuance Module v2
        • NAV Issuance Module
        • Trade Module
        • Streaming Fee Module
        • Wrap Module
        • Airdrop Module
        • Claim Module
        • Governance Module
        • Compound Leverage Module
        • Aave v2 Leverage Module
        • Aave v3 Leverage Module
        • Auction Rebalance Module
    • Set Protocol v2
    • Security and Audits
    • Contract Verification
    • Programmatic Redemptions
  • Resources
    • Governance
      • $INDEX - Governance Token
      • Index Improvement Proposals (IIP) Overview
        • IIP Step-by-Step
        • Governance Representatives
        • IIP Template
        • Product (DG) Template
      • Meta-Governance
      • Delegation
    • Data & Analytics
    • Multisigs
    • Press Kit
Powered by GitBook
On this page
  • Core Contracts
  • Modules
  • Adapters
  • Ancillary Contracts
  1. Protocol

Index Protocol

PreviousGitcoin Staked ETH Index (gtcETH)NextCore Contracts

Last updated 7 months ago

Index Protocol is an EVM-based protocol that enables asset management strategies by translating them into ERC-20 tokens. It is a of Set Protocol v2 and will be the primary platform for Index Coop products beginning in 2023. In contrast to Set Protocol v2, Index Protocol is not currently intended to be a self-service platform for third parties to launch products permissionlessly; rather, it exists to support secure and accessible structured products launched by Index Coop and its partners.

The following Index Coop products have been deployed on Index Protocol:

Index Protocol employs a modular architecture comprised of core contracts, modules, adapters, and ancillary contracts. Product-specific contracts (like SetToken, BaseManagerv2, FeeSplitExtension) rely on general-purpose or global contracts and resources (like DebtIssuanceModuleV2, StreamingFeeModule, IntegrationRegistry) for complete functionality.

perform critical functions for the protocol like verifying permissions and enabling general-purpose resources

Contract

Description

Link

ERC20 Token contract that allows privileged modules to make modifications to its positions and invoke function calls; deployed on a per-product basis

Factory contract that is enabled by the controller to create and register new SetTokens

contract that registers protocol contracts such as products, modules, factories, price oracles, and other resources

contract that holds state relating to modules and the integrations they are connected with

contract that returns the price for any given asset pair; price is retrieved either directly from an oracle, calculated using common asset pairs, or uses external data to calculate price

BaseManagerV2

Manager contract that contains permissions and administrative functionality for a SetToken; deployed on a per-product basis

* source code linked for contracts that may have many different instances on-chain

extend setToken functionality by adding fees, enabling composability, and accessing DeFi services; modules can be considered general purpose, or usable by multiple products at once

Module

Description

Link

enables users to issue and redeem SetTokens that contain default and external positions, including–but not limited to–debt positions

enables SetTokens to perform atomic trades using DEXs or DEX aggregators; integration mappings are stored on the IntegrationRegistry contract

accrues streaming fees for managers; streaming fees are denominated as percent per year and realized as inflation rewarded to the manager

enables manager to absorb tokens sent to the SetToken into the token's positions

NotionalTradeModule

enables trading, issuance, and redemption of Notional fCash positions; compatible with ERC20-wrapped fCash assets

Adapters

interface with external protocols and used by modules to gather and validate transaction parameters

Adapter

Description

Link

0x API Adapter

Exchange Adapter for 0x API that returns data for swaps

Curve stETH Exchange Adapter

Exchange Adapter for Curve specialized for stETH/ETH exchange contracts

Synthetix Exchange Adapter

Exchange Adapter for Synthetix that returns data for swaps

Uniswap v2 Exchange Adapter v2

Exchange Adapter for Uniswap v2 that returns data for swaps

Uniswap v3 Exchange Adapter v2

Exchange Adapter for Uniswap v3 that returns data for swaps

Fee Split Extension

Smart Contract Extension that allows for splitting and setting streaming, mint, and redeem fees; deployed on a per-product basis

StakeWise Reinvestment Extension

Smart Contract Extension that enables reinvestment of rETH2 rewards within dsETH

* source code linked for contracts that may have many different instances on-chain

Ancillary Contracts

built on top of and/or used in conjunction with protocol contracts

Contract

Description

Link

0x Flash Mint

Contract that swaps an input token for proportional components of an index and issues said index token in an atomic fashion

Compound Flash Mint

Contract that converts an input token into proportional cToken components of an index and issues said index token in an atomic fashion

Notional Flash Mint

Contract that converts an input token into proportional wrapped fCash components of an index and issues said index token in an atomic fashion

The same security assumptions and audit coverage for Set Protocol v2 apply to Index Protocol as no changes have been made to the core code. Any Core Contracts or Modules added to Index Protocol over time will be audited by security professionals before deployment and published here; Adapters and Ancillary Contracts undergo rigorous testing before being enabled.

Source code for all Index Coop contracts can be found in the following GitHub repositories:

*

*

*

*

*

Additional information about contracts and capabilities can be found in the official Set Protocol v2 and in the Set Protocol v2 GitHub Not all Set Protocol v2 contracts will be deployed for Index Protocol, but any smart contract supporting an Index Protocol product will be documented here as well as in Github and on Etherscan.

good-faith fork
High Yield ETH Index ($hyETH)
Diversified Staked ETH Index ($dsETH)
Gitcoin Staked ETH Index ($gtcETH)
Index Coop Large Cap Index ($ic21)
CoinDesk ETH Trend Index ($cdETI)
Index Coop Ethereum 2x Index ($ETH2x)
Index Coop Bitcoin 2x Index ($BTC2x)
Core Contracts
IndexCoop / index-protocol
IndexCoop / index-coop-smart-contracts
Documentation
repository.
Modules
SetToken
Github
SetTokenCreator
Etherscan
Controller
Etherscan
IntegrationRegistry
Etherscan
PriceOracle
Github
Github
DebtIssuanceModuleV2
Etherscan
TradeModule
Etherscan
StreamingFeeModule
Etherscan
AirdropModule
Etherscan
Etherscan
Etherscan
Etherscan
Etherscan
Etherscan
Etherscan
Github
Github
Etherscan
Etherscan
Etherscan