Angle Borrow API

The Borrow API from Angle — 4 operation(s) for borrow.

Operations 4

GET /v1/vaultManagers Get VaultManagers #
GET /v1/vaults Get Vaults #
GET /v1/leverage Build payloads for Angle's borrow module #
GET /v1/deleverage Build payloads for Angle's borrow module #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/angle-borrow-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

angle-borrow-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Angle Borrow API
  description: With Angle API, you can easily track the state of the Angle Protocol or build an application on top of the protocol.
servers:
- url: https://api.angle.money
- url: https://api-staging.angle.money
tags:
- name: Borrow
paths:
  /v1/vaultManagers:
    get:
      summary: Get VaultManagers
      description: Return the global state of `VaultManagers` listed by the treasuries associated to a stablecoin
      tags:
      - Borrow
      parameters:
      - $ref: '#/components/parameters/requiredChainId'
      - $ref: '#/components/parameters/optionalUser'
      - $ref: '#/components/parameters/agToken'
      - $ref: '#/components/parameters/optionalBlockNumber'
      responses:
        '200':
          description: List of all `VaultManager` with their details
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/vaultManagers'
      operationId: getV1VaultManagers
      x-operation-id-source: derived
  /v1/vaults:
    get:
      summary: Get Vaults
      description: Return all vaults for a user on a chain.
      tags:
      - Borrow
      parameters:
      - $ref: '#/components/parameters/requiredChainId'
      - $ref: '#/components/parameters/requiredUser'
      - $ref: '#/components/parameters/agToken'
      responses:
        '200':
          description: List of all the vaults for a given user on-chain
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/vaults'
      operationId: getV1Vaults
      x-operation-id-source: derived
  /v1/leverage:
    get:
      summary: Build payloads for Angle's borrow module
      tags:
      - Borrow
      parameters:
      - name: agTokenAddress
        in: query
        description: The address of the stablecoin to borrow
        required: true
        schema:
          type: string
        examples:
          EURA:
            value: '0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8'
      - name: agTokenToBorrow
        in: query
        description: The amount of agTokens to borrow
        required: true
        schema:
          type: string
      - name: agTokenToSwap
        in: query
        description: The amount of agTokens to swap for the collateral
        schema:
          type: string
      - name: amountsBrought
        in: query
        description: An array of objects representing the amounts and addresses of assets brought
        schema:
          type: array
          items:
            type: object
            properties:
              address:
                type: string
                description: The address of the asset
              amount:
                type: string
                description: The amount of the asset
              decimals:
                type: number
                description: The number of decimals for the asset
              symbol:
                type: string
                description: The symbol of the asset
      - name: chainId
        in: query
        description: The ID of the Ethereum chain on which to perform the operation
        required: true
        schema:
          type: number
          enum:
          - 1
          - 137
          - 42161
          - 10
          - 43114
      - name: collateralAddress
        in: query
        description: The address of the collateral contract
        required: true
        schema:
          type: string
      - name: collateralToAdd
        in: query
        description: The amount of collateral to deposit
        required: true
        schema:
          type: string
      - name: userAddress
        in: query
        description: The address of the user requesting the payload
        required: true
        schema:
          type: string
      - name: vaultId
        in: query
        description: The vault to act on
        required: true
        schema:
          type: number
      - name: vaultPermit
        in: query
        description: Vault permit
        schema:
          type: string
      - name: permits
        in: query
        description: Array of permits
        schema:
          type: array
          items:
            type: string
      - name: slippage
        in: query
        description: Slippage
        required: true
        schema:
          type: number
      - name: oneInchSlippage
        in: query
        description: One-inch slippage
        schema:
          type: number
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    description: The calldata bytes needed to build the Ethereum transaction
      operationId: getV1Leverage
      x-operation-id-source: derived
  /v1/deleverage:
    get:
      summary: Build payloads for Angle's borrow module
      description: This route handles requests to build payloads for Angle's borrow module.
      tags:
      - Borrow
      parameters:
      - name: agTokenToRepay
        in: query
        description: The amount of agTokens to repay.
        required: true
        schema:
          type: string
          pattern: ^\d+$
      - name: repayAll
        in: query
        description: If all the vault's debt is repaid.
        required: true
        schema:
          type: boolean
      - name: amountsBrought
        in: query
        description: An array of objects representing the amounts and addresses of assets brought.
        schema:
          type: array
          items:
            type: object
      - name: chainId
        in: query
        description: The ID of the Ethereum chain on which to perform the operation.
        required: true
        schema:
          type: number
          enum:
          - 1
          - 137
          - 42161
          - 43114
          - 10
      - name: collateralAddress
        in: query
        description: The address of the collateral contract.
        required: true
        schema:
          type: string
          format: address
      - name: collateralToWithdrawToWallet
        in: query
        description: The amount of collateral to withdraw.
        required: true
        schema:
          type: string
          pattern: ^\d+$
      - name: collateralToSwap
        in: query
        description: The amount of collateral to swap to EURA.
        required: true
        schema:
          type: string
          pattern: ^\d+$
      - name: userAddress
        in: query
        description: The address of the user requesting the payload.
        required: true
        schema:
          type: string
          format: address
      - name: vaultId
        in: query
        description: The vault to act on.
        required: true
        schema:
          type: number
          minimum: 0
      - name: agTokenAddress
        in: query
        description: The address of the agToken.
        required: true
        schema:
          type: string
          format: address
      - name: outputTokenAddress
        in: query
        description: The address of the token wanted by the user.
        required: true
        schema:
          type: string
          format: address
      responses:
        '200':
          description: JSON object containing the calldata bytes needed to build the Ethereum transaction.
      operationId: getV1Deleverage
      x-operation-id-source: derived
