Listing a new asset in the main App

Once the market contracts are deployed onchain, the Gearbox Interface (app.gearbox.fi) must be updated to display them.

The official interface is maintained by Gearbox Contributors. To accelerate the listing process, Curators can submit a Pull Request (PR) to the configuration repositories. This provides the development team with the necessary data (icons, addresses, APY sources) in a ready-to-merge format.

Prerequisites

  1. GitHub Account: Required to submit changes.

  2. Asset Icons: High-quality .svg files for the underlying token and any reward tokens.

  3. Contract Addresses: The addresses of the deployed Credit Managers.

  4. APY Data Sources: Links to DefiLlama or Merkl pools (if applicable).

1

Upload Asset Icons

Repository Location: https://github.com/Gearbox-protocol/static/tree/main/public/tokensarrow-up-right

Instructions:

  • Format: .svg (Strict requirement).

  • Naming: Lowercase symbol (e.g., susde.svg, wsteth.svg).

chevron-rightAsset display examplehashtag
circle-exclamation
chevron-rightMerkl display examplehashtag
2

Configure Lending Pools (Earn Page)

If a new Liquidity Pool was deployed, it must be added to the "Earn" page configuration.

Repository Location: https://github.com/Gearbox-protocol/static/blob/main/src/pools/index.tsarrow-up-right

Fill in the following fields:

  • name: The displayed name (e.g., "Edge UltraYield USDC").

  • address: The contract address of the Liquidity Pool.

  • chainId: The integer ID of the network (e.g., 1 for Mainnet, 42161 for Arbitrum).

  • network: The string name of the network (e.g., "Mainnet", "Arbitrum").

  • curator: The entity managing the pool.

  • poolType: The category tag (e.g., ["stable"], ["eth"]).

3

Configure Strategies (Farm Page)

If new Credit Managers (Strategies) were deployed, they must be added to the "Farm" page configuration.

Repository Location: https://github.com/Gearbox-protocol/static/blob/main/src/strategies/index.tsarrow-up-right

Fill in the following fields:

  • name: The display name (e.g., "Lido staked ETH").

  • id: The token symbol (e.g., "susde"). This serves as the unique key.

  • tokenOutAddress: The address of the collateral token.

  • creditManagers: An array containing the addresses of all Credit Managers that support this strategy.

    • Example: ["0xCM_Address_1", "0xCM_Address_2"]

  • strategyType: The category tag (e.g., ["stable"], ["eth"]).

  • issuesOnClose: Set to true if the asset has delayed redemptions or requires extra capital to close (prevents users from getting stuck).

4

Connect Yield Data (APY)

Option A: DefiLlama Integration

If the underlying protocol is tracked on DefiLlama.

Repository Location: https://github.com/Gearbox-protocol/apy-server/blob/main/src/tokens/apy/llama/constants.tsarrow-up-right

  • Action: Add the DefiLlama Pool ID to the configuration map.

Option B: Merkl Integration

If the strategy earns incentives via Merkl.

Repository Location: https://github.com/Gearbox-protocol/apy-server/blob/main/src/tokens/apy/merkle/constants.tsarrow-up-right

  • Action: Add the Merkl Campaign parameters to the relevant Network object (e.g., Plasma, Monad).

    • Key: The token address (e.g., "0x2d84...").

    • Value Object:

      • id: The token address(repeated).

      • symbol: Token symbol (e.g., "USDT0USDe").

      • type: Usually "common".

Option C: Points Campaigns

If the strategy or pool earns points (e.g., Ethena Sats, EigenLayer Points), the configuration is split into three parts.

1. Register the Point Type If this is a new point system, define it in the base configuration.

  • Action: Add a new entry to REWARDS_BASE_INFO.

    somnia: (multiplier: PointsReward["multiplier"]): PointsReward => ({
      name: "Somnia",
      units: "points multiplier",
      multiplier,
      type: "somnia",
    }),

2. Apply to Strategies (Farm Page) If the points are earned by holding collateral (e.g., weETH).

  • Action: Add the collateral address to POINTS_INFO_BY_NETWORK.

    {
      address: "0xCollateralAddress...",
      symbol: "weETH",
      rewards: [REWARDS_BASE_INFO.etherfi(200n)], // 200n = 2x Multiplier
    },

3. Apply to Pools (Earn Page) If the points are earned by depositing into a lending pool.

  • Action:

    1. Add the Pool Address to const POOLS.

    2. Add the Token Address to const TOKENS.

    3. Add the Reward Logic to the Network array.

      {
        pool: POOLS.USDC_E_V3_SOMNIA,
        token: TOKENS.USDC_E_SOMNIA,
        symbol: "USDC.e",
        amount: 12n * 1000n, // 12n * 1000n = 1.2x Multiplier
        duration: "day",
        name: `${REWARDS_BASE_INFO.somnia(1n).name} ${REWARDS_BASE_INFO.somnia(1n).units}`,
        type: REWARDS_BASE_INFO.somnia(1n).type,
        estimation: "absolute",
        condition: "holding",
      },

Last updated