Backpack Vaults API

Vault data.

Operations 7

GET /api/v1/vaults Get vaults #
POST /api/v1/vault/mint Mint vault tokens #
POST /api/v1/vault/redeem Request vault redeem #
DELETE /api/v1/vault/redeem Cancel vault redeem request #
GET /api/v1/vault/redeems/pending Get pending vault redeems #
GET /api/v1/vault/nav Get vault NAV #
GET /api/v1/vaults/history Get vault history #

Documentation

Specifications

Schemas & Data

Other Resources

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/backpack-vaults-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

backpack-vaults-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Backpack Exchange Vaults API
  description: '# Introduction


    Welcome to the Backpack Exchange API.'
  version: '1.0'
  x-logo:
    url: https://cdn.prod.website-files.com/66830ad123bea7f626bcf58f/68eccb03852237fd98ffad9b_Backpack-Icon-Color.svg
    altText: Backpack Exchange
  contact:
    name: Backpack Exchange Support
    url: https://support.backpack.exchange/
  license:
    name: Proprietary
servers:
- url: https://api.backpack.exchange
tags:
- name: Vaults
  description: Vault data.
paths:
  /api/v1/vaults:
    get:
      tags:
      - Vaults
      summary: Get vaults
      description: Returns information about all available vaults on the exchange.
      responses:
        '200':
          description: Success.
          content:
            application/json; charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Vault'
        '500':
          description: Internal server error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: get_vaults
  /api/v1/vault/mint:
    post:
      tags:
      - Vaults
      summary: Mint vault tokens
      description: 'Deposits an asset into a vault and receives vault tokens in return.


        **Instruction:** `vaultMint`'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/VaultMintRequest'
        required: true
      responses:
        '200':
          description: Success.
        '400':
          description: Bad request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '503':
          description: Service unavailable (maintenance mode).
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: vault_mint
  /api/v1/vault/redeem:
    post:
      tags:
      - Vaults
      summary: Request vault redeem
      description: 'Submits a request to redeem vault tokens for USDC. The request will be

        queued and attempted after the vault''s redeem delay period.


        **Instruction:** `vaultRedeemRequest`'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/VaultRedeemRequest'
        required: true
      responses:
        '200':
          description: Success.
        '400':
          description: Bad request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '503':
          description: Service unavailable (maintenance mode).
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: vault_redeem
    delete:
      tags:
      - Vaults
      summary: Cancel vault redeem request
      description: 'Cancels a pending redeem request for a vault.


        **Instruction:** `vaultRedeemCancel`'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/VaultRedeemCancelRequest'
        required: true
      responses:
        '200':
          description: Success.
        '400':
          description: Bad request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '503':
          description: Service unavailable (maintenance mode).
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: vault_redeem_cancel
  /api/v1/vault/redeems/pending:
    get:
      tags:
      - Vaults
      summary: Get pending vault redeems
      description: 'Returns pending redeem requests for a vault. Only accessible when

        authenticated with a key registered to the vault''s system account.


        **Instruction:** `vaultPendingRedeemsQuery`'
      parameters:
      - name: X-API-KEY
        schema:
          type: string
        in: header
        description: API key
        required: true
        deprecated: false
        explode: true
      - name: X-SIGNATURE
        schema:
          type: string
        in: header
        description: Signature of the request
        required: true
        deprecated: false
        explode: true
      - name: X-TIMESTAMP
        schema:
          type: integer
          format: int64
        in: header
        description: Timestamp of the request in milliseconds
        required: true
        deprecated: false
        explode: true
      - name: X-WINDOW
        schema:
          type: integer
          format: uint64
        in: header
        description: Time the request is valid for in milliseconds (default `5000`, maximum `60000`)
        required: false
        deprecated: false
        explode: true
      - name: vaultId
        schema:
          type: integer
          format: uint32
        in: query
        description: The vault ID to get pending redeems for.
        required: true
        deprecated: false
        explode: true
      responses:
        '200':
          description: Success.
          content:
            application/json; charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VaultRedeem'
        '401':
          description: Unauthorized.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: Forbidden.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: get_vault_pending_redeems
  /api/v1/vault/nav:
    get:
      tags:
      - Vaults
      summary: Get vault NAV
      description: 'Returns live NAV data for a vault, including spot NAV, TWAP NAV,

        mint NAV, and redeem NAV. Only accessible by the vault''s own account.


        **Instruction:** `vaultNavQuery`'
      responses:
        '200':
          description: Success.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/VaultNav'
        '401':
          description: Unauthorized.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: get_vault_nav
  /api/v1/vaults/history:
    get:
      tags:
      - Vaults
      summary: Get vault history
      description: 'Returns historical vault data - NAV, vault equity,

        and tokens in circulation at regular intervals.'
      parameters:
      - name: interval
        schema:
          $ref: '#/components/schemas/VaultHistoryInterval'
        in: query
        description: Time interval for historical data.
        required: true
        deprecated: false
        explode: true
      - name: vaultId
        schema:
          type: integer
          format: uint32
        in: query
        description: Optional vault ID to filter by.
        required: false
        deprecated: false
        explode: true
      responses:
        '200':
          description: Success.
          content:
            application/json; charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VaultHistory'
        '500':
          description: Internal server error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: get_vault_history
