Superform Auxiliary API

The Auxiliary API from Superform — 8 operation(s) for auxiliary.

OpenAPI Specification

superform-auxiliary-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Superform Auxiliary API
  version: 1.0.0
servers:
- url: https://api.superform.xyz
tags:
- name: Auxiliary
paths:
  /address/type/{address}:
    get:
      description: Get the type of an address.
      operationId: address-type
      parameters:
      - example: '0x1234'
        in: path
        name: address
        required: true
        schema:
          examples:
          - '0x1234'
          type: string
      - example: '137'
        explode: false
        in: query
        name: chainID
        required: true
        schema:
          examples:
          - '137'
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAddressTypeOutputBody'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
      - apiKey: []
      summary: Get address type
      tags:
      - Auxiliary
  /deployment:
    get:
      description: Get contract addresses for each chain Superform is deployed on.
      operationId: deployment-details
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeploymentDetailsOutputBody'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
      - apiKey: []
      summary: Get deployment details
      tags:
      - Auxiliary
  /superpositions/{superform_id}/price:
    get:
      description: Returns superposition price in USD.
      operationId: superposition-price
      parameters:
      - example: '1'
        in: path
        name: superform_id
        required: true
        schema:
          examples:
          - '1'
          type: string
      - example: '1000000000000000000'
        explode: false
        in: query
        name: amount_in
        schema:
          examples:
          - '1000000000000000000'
          type: string
      - example: '12345678'
        explode: false
        in: query
        name: block_number
        schema:
          examples:
          - '12345678'
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSuperpositionUSDPriceOutputBody'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
      - apiKey: []
      summary: Get superposition price
      tags:
      - Auxiliary
  /supported:
    get:
      description: Get the supported bridges, AMBs, and dexes that can be passed to /deposit/calculate or /withdraw/calculate.
      operationId: supported
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSupportedOutputBody'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
      - apiKey: []
      summary: Get supported bridges, dexes, AMBs
      tags:
      - Auxiliary
  /supported/chains:
    get:
      description: Get the supported chains.
      operationId: supported-chains
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SupportedChain'
                type: array
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
      - apiKey: []
      summary: Get supported chains
      tags:
      - Auxiliary
  /supported/withdrawable-tokens:
    get:
      description: Returns the list of tokens that can be withdrawn to from the vaults.
      operationId: supported-withdrawable-tokens
      parameters:
      - explode: false
        in: query
        name: vaultIds
        required: true
        schema:
          items:
            type: string
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ToToken'
                type: array
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
      - apiKey: []
      summary: Get withdrawable tokens
      tags:
      - Auxiliary
  /supported/yield-types:
    get:
      description: When creating or updating a vault, you must specify a yield type. This endpoint returns the supported yield types.
      operationId: supported-yield-types
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
      - apiKey: []
      summary: Get supported yield types
      tags:
      - Auxiliary
  /user/portfolio/{address}:
    get:
      description: Get historical portfolio balances for an address. The default and only granularity is daily. The data is collected at a daily interval. The response is cached for 4 hours.
      operationId: user-balances
      parameters:
      - description: The user's address
        example: '0x1234567890abcdef'
        in: path
        name: address
        required: true
        schema:
          description: The user's address
          examples:
          - '0x1234567890abcdef'
          type: string
      - description: Unix timestamp for the start of the time series data, trimmed to 8 decimal places.
        example: 1706225932
        explode: false
        in: query
        name: start_timestamp
        schema:
          description: Unix timestamp for the start of the time series data, trimmed to 8 decimal places.
          examples:
          - 1706225932
          format: int64
          type: integer
      - description: Unix timestamp for the end of the time series data, trimmed to 8 decimal places
        example: 1706539710
        explode: false
        in: query
        name: end_timestamp
        schema:
          description: Unix timestamp for the end of the time series data, trimmed to 8 decimal places
          examples:
          - 1706539710
          format: int64
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/UserPortfolioBalance'
                type: array
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
      - apiKey: []
      summary: 'Get historical portfolio balances for an address. '
      tags:
      - Auxiliary
