Morpho

This section provides instructions for interacting with the vault and the appropriate functions to use.

circle-info

The guide uses USDC and kpk USDC Prime tokens as examples

Deposit

The approval can be done through Morpho's permit2arrow-up-right or manually

The Morpho UI will prompt you to execute these transactions in order to deposit USDC into the vault.

1

Call approve(address, uint256)arrow-up-right on the USDC token.

  • spender(address) = 0x9954aFB60BB5A222714c478ac86990F221788B88, i.e. the Morpho General Adapter

  • value(amount) = token amount to deposit

2

Call multicall(tuple[])arrow-up-right on Morpho: Bundler3.

  • bundle(tuple[]) = The ordered array of calldata to execute, created by the Morpho UI.

Alternatively, you may also deposit USDC in the vault by executing the following transactions' order:

1

Call approve(address, uint256)arrow-up-right on USDC token.

  • spender(address) = 0x2C609d9CfC9dda2dB5C128B2a665D921ec53579d, i.e. kpk_USDC_YieldV2

  • value(amount) = token amount to deposit

2

Call deposit(uint256, address)arrow-up-right on kpk_USDC_YieldV2.

  • assets(uint256) = token amount to deposit.

  • receiver(address) = your address, or the address to which you want the receipt tokens sent.

Withdraw

To initiate a withdrawal from the vault, you may utilise either of the following functions:

a. Call withdraw(uint256, address, address)arrow-up-right on kpk_USDC_YieldV2

  • assets(uint256) = USDC tokens to withdraw

  • receiver(address) = your address, or the address to which you want the USDC tokens sent

  • owner(address) = your address, or the address to which you want the receipt tokens burned from

b. Call redeem(uint256, address, address)arrow-up-right on kpk_USDC_YieldV2.

  • shares(uint256) = kpk_USDC_YieldV2 shares to redeem

  • receiver(address) = your address, or the address to which you want the USDC tokens sent

  • owner(address) = your address, or the address to which you want the receipt tokens burned from

Claim rewards

Merkl campaign reward tokens can be claimed through the following action:

  • Call claim()arrow-up-right on Merkl distributor, passing in users, tokens, amounts and merkl proofs suggested by the Merkl UI

Last updated