Deframe
  • 🏠Getting Started
  • 🏗️Architecture Overview
  • Tutorial Guides
    • Loans
      • How to quote for a new loan
      • How to execute a new loan
      • How to get current position of a loan
      • How to repay a loan
    • Yield
      • How to check protocol info
      • How to deposit
      • How to check open positions
      • How to withdraw
    • Swaps
      • EVM
        • How to execute a swap
        • How to get a quote
      • Solana
        • How to execute a swap
        • How to get a quote
  • ⚙️API
    • GET /strategies
    • GET /strategies/:id
    • GET /strategies/:id/bytecode
    • GET /wallets/:address
  • 🔒Protocols
  • 🗳️Widget Integration
Powered by GitBook
On this page
  • Prerequisites
  • A) Protocol-Specific Approach (Explicit)
  • Next Steps
  1. Tutorial Guides
  2. Loans

How to execute a new loan

PreviousHow to quote for a new loanNextHow to get current position of a loan

Last updated 3 months ago

In this section, you'll learn how to request ready-to-use transaction data (bytecode) for a new loan.

Prerequisites

As in the section, you can choose either the explicit path or the protocol-agnostic (less explicit) path to get the transaction data.

A) Protocol-Specific Approach (Explicit)

Use this when you want to work with a specific lending protocol.

  1. Request Transaction Data Fetch specific protocol information using:

    GET /strategies/:id/bytecode

    Required Parameters:

    Parameter
    Description
    Example

    action

    Type of operation

    borrow

    chainId

    Blockchain network ID

    137 (Polygon)

    protocol

    Protocol name

    aave

    amount

    Borrow amount

    10000000 (with decimals)

    asset

    Asset to borrow

    USDC

    collateralAsset

    Collateral asset

    ETH

    collateralAmount

    Amount of collateral

    900000000000000000000000 (0.009 ETH with decimals)

    Example Request:

    GET /strategies/3341412233111/bytecode?action=borrow&chainId=137&protocol=aave&amount=10000000&asset=USDC&collateralAsset=ETH&collateralAmount=900000000000000000000000

    Response:

    {
     "bytecode": [
     	{
     		"to": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
     		"value": "0",
     		"data": "0xa9059cbb0000000000000000000000005900efdd79bc1541cf1f9fd0f56c0a869194430300000000000000000000000000000000000000000000000000000000000003e8"
     	},
     	{
     		"to": "0x794a61358D6845594F94dc1DB02A252b5b4814aD",
     		"value": "0",
     		"data": "0x617ba0370000000000000000000000003c499c542cef5e3811e1192ce70d8cc03d5c335900000000000000000000000000000000000000000000000000000000000f3e58000000000000000000000000d90aa547a8c6b535e8cdce7b67f01b41035d925e0000000000000000000000000000000000000000000000000000000000000000"
     	}
     ]
    }

Our API returns the transaction data as an array of objects. Each object contains to, value, and data fields.

B) Protocol-Agnostic Approach (Less Explicit)

Let our system automatically select the optimal protocol for your needs.

  1. Use the Generic Endpoint

GET /strategies/0x0/bytecode

Use the same parameters as the explicit approach above, excluding protocol.

Example Request:

GET /strategies/0x0/bytecode?action=borrow&chainId=137&amount=10000000&asset=USDC&collateralAsset=ETH&collateralAmount=900000000000000000000000

The response format will be identical to the explicit approach.

  1. Execute the Transaction You'll need to sign and propagate the transaction data to the blockchain. This happens on your end - we don't touch your funds, custody remains yours.

Next Steps

After executing the loan, you can:

How to Quote for a New Loan
How to Quote for a New Loan
Manage Loan Positions
Quote for a New Loan