components:
  parameters:
    agToken:
      name: agToken
      in: query
      description: agToken address
      required: true
      schema:
        type: string
      examples:
        EURA:
          value: '0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8'
    requiredChainId:
      in: query
      name: chainId
      description: Chain requested
      required: true
      schema:
        type: integer
      examples:
        Ethereum:
          value: 1
        Polygon:
          value: 137
        Optimism:
          value: 10
        Arbitrum:
          value: 42161
        Avalanche:
          value: 43114
    requiredUser:
      name: user
      in: query
      description: User blockchain `address`
      required: true
      schema:
        type: string
      example: '0xa116f421ff82A9704428259fd8CC63347127B777'
    optionalUser:
      name: user
      in: query
      description: User blockchain `address` (optional)
      required: false
      schema:
        type: string
      example: '0xa116f421ff82A9704428259fd8CC63347127B777'
    optionalBlockNumber:
      name: blockNumber
      in: query
      description: Block number
      required: false
      schema:
        type: integer
      example: 12345678
  schemas:
    vaultManagers:
      type: object
      additionalProperties:
        type: object
        properties:
          address:
            type: string
            description: Address of the `VaultManager`
          symbol:
            type: string
            description: Symbol of the `VaultManager`
          collateral:
            type: number
            description: Address of the collateral token
          collateralHasPermit:
            type: boolean
            description: Whether the collateral token supports permit
          collateralPermitVersion:
            type: number
            description: Permit version used in case of
          stablecoin:
            type: string
            description: Address of the minted stablecoin
          swapper:
            type: string
            description: Address of the swapper contract recommended by the protocol
          decimals:
            type: string
            description: Decimals of the collateral token
          treasury:
            type: string
            description: Address of the Treasury
          borrowFee:
            type: number
            description: Percentage of up-front fees
          stabilityFee:
            type: number
            description: Annual interest rate
          liquidationPenalty:
            type: number
            description: Percentage of penalty on liquidated debt
          maxLTV:
            type: number
            description: Max debt value versus collateral value
          minCollateralRatio:
            type: number
            description: Min percentage of collateral versus debt
          dust:
            type: number
            description: Minimum debt
          totalCollateral:
            type: number
            description: Total collateral on the contract
          totalDebt:
            type: number
            description: Total debt on the contract
          rate:
            type: number
            description: Underlying oracle price
          maxLiquidationDiscount:
            type: number
            description: Maximum liquidation discount
          targetHealthFactor:
            type: number
            description: Target health factor
    vaults:
      type: object
      additionalProperties:
        type: object
        properties:
          address:
            type: string
            description: Address of the corresponding `VaultManager`
          symbol:
            type: string
            description: Symbol of the `VaultManager`
          id:
            type: number
            description: ERC721 standard `tokenID`
          collateral:
            type: number
            description: Address of the collateral token
          stablecoin:
            type: string
            description: Address of the minted stablecoin
          rate:
            type: number
            description: Underlying oracle price
          collateralAmount:
            type: number
            description: Collateral added to the vault
          debt:
            type: number
            description: Amount currently due
          debtString:
            type: string
            description: Amount currently due, as a string for precision
          collateralRatio:
            type: number
            description: Collateral over Debt, in %
          liquidationPrice:
            type: number
            description: Current liquidation price threshold, in USD