components:
  schemas:
    GetDeploymentDetailsOutputBody:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
          - https://api.superform.xyz/schemas/GetDeploymentDetailsOutputBody.json
          format: uri
          readOnly: true
          type: string
        deployments:
          items:
            $ref: '#/components/schemas/DeployedContract'
          type: array
        router_abi:
          items:
            additionalProperties: {}
            type: object
          type: array
      required:
      - deployments
      - router_abi
      type: object
    ErrorModel:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
          - https://api.superform.xyz/schemas/ErrorModel.json
          format: uri
          readOnly: true
          type: string
        detail:
          description: A human-readable explanation specific to this occurrence of the problem.
          examples:
          - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: A URI reference that identifies the specific occurrence of the problem.
          examples:
          - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
          - 400
          format: int64
          type: integer
        title:
          description: A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
          examples:
          - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
          - https://example.com/errors/example
          format: uri
          type: string
      type: object
    AvailableLiquidityProviders:
      additionalProperties: false
      properties:
        display_name:
          type: string
        key:
          format: int64
          type: integer
        logo:
          type: string
      required:
      - display_name
      - key
      - logo
      type: object
    UserPortfolioBalance:
      additionalProperties: false
      properties:
        balance_btc:
          description: The user's balance across all of Superform at this point in time, in BTC
          examples:
          - '0.59378'
          type: string
        balance_eth:
          description: The user's balance across all of Superform at this point in time, in ETH
          examples:
          - '125.435'
          type: string
        balance_usd:
          description: The user's balance across all of Superform at this point in time, in USD
          examples:
          - '1000'
          type: string
        timestamp:
          description: Unix timestamp at which this user balance was calculated
          examples:
          - 1706225932
          format: int64
          type: integer
      required:
      - timestamp
      - balance_usd
      - balance_eth
      - balance_btc
      type: object
    GetSupportedOutputBody:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
          - https://api.superform.xyz/schemas/GetSupportedOutputBody.json
          format: uri
          readOnly: true
          type: string
        ambs:
          items:
            $ref: '#/components/schemas/DeployedAMB'
          type: array
        bridges:
          items:
            $ref: '#/components/schemas/SupportedBridgeOrDEX'
          type: array
        dexes:
          items:
            $ref: '#/components/schemas/SupportedBridgeOrDEX'
          type: array
        liquidity_providers:
          items:
            $ref: '#/components/schemas/AvailableLiquidityProviders'
          type: array
      required:
      - ambs
      - bridges
      - dexes
      - liquidity_providers
      type: object
    ToToken:
      additionalProperties: false
      properties:
        address:
          type: string
        chainAgnosticId:
          type: string
        chainId:
          format: int64
          type: integer
        decimals:
          format: int64
          type: integer
        icon:
          type: string
        logoURI:
          type: string
        name:
          type: string
        price:
          format: double
          type: number
        symbol:
          type: string
      required:
      - name
      - address
      - icon
      - decimals
      - symbol
      - chainId
      - logoURI
      - price
      - chainAgnosticId
      type: object
    GetSuperpositionUSDPriceOutputBody:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
          - https://api.superform.xyz/schemas/GetSuperpositionUSDPriceOutputBody.json
          format: uri
          readOnly: true
          type: string
        data:
          examples:
          - 13.48
          format: double
          type: number
        message:
          examples:
          - Success
          type: string
        status:
          examples:
          - 200
          format: int64
          type: integer
      required:
      - status
      - message
      - data
      type: object
    DeployedContract:
      additionalProperties: false
      properties:
        BroadcastRegistry:
          type: string
        ChainID:
          format: int64
          type: integer
        CoreStateRegistry:
          type: string
        DstSwapper:
          type: string
        ERC4626Form:
          type: string
        ERC4626KYCDaoForm:
          type: string
        ERC4626TimelockForm:
          type: string
        ERC5115To4626WrapperFactory:
          type: string
        EmergencyQueue:
          type: string
        HyperlaneImplementation:
          type: string
        LayerzeroImplementation:
          type: string
        LiFiDiamond:
          type: string
        LiFiValidator:
          type: string
        LifiValidator:
          type: string
        MultiTxProcessor:
          type: string
        PayMaster:
          type: string
        PayloadHelper:
          type: string
        PaymentHelper:
          type: string
        RewardsDistributor:
          type: string
        SocketOneInchValidator:
          type: string
        SocketValidator:
          type: string
        SuperPositions:
          type: string
        SuperRBAC:
          type: string
        SuperRegistry:
          type: string
        SuperTransmuter:
          type: string
        SuperVaultFactory:
          type: string
        SuperformFactory:
          type: string
        SuperformRouter:
          type: string
        SuperformRouterPlus:
          type: string
        SuperformRouterPlusAsync:
          type: string
        TimelockStateRegistry:
          type: string
        VaultClaimer:
          type: string
        WormholeARImplementation:
          type: string
        WormholeSRImplementation:
          type: string
      required:
      - ChainID
      - BroadcastRegistry
      - CoreStateRegistry
      - DstSwapper
      - ERC4626Form
      - ERC4626KYCDaoForm
      - ERC4626TimelockForm
      - EmergencyQueue
      - HyperlaneImplementation
      - LayerzeroImplementation
      - LiFiValidator
      - MultiTxProcessor
      - PayMaster
      - PayloadHelper
      - PaymentHelper
      - RewardsDistributor
      - SocketOneInchValidator
      - SocketValidator
      - SuperPositions
      - SuperRBAC
      - SuperRegistry
      - SuperTransmuter
      - SuperformFactory
      - SuperVaultFactory
      - ERC5115To4626WrapperFactory
      - SuperformRouter
      - SuperformRouterPlus
      - SuperformRouterPlusAsync
      - VaultClaimer
      - TimelockStateRegistry
      - WormholeARImplementation
      - WormholeSRImplementation
      - LifiValidator
      - LiFiDiamond
      type: object
    SupportedChain:
      additionalProperties: false
      properties:
        chain_id:
          format: int64
          type: integer
        explorers:
          items:
            type: string
          type: array
        icon:
          type: string
        is_L1:
          type: boolean
        name:
          type: string
        rpcs:
          items:
            type: string
          type: array
      required:
      - chain_id
      - name
      - is_L1
      - icon
      - rpcs
      - explorers
      type: object
    SupportedBridgeOrDEX:
      additionalProperties: false
      properties:
        deposit_disabled:
          type: boolean
        display_name:
          type: string
        icon:
          type: string
        key:
          format: int64
          type: integer
        withdraw_disabled:
          type: boolean
      required:
      - key
      - display_name
      - icon
      - deposit_disabled
      - withdraw_disabled
      type: object
    DeployedAMB:
      additionalProperties: false
      properties:
        display_name:
          type: string
        key:
          format: int32
          type: integer
        logo:
          type: string
      required:
      - key
      - display_name
      - logo
      type: object
    GetAddressTypeOutputBody:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
          - https://api.superform.xyz/schemas/GetAddressTypeOutputBody.json
          format: uri
          readOnly: true
          type: string
        addressType:
          type: string
      required:
      - addressType
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    apiKey:
      description: Provide the api key issued to you
      in: header
      name: SF-API-KEY
      type: apiKey