components:
  schemas:
    ApiErrorCode:
      type: string
      enum:
      - ACCOUNT_DEACTIVATED
      - ACCOUNT_LIQUIDATING
      - BORROW_LIMIT
      - BORROW_REQUIRES_LEND_REDEEM
      - FORBIDDEN
      - INSUFFICIENT_FUNDS
      - INSUFFICIENT_MARGIN
      - INSUFFICIENT_SUPPLY
      - INVALID_ASSET
      - INVALID_CLIENT_REQUEST
      - INVALID_MARKET
      - INVALID_ORDER
      - INVALID_PRICE
      - INVALID_POSITION_ID
      - INVALID_QUANTITY
      - INVALID_RANGE
      - INVALID_SIGNATURE
      - INVALID_SOURCE
      - INVALID_SYMBOL
      - INVALID_TWO_FACTOR_CODE
      - LEND_LIMIT
      - LEND_REQUIRES_BORROW_REPAY
      - MAINTENANCE
      - MAX_LEVERAGE_REACHED
      - NOT_IMPLEMENTED
      - ORDER_LIMIT
      - POSITION_LIMIT
      - PRECONDITION_FAILED
      - RESOURCE_NOT_FOUND
      - SERVER_ERROR
      - TIMEOUT
      - TOO_EARLY
      - TOO_MANY_REQUESTS
      - TRADING_PAUSED
      - UNAUTHORIZED
    ApiErrorResponse:
      type: object
      title: ApiErrorResponse
      required:
      - code
      - message
      properties:
        code:
          $ref: '#/components/schemas/ApiErrorCode'
        message:
          type: string
    VaultHistory:
      type: object
      title: VaultHistory
      description: Historical vault data.
      required:
      - vaultId
      - timestamp
      properties:
        vaultId:
          type: integer
          format: uint32
          description: The vault ID.
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the snapshot.
        nav:
          type: string
          format: decimal
          description: Net asset value per token.
        vaultEquity:
          type: string
          format: decimal
          description: Total vault equity in USDC.
        tokenCirculatingSupply:
          type: string
          format: decimal
          description: Total circulating vault tokens.
    VaultHistoryInterval:
      type: string
      enum:
      - 1d
      - 1w
      - 1month
      - 1year
    VaultMintRequest:
      type: object
      title: VaultMintRequest
      description: Request payload for minting vault tokens.
      required:
      - vaultId
      - symbol
      - quantity
      properties:
        vaultId:
          type: integer
          format: uint32
          description: The vault ID to mint tokens from.
        symbol:
          type: string
          description: The symbol of the asset to deposit.
        quantity:
          type: string
          format: decimal
          description: Amount to deposit.
        autoBorrow:
          type: boolean
          description: Whether to allow auto borrowing when depositing into vault.
        autoLendRedeem:
          type: boolean
          description: Whether to allow auto redeem lent assets when depositing into vault.
    VaultRedeemRequest:
      type: object
      title: VaultRedeemRequest
      description: Request payload for redeeming vault tokens.
      required:
      - vaultId
      properties:
        vaultId:
          type: integer
          format: uint32
          description: The vault ID to redeem from.
        vaultTokenQuantity:
          type: string
          format: decimal
          description: 'Amount of vault tokens to deposit to redeem USDC.

            If not specified, uses all available vault tokens for the redemptions.'
    VaultRedeemStatus:
      type: string
      description: Vault redeem status.
      enum:
      - Requested
      - Redeemed
      - Cancelled
    Vault:
      type: object
      title: Vault
      description: Public vault information.
      required:
      - id
      - vaultToken
      - symbol
      - mintsEnabled
      - redeemsEnabled
      - minMintQuantity
      - minRedeemTokens
      - redeemDelayMs
      - tokenStepSize
      properties:
        id:
          type: integer
          format: uint32
          description: Unique identifier for the vault.
        vaultToken:
          type: string
          description: The asset that represents shares in this vault.
        symbol:
          type: string
          description: The symbol used for minting and redeeming vault tokens.
        mintsEnabled:
          type: boolean
          description: Whether the vault is currently accepting mints.
        redeemsEnabled:
          type: boolean
          description: Whether the vault is currently allowing redeems.
        minMintQuantity:
          type: string
          format: decimal
          description: Minimum quantity required to mint vault tokens.
        minRedeemTokens:
          type: string
          format: decimal
          description: Minimum vault token amount required to redeem.
        redeemDelayMs:
          type: integer
          format: int64
          description: Minimum delay (in milliseconds) between redeem request and execution.
        tokenStepSize:
          type: string
          format: decimal
          description: Step size for vault token quantities.
        remainingMintQuantity:
          type: string
          format: decimal
          description: Remaining vault tokens available to mint.
          default: '0'
    VaultRedeemCancelRequest:
      type: object
      title: VaultRedeemCancelRequest
      description: Request payload for canceling a vault redeem request.
      required:
      - vaultId
      properties:
        vaultId:
          type: integer
          format: uint32
          description: The vault ID to cancel the redeem request for.
    VaultRedeem:
      type: object
      title: VaultRedeem
      description: Vault redeem event from history.
      required:
      - status
      - id
      - vaultId
      - vaultTokenQuantity
      - timestamp
      properties:
        status:
          description: Status.
          allOf:
          - $ref: '#/components/schemas/VaultRedeemStatus'
          - description: Status.
        id:
          type: string
          description: Unique identifier for the redeem request.
        vaultId:
          type: integer
          format: uint32
          description: Vault ID.
        vaultTokenQuantity:
          type: string
          format: decimal
          description: Amount of vault tokens being redeemed.
        vaultToken:
          type: string
          description: The vault token asset (only present for redeemed events).
        symbol:
          type: string
          description: The symbol used for redeeming (only present for redeemed events).
        quantity:
          type: string
          format: decimal
          description: Amount returned (only present for redeemed events).
        nav:
          type: string
          format: decimal
          description: NAV at time of redeem (only present for redeemed events).
        reason:
          type: string
          description: Cancellation reason (only present for cancelled events).
        timestamp:
          type: integer
          format: int64
          description: Timestamp of the event in milliseconds.
    VaultNav:
      type: object
      title: VaultNav
      description: Live vault NAV data.
      required:
      - nav
      - twapNav
      - mintNav
      - redeemNav
      - vaultEquity
      - netEquity
      - tokenCirculatingSupply
      properties:
        nav:
          type: string
          format: decimal
          description: Current spot NAV per vault token.
        twapNav:
          type: string
          format: decimal
          description: Time-weighted average NAV per vault token.
        mintNav:
          type: string
          format: decimal
          description: 'NAV used for mints: max(nav, twap_nav).'
        redeemNav:
          type: string
          format: decimal
          description: 'NAV used for redeems: min(nav, twap_nav).'
        vaultEquity:
          type: string
          format: decimal
          description: Total vault account equity.
        netEquity:
          type: string
          format: decimal
          description: Net equity after haircuts applied.
        tokenCirculatingSupply:
          type: string
          format: decimal
          description: Total circulating supply of vault tokens.
        lastCrankTimestamp:
          type: integer
          format: int64
          description: Timestamp (ms) of the last NAV crank, if any.
x-tagGroups:
- name: Public Endpoints
  tags:
  - Assets
  - Borrow Lend Markets
  - Markets
  - System
  - Trades
- name: Authenticated Endpoints
  tags:
  - Account
  - Borrow Lend
  - Capital
  - Order
  - Position
  - RFQ
  - Strategy
- name: Websocket
  tags:
  - Streams