---
title: "Deposit with approval"
method: POST
path: "/defi/v1/lendborrow/deposit-with-approval"
tags: ["lendborrow"]
---

# Deposit with approval

`POST /defi/v1/lendborrow/deposit-with-approval`

Returns unsigned transactions for ERC-20 approval when allowance is below the deposit amount, plus the protocol deposit transaction. Without batchOption, data is an ordered array [approveTxn?, depositTxn]. With batchOption EIP-5792 or EIP-7702 (supported chains), returns a single batched payload. Same request parameters as Deposit per protocol.

> 💡 
**Compute Unit Value:** `230` (Fixed)

## Request body

- LendborrowDepositWithApprovalRequest — The request body for a /defi/v1/lendborrow/deposit-with-approval
  - `lendborrowId` '1000' | '1003' | '1005' | '1200' | '1202' | '1203' | '1204' | '1205' | '1206' | '1207' | '1100' | '1300' | '1302' | '1400' | '1401' | '1402' | '1403' | '1404' — The unique ID to specify the lending and borrowing protocol for routing relevant queries or transactions.
  - `asset` string — Token address of the asset to deposit.
  - `amount` string, required — Number of tokens to deposit.
  - `onBehalfOf` string, required — Public address of the user on whose behalf the deposit action will be executed.
  - `from` string, required — Sender's public address.
  - `gas` string — Maximum gas to be approved for the transaction.
  - `gasPriority` string — Specifies the priority level for gas fees (e.g., 'low', 'medium', or 'high'), which influences the transaction speed and cost.
  - `enableFee` boolean — Flag to include a basis points fee transaction alongside the main transaction when set to true.
  - `batchOption` 'EIP-5792' | 'EIP-7702' — The batch option to be used for the transaction.
  - `batcherContract` string — The EOA address of the batcher that will be used to execute the transaction when using EIP-7702 batching. If not provided, the default batcher contract for the chain will be used.
  - `useCustomVaults` boolean — A boolean flag to scope the API request. If true, the request will be processed using the partner's dedicated vaults. If false or omitted, it uses the standard public pools.
  - `to` string — Receiver's public address.
  - `market` string — The market of the asset, such as USDC or WETH. Defaults to USDC.
  - `marketId` string — Specifies the market Id of any market in Morpho.
  - `vaultAddress` string — Specifies the vaultAddress of any vault in Morpho.
  - `collateral` boolean — Specifies the condition for depositing the token as a supply to earn the yields only or use it as collateral to borrow loan asset.

## Response `200`

Successful response

- object
  - `status` number — Numeric status code indicating success or failure of the API call
  - `msg` string — Human-readable message describing the API result or error
  - `data` union
    - object[] — Ordered EVM transactions: optional ERC-20 approve then deposit, or deposit only when allowance is sufficient.
      - `chainId` string, required — Blockchain network identifier (EVM chain ID, Solana chain name, etc.)
      - `from` string, required — Sender's wallet address
      - `to` string, required — Recipient's wallet address
      - `value` string, required — Amount being transferred or involved in a transaction
      - `gas` string, required — Gas limit for the transaction
      - `gasPrice` string — Price per gas unit for the transaction
      - `data` string, required — Main payload object or array returned by the API
      - `referenceId` string, required — Unique ID for tracking a specific transaction or operation
    - object
      - `createFeeTxn` object, required
        - `chainId` string, required — Blockchain network identifier (EVM chain ID, Solana chain name, etc.)
        - `from` string, required — Sender's wallet address
        - `to` string, required — Recipient's wallet address
        - `value` string, required — Amount being transferred or involved in a transaction
        - `gasPrice` string — Price per gas unit for the transaction
        - `gas` string, required — Gas limit for the transaction
      - `depositWithApprovalTxn` object[], required
        - `chainId` string, required — Blockchain network identifier (EVM chain ID, Solana chain name, etc.)
        - `from` string, required — Sender's wallet address
        - `to` string, required — Recipient's wallet address
        - `value` string, required — Amount being transferred or involved in a transaction
        - `gas` string, required — Gas limit for the transaction
        - `gasPrice` string — Price per gas unit for the transaction
        - `data` string, required — Main payload object or array returned by the API
        - `referenceId` string, required — Unique ID for tracking a specific transaction or operation
    - object
      - `from` string, required
      - `chainId` string, required
      - `referenceId` string, required
      - `methodUsed` 'EIP-5792' | 'EIP-7702', required
      - `calls` object[], required
        - `to` string, required
        - `value` string, required
        - `data` string, required
    - object
      - `from` string, required
      - `chainId` string, required
      - `referenceId` string, required
      - `methodUsed` string, required
      - `to` string, required
      - `data` string, required
      - `value` string, required
      - `batcherContract` string, required

---

[API](https://skmtc.dev/blockdaemon/apis/staking-api.md) · [All operations](https://skmtc.dev/blockdaemon/apis/staking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/blockdaemon/staking-api/revisions/f94e296a08a3/schema)
