Makers

Adding Liquidity with placeMaker()

Makers contribute liquidity to the Hourglass protocol by placing maker orders. These orders can be made using the placeMaker() function, similar to how takers use placeTaker().

Function Arguments

The placeMaker() function accepts the same four primary arguments as placeTaker():

  • sell_token: The address of the stablecoin you wish to provide (e.g., USDC on Ethereum).

  • buy_token: The address of the stablecoin you wish to receive (e.g., USDT on Arbitrum).

  • destination_chain: The chain ID where you wish to receive the stablecoin (e.g., Arbitrum).

  • order_amount: The amount of stablecoin you're willing to provide.

Example

If you want to provide liquidity by swapping USDC on Ethereum for USDT on Arbitrum, the function call would be:

  • placeMaker(usdc_address_on_eth, usdt_address_on_arbitrum, arbitrum_chain_id, order_amount)

Maker Outcomes

Collateral: Unlike taker orders, maker orders require only a small percentage (1%) of the total order amount as collateral.

Epoch Execution: At the end of each epoch, the protocol attempts to pull funds from the maker's wallet to match any existing taker orders.

  • Funds Available: If sufficient funds are present in the wallet, the swap occurs for the minimum of the maker amount and the outstanding taker demand.

  • Insufficient Funds: If the funds are not available, the maker's order is removed, and the posted collateral is forfeited.

Unlike taker orders, which have priority in the matching process, maker orders act as liquidity providers and are matched based on taker demand.

Last updated