Angle Integrators API

The Integrators API from Angle — 6 operation(s) for integrators.

Operations 6

GET /v1/integrators/payload/deposit Get deposit payload #
GET /v1/integrators/payload/withdraw Get withdraw payload #
GET /v1/integrators/vaults/positions Get vault positions #
GET /v1/integrators/vaults/user/positions Get user's vault positions #
GET /v1/integrators/vaults/positions/historical Get historical vault positions #
GET /v1/integrators/vaults/operations/historical Get historical vault operations #

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-integrators-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-integrators-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Angle Integrators 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: Integrators
paths:
  /v1/integrators/payload/deposit:
    get:
      summary: Get deposit payload
      description: Generate a payload for depositing tokens into Angle protocol strategies.
      tags:
      - Integrators
      parameters:
      - $ref: '#/components/parameters/requiredChainId'
      - name: inputTokenAddress
        in: query
        description: The address of the input token.
        required: true
        schema:
          type: string
          example: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
      - name: inputTokenAmount
        in: query
        description: The amount of the input token to deposit using token decimals. For example, 1 USDC would be 1000000 (6 decimals).
        required: true
        schema:
          type: number
          example: 1000000
      - name: strategyAddress
        in: query
        description: The address of the strategy contract.
        required: true
        schema:
          type: string
          example: '0xC0077E921C30c39cDD8b693E25Af572C10E82a05'
      - name: userAddress
        in: query
        description: The address of the user performing the transaction.
        required: true
        schema:
          type: string
          example: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
      - name: slippage
        in: query
        description: The maximum allowed slippage as a percentage value (i.e. 0.1 means 0.1%).
        required: true
        schema:
          type: number
          example: 0.1
      - name: ipAddress
        in: query
        description: The IP address of the user.
        required: false
        schema:
          type: string
          example: 192.168.1.100
      responses:
        '200':
          description: The deposit payload information.
          content:
            application/json:
              schema:
                type: object
      operationId: getV1IntegratorsPayloadDeposit
      x-operation-id-source: derived
  /v1/integrators/payload/withdraw:
    get:
      summary: Get withdraw payload
      description: Generate a payload for withdrawing tokens from Angle protocol strategies.
      tags:
      - Integrators
      parameters:
      - $ref: '#/components/parameters/requiredChainId'
      - name: outputTokenAddress
        in: query
        description: The address of the output token (the token that the user wants to receive after the withdraw from strategy).
        required: true
        schema:
          type: string
          example: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
      - name: inputTokenAmount
        in: query
        description: The amount of the input token to withdraw. This is the amount of the strategy token that the user wants to withdraw (with 18 decimals). For example, 1 stUSDStrat would be 1000000000000000000 (18 decimals).
        required: true
        schema:
          type: number
          example: 1000000000000000000
      - name: strategyAddress
        in: query
        description: The address of the strategy contract.
        required: true
        schema:
          type: string
          example: '0xC0077E921C30c39cDD8b693E25Af572C10E82a05'
      - name: userAddress
        in: query
        description: The address of the user performing the transaction.
        required: true
        schema:
          type: string
          example: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
      - name: slippage
        in: query
        description: The maximum allowed slippage as a percentage value (i.e. 0.1 means 0.1%).
        required: true
        schema:
          type: number
          example: 0.1
      - name: ipAddress
        in: query
        description: The IP address of the user.
        required: false
        schema:
          type: string
          example: 192.168.1.100
      responses:
        '200':
          description: The withdraw payload information.
          content:
            application/json:
              schema:
                type: object
      operationId: getV1IntegratorsPayloadWithdraw
      x-operation-id-source: derived
  /v1/integrators/vaults/positions:
    get:
      summary: Get vault positions
      description: Retrieve positions data for a specific vault strategy. Position are ordered by the most recent first.
      tags:
      - Integrators
      parameters:
      - in: query
        name: chainId
        required: true
        schema:
          type: number
          enum:
          - 42161
        description: The chain ID (only Arbitrum is supported)
      - name: strategyAddress
        in: query
        description: The address of the strategy contract.
        required: true
        schema:
          type: string
          example: '0xC0077E921C30c39cDD8b693E25Af572C10E82a05'
      - in: query
        name: first
        required: false
        schema:
          type: number
          minimum: 1
        description: Number of items to retrieve
      - in: query
        name: skip
        required: false
        schema:
          type: number
          minimum: 0
        description: Number of items to skip
      responses:
        '200':
          description: Successful response with vault positions data
          content:
            application/json:
              schema:
                type: object
      operationId: getV1IntegratorsVaultsPositions
      x-operation-id-source: derived
  /v1/integrators/vaults/user/positions:
    get:
      summary: Get user's vault positions
      description: Retrieve position data for a specific user in a vault strategy.
      tags:
      - Integrators
      parameters:
      - in: query
        name: chainId
        schema:
          type: integer
          enum:
          - 42161
        description: Chain ID (optional, currently only Arbitrum is supported)
      - in: query
        name: first
        schema:
          type: integer
          minimum: 1
          default: 5
        description: Number of results to return (optional)
      - in: query
        name: includeOperations
        schema:
          type: boolean
          default: false
        description: Whether to include operations (deposits, withdrawals) in the response (optional)
      - in: query
        name: skip
        schema:
          type: integer
          minimum: 0
        description: Number of results to skip (optional)
      - in: query
        name: strategyAddress
        schema:
          type: string
        description: Address of the strategy (optional)
      - in: query
        name: userAddress
        schema:
          type: string
        required: true
        description: Address of the user
      responses:
        '200':
          description: Successful response with user's vault positions data
          content:
            application/json:
              schema:
                type: object
      operationId: getV1IntegratorsVaultsUserPositions
      x-operation-id-source: derived
  /v1/integrators/vaults/positions/historical:
    get:
      summary: Get historical vault positions
      description: Retrieve historical position data for a specific vault strategy. Position are ordered by the most recent first.
      tags:
      - Integrators
      parameters:
      - in: query
        name: chainId
        required: true
        schema:
          type: number
          enum:
          - 42161
        description: The chain ID (only Arbitrum is supported)
      - name: strategyAddress
        in: query
        description: The address of the strategy contract.
        required: true
        schema:
          type: string
          example: '0xC0077E921C30c39cDD8b693E25Af572C10E82a05'
      - in: query
        name: first
        required: false
        schema:
          type: number
          minimum: 1
        description: Number of items to retrieve
      - in: query
        name: skip
        required: false
        schema:
          type: number
          minimum: 0
        description: Number of items to skip
      responses:
        '200':
          description: Successful response with historical vault positions data
          content:
            application/json:
              schema:
                type: object
      operationId: getV1IntegratorsVaultsPositionsHistorical
      x-operation-id-source: derived
  /v1/integrators/vaults/operations/historical:
    get:
      summary: Get historical vault operations
      description: Retrieve historical operation data for a specific vault strategy.
      tags:
      - Integrators
      parameters:
      - in: query
        name: chainId
        required: true
        schema:
          type: number
          enum:
          - 42161
        description: The chain ID (only Arbitrum is supported)
      - name: strategyAddress
        in: query
        description: The address of the strategy contract.
        required: true
        schema:
          type: string
          example: '0xC0077E921C30c39cDD8b693E25Af572C10E82a05'
      - in: query
        name: userAddresses
        required: false
        schema:
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        description: User address or array of user addresses
      - in: query
        name: firstDeposits
        required: false
        schema:
          type: number
          minimum: 1
        description: Number of deposit items to retrieve
      - in: query
        name: skipDeposits
        required: false
        schema:
          type: number
          minimum: 0
        description: Number of deposit items to skip
      - in: query
        name: firstWithdrawals
        required: false
        schema:
          type: number
          minimum: 1
        description: Number of withdrawal items to retrieve
      - in: query
        name: skipWithdrawals
        required: false
        schema:
          type: number
          minimum: 0
        description: Number of withdrawal items to skip
      responses:
        '200':
          description: Successful response with historical vault operations data
          content:
            application/json:
              schema:
                type: object
      operationId: getV1IntegratorsVaultsOperationsHistorical
      x-operation-id-source: derived
components:
  parameters:
    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