Angle Helpers API

The Helpers API from Angle — 5 operation(s) for helpers.

OpenAPI Specification

angle-helpers-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: Angle Allowances Helpers API
  description: API to track the Angle Protocol state
servers:
- url: https://api.angle.money
tags:
- name: Helpers
paths:
  /v1/incentives:
    get:
      summary: Get earning opportunities
      description: Return data related to earning opportunities for a given user.
      tags:
      - Helpers
      parameters:
      - $ref: '#/components/parameters/optionalUser'
      - name: isTest
        in: query
        description: Optional flag to get Rinkeby data
        schema:
          type: boolean
      responses:
        '200':
          description: Mapping between a staking contract address (used as a key) and its data (like description, APR, links, ...)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/incentives'
  /v1/app:
    get:
      summary: Get tokens and prices
      description: Return data about tokens at stake in the Angle Protocol (price, icon, decimals etc)
      tags:
      - Helpers
      responses:
        '200':
          description: Maps token addresses on the requested chain to their associated data and returns a list of pairs of tokens identified by their name with their price (in USD).
          content:
            application/json:
              schema:
                type: object
                properties:
                  tokens:
                    $ref: '#/components/schemas/tokens'
                  prices:
                    $ref: '#/components/schemas/prices'
  /v1/prices:
    get:
      summary: Get prices
      description: Return prices for tokens used by the Angle Protocol.
      tags:
      - Helpers
      responses:
        '200':
          description: List of pairs of tokens identified by their name with their price (in USD).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/prices'
  /v1/simulate:
    get:
      summary: Simulate Transaction
      description: Simulate a transaction based on provided parameters and return the Tenderly url.
      tags:
      - Helpers
      parameters:
      - $ref: '#/components/parameters/requiredChainId'
      - in: query
        name: from
        schema:
          type: string
        description: The address of the sender.
        required: true
      - in: query
        name: to
        schema:
          type: string
        description: The address of the recipient.
        required: true
      - in: query
        name: data
        schema:
          type: string
        description: The transaction data.
        required: true
      - in: query
        name: value
        schema:
          type: string
        description: The transaction value.
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: string
  /v1/simulate/multicall:
    get:
      summary: Multicall simulation
      description: Execute multiple transactions in a single request and return the Tenderly url.
      tags:
      - Helpers
      parameters:
      - in: query
        name: calls
        schema:
          type: array
          items:
            $ref: '#/components/schemas/callObject'
        description: Array of call objects containing details of each call.
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/multicallResponse'
components:
  schemas:
    tokens:
      type: object
      additionalProperties:
        type: object
        properties:
          name:
            type: string
            description: Token name
          address:
            type: string
            description: Token address
          decimals:
            type: number
            description: ERC20 decimals
          symbol:
            type: string
            description: Token symbol
          useInSwap:
            type: boolean
            description: Whether this token is used in Angle swaps
          hasPermit:
            type: boolean
            description: Whether the token supports permit
          permitVersion:
            type: string
            description: Permit version, otherwise '-1'
          logoURI:
            type: string
            description: Logo URI
          tags:
            type: array
            items:
              type: string
            description: Token tags
    incentives:
      type: object
      additionalProperties:
        type: object
        properties:
          address:
            type: string
            description: Address of the staking contract
          name:
            type: string
            description: Name of the farm
          deprecated:
            type: boolean
            description: Whether the farm is deprecated or not
          underlyingToken:
            type: object
            properties:
              balances:
                type: string
                description: Balance of the user of the underlying staking token
              allowance:
                type: string
                description: Allowance of the user for the underlying staking token to the staking contract
              address:
                type: string
                description: Address of the token to stake
              base:
                type: number
                description: Base of the staking token
          rewardTokens:
            type: array
            items:
              type: object
              properties:
                symbol:
                  type: string
                  description: Symbol of the reward token
                address:
                  type: string
                  description: Address of the reward token
                amount:
                  type: number
          network:
            type: number
            description: Network where the incentive is given
          platform:
            type: string
            description: Platform where staking is taking place
          icon:
            type: string
            description: Icon of the staking platform
          tvl:
            type: number
            description: TVL in the staking contract
          deposit:
            type: object
            properties:
              amount:
                type: string
                description: User deposited amount
              usdValue:
                type: number
                description: USD value of the user amount in the farm
          apr:
            type: object
            properties:
              details:
                type: object
              value:
                type: number
                description: Value of the APR
    prices:
      type: array
      items:
        type: object
        properties:
          token:
            type: string
            description: Token symbol
          rate:
            type: number
            description: Token price (in USD)
    callObject:
      type: object
      properties:
        chainId:
          type: number
        data:
          type: string
        from:
          type: string
        to:
          type: string
        value:
          type: string
          pattern: ^[0-9A-Fa-f]+$
    multicallResponse:
      type: object
      properties:
        transfers:
          type: array
          items:
            type: object
        url:
          type: string
  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
    optionalUser:
      name: user
      in: query
      description: User blockchain `address` (optional)
      required: false
      schema:
        type: string
      example: '0xa116f421ff82A9704428259fd8CC63347127B777'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic