Market 2: Vanilla

For any questions, join the Felix Discord, and reach out to contributors.

Overview

The Vanilla Markets is a borrow and lend market built on Morpho.

  • Borrowers deposit HYPE or other assets as collateral and can borrow USDhl, USDT0, USDe, etc.

  • Lenders deposit assets to earn borrower interest.

Markets

Market
Market ID
Liquidation Discount

WHYPE / USDe

0x292f0a3ddfb642fbaadf258ebcccf9e4b0048a9dc5af93036288502bde1a71b1

12.67%

WHYPE / USDT0

0xace279b5c6eff0a1ce7287249369fa6f4d3d32225e1629b04ef308e0eb568fb0

12.67%

WHYPE / USDhl

0x96c7abf76aed53d50b2cc84e2ed17846e0d1c4cc28236d95b6eb3b12dcc86909

12.67%

UBTC / USDe

0x5fe3ac84f3a2c4e3102c3e6e9accb1ec90c30f6ee87ab1fcafc197b8addeb94c

7.41%

UBTC / USDT0

0x707dddc200e95dc984feb185abf1321cabec8486dca5a9a96fb5202184106e54

7.41%

UBTC / USDhl

0x87272614b7a2022c31ddd7bba8eb21d5ab40a6bcbea671264d59dc732053721d

7.41%

kHYPE / HYPE

0x64e7db7f042812d4335947a7cdf6af1093d29478aff5f1ccd93cc67f8aadfddc

kHYPE / USDhl

0xc0a3063a0a7755b7d58642e9a6d3be1c05bc974665ef7d3b158784348d4e17c5

kHYPE / USDT0

Coming Soon

wstHYPE / HYPE

0xe9a9bb9ed3cc53f4ee9da4eea0370c2c566873d5de807e16559a99907c9ae227

wstHYPE / USDT0

0xb39e45107152f02502c001a46e2d3513f429d2363323cdaffbc55a951a69b998

wstHYPE / USDhl

0x1f79fe1822f6bfe7a70f8e7e5e768efd0c3f10db52af97c2f14e4b71e3130e70

Lending Vaults

Vault
Address

USDe

0x835febf893c6dddee5cf762b0f8e31c5b06938ab

USDT0

0xfc5126377f0efc0041c0969ef9ba903ce67d151e

USDT0 (Frontier)

-

USDhl

0x9c59a9389D8f72DE2CdAf1126F36EA4790E2275e

USDhl (Frontier)

0x66c71204B70aE27BE6dC3eb41F9aF5868E68fDb6

HYPE

0x2900ABd73631b2f60747e687095537B673c06A76

Liquidations

Vanilla Markets are built on the standard Morpho smart contracts, which means liquidations follow the same mechanism as on Ethereum Mainnet or Base. Liquidations occur when a borrower's health factor falls below 1.

Any third party—typically bots or keepers—can call the liquidate function to repay a portion of a borrower's debt and seize a corresponding amount of collateral at a discount.

The relevant contract for liquidations of Vanilla Markets on HyperEVM is the Morpho contract, deployed at:

0x68e37de8d93d3496ae143f2e900490f6280c57cd

View on Purrsec

Liquidate Function

  • Contract: Morpho Blue Core

  • Purpose: Liquidates an undercollateralized borrower's position by seizing collateral in exchange for repaying a portion of their debt. This helps maintain protocol solvency and allows liquidators to earn a liquidation bonus.

  • Function Signature:

liquidate(
    MarketParams memory marketParams,
    address borrower,
    uint256 seizedAssets,
    uint256 repaidShares,
    bytes calldata data
) external returns (uint256 seizedAssetsOut, uint256 repaidAssetsOut);

Parameters:

  • marketParams: Struct containing the market’s configuration (collateral/loan asset addresses, oracle, lltv, etc.)

  • borrower: The address of the user being liquidated.

  • seizedAssets: The amount of collateral (in collateral token units) to seize. Set this to 0 if you're specifying repaidShares instead.

  • repaidShares: The amount of debt shares to repay. Set this to 0 if you're specifying seizedAssets instead.

  • data: Optional payload for advanced integrations. Used for callbacks or flash logic.

Return Values:

  • seizedAssetsOut: The actual amount of collateral seized.

  • repaidAssetsOut: The actual amount of loan token paid to repay the borrower's debt.

Notes:

  • Either seizedAssets or repaidShares must be set to zero. The protocol computes the corresponding value based on price and the liquidation incentive.

  • Only undercollateralized positions (health factor < 1) are eligible for liquidation.

  • A liquidation incentive is applied to reward the liquidator with a discount on the seized collateral.

  • A onMorphoLiquidate callback is supported if data.length > 0.

Example Use Case: If a liquidator wants to repay a borrower's debt worth 1,000 USDT0, they can call liquidate(...) with:

  • repaidShares ≈ equivalent to 1,000 USDT0 worth of shares (calculated based on market totals)

  • seizedAssets = 0

  • Let the protocol compute the amount of collateral to seize (based on current oracle price and incentive factor)

Open Source Bots

Liquidation Bot 1

By: morpho-labs

Languages and Tools: Typescript & Solidity

Description: A simple, fast, and easily deployable liquidation bot for the Morpho protocol. This bot is entirely based on RPC calls and is designed to be easy to configure, customizable, and ready to deploy on any EVM-compatible chain.

Repository: Morpho-liquidation-bot

Liquidation Bot 2

By: morpho-labs

Languages and Tools: Typescript & Solidity

Description: This contribution presents a simple implementation of a liquidation bot that can liquidate unhealthy position on Morpho. Using Typescript and Solidity.

Repository: Morpho-liquidation-bot-educational

Liquidation Bot 3

By: etherhood

Languages and Tools: Rust & Solidity

Description: This contribution presents a detailed strategy for liquidations using Rust and Solidity.

Repository: Liquidator-Morpho

Liquidation Bot 4

By: zach030

Languages and Tools: Go & Solidity

Description: This contribution presents a detailed strategy for liquidations using Go and Solidity.

Repository: morpho-liquidator-bot

Last updated