Protocol Contracts

Core Contracts

Core contracts include the Controller, SetTokenCreator, and the IntegrationRegistry. Each performs a critical function to verify Set permissions and enables shared resources such as oracle access. The PriceOracle and SetValue are resource contracts that provide on-chain pricing for SetToken contracts.

Modules

Modules extend SetToken functionality by adding fees as well as accessing the rest of DeFi (Uniswap, 0x, Aave, Compound, etc.) with tokens in your Set e.g. trading, accepting capital, lending and margin trading. Each module can be added and removed at any time, including after the SetToken has been created.

Adapter Contracts

Adapters interface with external protocols and are used in modules to gather and validate transaction parameters.

Mainnet
Mainnet

Contracts

Module

Address

ZeroExApiAdapter

Trade

0x131b935cA0cf1c28f61bB84e0Ed0eCc9bAdD9a3f

UniswapV2ExchangeAdapter

Trade, CompoundLeverageModule

0x7C61731e747C7CA91c1B08A05e244d0cd0719B1c

SushiswapExchangeAdapter

Trade, CompoundLeverageModule

0xb9ebB277f1D9eAbB11eA9Ba4CaAcaa3DE9ab0eD6

KyberExchangeAdapter

Trade

xe02331f97AcD1a14D8647a01478a4F82c0C179

OneInchExchangeAdapter

Trade

0xCbAdafC252160a0d0Ec7fb64a134b2f115b06b2

AAVEMigrationWrapAdapter

Wrap

0x65007aa73919997f2704849b46bD3B7a18b18022

AaveV1WrapAdapter

Wrap

0x6946e5f2521A689A7E8Ee1E8107C5a5241F79b14

AaveGovernanceAdapter

Governance

0x6b8fcF12c960fA11048644BCC3c058b1d40D4Cc3

CompoundGovernanceAdapter

Governance

0x6be50A653647f3Edce6E852E4e76CA0c8b7871dD

UniswapGovernanceAdapter

Governance

0x1f4Ed52724f6f936FbB367B2388733A88d7B0f67

CompoundLibrary

Library

0x09a5F6f9474337DDd091A5DeF9944AA5283EB259

AaveGovernanceV2Adapter

Governance

0x13C39E9c12d5e80ea9C174600B48075439Fd2368

CompoundBravoGovernanceAdapter

Governance

0x5a312B373651bd630EAF75e136F34B69ffac23f5

SnapshotGovernanceAdapter

Governance

0x2Df55523198C312563CB13459a917e10063EfFC5

UniswapTransferFeeExchangeAdapter

Trade

0x331F2786B4dB253990335DC35b11b1F7c06e73C4

YearnWrapAdapter

Wrap

0x67671bd2ea889b8e8a125c59a73d3f9f848a1c8c

CompoundWrapAdapter

Wrap

0x4CA67dB55D12B87C1fc39D4bA141cC9AA32caDE9

UniswapV2IndexExchangeAdapter

General Index

0x5df98b1ee44cd585Fbf4fe52Eac874C2ce4BC445

SushiswapIndexExchangeAdapter

General Index

0xaaCB8A094aEC5C29d1B3cBC1a0A64FF6343dA440

BalancerV1IndexExchangeAdapter

General Index

0x031a90BE7f519af6F49C8CBaaA44e4ff806BeA30

Oracle Adapter Contracts

Oracle adapter contracts return prices for derivative assets such as cTokens, aTokens and Yearn vaults. These perform calculations based on an underlying oracle (Chainlink, Maker etc)

Mainnet

Product Contracts

Product contracts are built on top and used in conjunction with system contracts. This includes permissionless manager contracts, hook contracts that perform additional validations (e.g. allow list)

Mainnet
Kovan
Mainnet
Kovan

Contracts

Address

UniswapYieldHook

0x266B9393B0D2A385E8d32d84084b9afbF80B30B9

AssetLimitHook

0xb38AFB233d0667dd46fa81848536d8D08BDdBF22