Orderly Strategy Vault API

REST API for Strategy Vault products: strategy pools, funds, and vault info, transaction history, claims, and fees.

OpenAPI Specification

orderly-network-strategy-vault-openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: SV
  description: ""
  version: 1.0.0
tags:
  - name: public
  - name: private
paths:
  /v1/public/strategy_vault/sp/info:
    get:
      summary: Get Strategy Provider’s Info
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/sp/info`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpInfoResponse"
  /v1/public/strategy_vault/sp/transaction_history:
    get:
      summary: Get Strategy Provider Transaction History
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/sp/transaction_history`

        View Strategy Provider Transaction History
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: type
          in: query
          description: "`deposit` / `withdrawal` / return all if empty"
          required: false
          schema:
            type: string
        - name: chain_id
          in: query
          description: "return all if empty"
          required: false
          schema:
            type: string
        - name: source
          in: query
          description: "`wallet` / `broker_id` / return all if empty"
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionHistoryResponse"
  /v1/public/strategy_vault/sp/claim_info:
    get:
      summary: Get Strategy Provider Claimable Amount
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/sp/claim_info`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: chain_id
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClaimInfoResponse"
  /v1/public/strategy_vault/sp/fees_history:
    get:
      summary: Get Strategy Provider Fee History
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/sp/fees_history`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpFeesHistoryResponse"
  /v1/public/strategy_vault/fund/info:
    get:
      summary: Get Strategy Fund Details
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/fund/info`

        View Strategy Fund Info
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FundInfoResponse"
  /v1/public/strategy_vault/fund/period_info:
    get:
      summary: Get Period History and Fund Period Instructions
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/fund/period_info`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: period_number
          in: query
          description: ""
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PeriodInfoResponse"
  /v1/public/strategy_vault/fund/pending_transactions:
    get:
      summary: Get Preview Users Pending Requests
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/fund/pending_transactions`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PendingTransactionsResponse"
  /v1/public/strategy_vault/vault/info:
    get:
      summary: Get Strategy Vault Info
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/info`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: "return all if empty"
          required: false
          schema:
            type: string
        - name: status
          in: query
          description: "return all if no filter"
          required: false
          schema:
            type: string
        - name: broker_ids
          in: query
          description: "can filter multiple broker_id per query."
          required: false
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultInfoResponse"

  /v1/public/strategy_vault/vault/performance:
    get:
      summary: Get Strategy Vault Performance
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/performance`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultPerformanceResponse"
  /v1/public/strategy_vault/vault/performance_chart:
    get:
      summary: Get Strategy Vault TVL/PnL History
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/performance_chart`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: type
          in: query
          description: "`PNL` / `TVL`"
          required: true
          schema:
            type: string
        - name: time_range
          in: query
          description: "`24h` / `7d` / `30d` / `all_time`"
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultPerformanceChartResponse"
  /v1/public/strategy_vault/vault/overall_info:
    get:
      summary: Get Overall Statistics of all Strategy Vaults
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/overall_info`
      tags:
        - public
      parameters:
        - name: broker_ids
          in: query
          description: "return all if no filter. can filter multiple broker_id per query"
          required: false
          example: "orderly,woofi_pro,aden"
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultOverallInfoResponse"
  /v1/public/strategy_vault/user/overall_info:
    get:
      summary: Get User Overall Statistics across Strategy Vaults
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/user/overall_info`
      tags:
        - public
      parameters:
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UserOverallInfoResponse"
  /v1/public/strategy_vault/vault/liquidator_history:
    get:
      summary: Get Strategy Vault Liquidator History
      description: |

        Liquidated positions of liquidator

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/liquidator_history`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: symbol
          in: query
          description: "only 1 at a time"
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultLiquidatorHistoryResponse"
  /v1/public/strategy_vault/vault/positions:
    get:
      summary: Get Strategy Vault Positions
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/positions`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultPositionsResponse"
  /v1/public/strategy_vault/vault/open_orders:
    get:
      summary: Get Strategy Vault Open Orders
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/open_orders`

        Includes both normal & algo orders
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: symbol
          in: query
          description: "one symbol at a time"
          required: false
          schema:
            type: string
        - name: sort_by
          in: query
          description: "`ascending` / `descending` (default) on updated_time"
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultOpenOrdersResponse"
  /v1/public/strategy_vault/vault/trade_history:
    get:
      summary: Get Strategy Vault Trade History
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/trade_history`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: symbol
          in: query
          description: "one symbol at a time"
          required: false
          schema:
            type: string
        - name: sort_by
          in: query
          description: "`ascending` / `descending` (default)"
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultTradeHistoryResponse"
  /v1/public/strategy_vault/vault/order_history:
    get:
      summary: Get Strategy Vault Order History
      description: |

        Include both normal & algo orders

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/vault/order_history`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: symbol
          in: query
          description: "one symbol at a time"
          required: false
          schema:
            type: string
        - name: sort_by
          in: query
          description: "`ascending` / `descending` (default) on updated_time"
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VaultOrderHistoryResponse"
  /v1/public/strategy_vault/lp/info:
    get:
      summary: Get Liquidity Provider Info
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/lp/info`
      tags:
        - public
      parameters:
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: vault_id
          in: query
          description: "return all if empty"
          required: false
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LpInfoResponse"
  /v1/public/strategy_vault/lp/fees_history:
    get:
      summary: Get Liquidity Provider Fee History
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/lp/fees_history`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
        - name: start_t
          in: query
          description: "start time range that wish to query"
          required: false
          schema:
            type: number
        - name: end_t
          in: query
          description: "end time range that wish to query"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LpFeesHistoryResponse"
  /v1/public/strategy_vault/lp/performance:
    get:
      summary: Get Liquidity Provider Performance
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/lp/performance`

        Liquidity Provider’s performance in a vault
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LpPerformanceResponse"
  /v1/public/strategy_vault/lp/performance_chart:
    get:
      summary: Get Liquidity Provider TVL/PnL History
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/lp/performance_chart`

        Liquidity Provider’s TVL/PnL history in a vault
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: type
          in: query
          description: "`PNL` / `TVL`"
          required: true
          schema:
            type: string
        - name: time_range
          in: query
          description: "`24h` / `7d` / `30d` / `all_time`"
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LpPerformanceChartResponse"
  /v1/public/strategy_vault/lp/transaction_history:
    get:
      summary: Get Liquidity Provider Transaction History
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/lp/transaction_history`
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: type
          in: query
          description: "`deposit` / `withdrawal` / return all if empty"
          required: false
          schema:
            type: string
        - name: chain_id
          in: query
          description: "return all if empty"
          required: false
          schema:
            type: string
        - name: source
          in: query
          description: "`wallet` / `broker_id` / return all if empty"
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: "the page you wish to query start from 1"
          required: false
          schema:
            type: number
        - name: size
          in: query
          description: "the page size you wish to query (max: 500)"
          required: false
          schema:
            type: number
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LpTransactionHistoryResponse"

  /v1/public/strategy_vault/lp/claim_info:
    get:
      summary: Get Liquidity Provider Claim Info
      description: |

        **Limit: 10 requests per second per IP address**

        `GET /v1/public/strategy_vault/lp/claim_info`

        The claimable asset amount on a chain from the processed withdrawal request(s) of a vault
      tags:
        - public
      parameters:
        - name: vault_id
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: wallet_address
          in: query
          description: ""
          required: true
          schema:
            type: string
        - name: chain_id
          in: query
          description: ""
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LpClaimInfoResponse"
components:
  schemas:
    BasicResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        timestamp:
          type: number
          example: 1702989203989
    SpInfoResponse:
      allOf:
        - $ref: "#/components/schemas/BasicResponse"
        - type: object
          properties:
            data:
              type: object
              properties:
                sp_nav:
                  type: number
                  example: 56789.0
                sp_tvl:
                  type: number
                  example: 56789.0
                sp_total_strategy_shares:
                  type: number
                  example: 12700.000000
                sp_strategy_shares_pct:
                  type: number
                  example: 0.12
                available_strategy_shares:
                  type: number
                  example: 12458.05
                sp_lifetime_net_pnl:
                  type: number
                  example: 8888.00
                potential_pnl:
                  type: number
                  example: 2567.730000
                sp_reserved_collateral:
                  type: number
                  example: 50000.000000
                sp_min_shares_pct:
                  type: number
                  example: 0.01
                total_performance_fees:
                  type: number
                  example: 1.24
    FundInfoResponse:
      allOf:
        - $ref: "#/components/schemas/BasicResponse"
        - type: object
          properties:
            data:
              type: object
              properties:
                fund_nav:
                  type: number
                  example: 123456789.000000
                fund_lifetime_net_pnl:
                  type: number
                  example: 123456.000000
                fund_total_strategy_shares:
                  type: number
                  example: 123456789.000000
                est_strategy_share_price:
                  type: number
                  example: 1.500000
                broker_id:
                  type: string
                  example: "orderly"
                current_period_number:
                  type: number
                  example: 4
                period_start_time:
                  type: number
                  example: 1738454400000
                period_end_time:
                  type: number
                  example: 1738540800000
                period_duration:
                  type: number
                  example: 60
                performance_fee_rate:
                  type: number
                  example: 0.00
    TransactionHistoryResponse:
      allOf:
        - $ref: "#/components/schemas/BasicResponse"
        - type: object
          properties:
            data:
              type: object
              properties:
                meta:
                  type: object
                  properties:
                    total:
                      type: number
                      example: 9
                    records_per_page:
                      type: number
                      example: 20
                    current_page:
                      type: number
                      description: "start from 1"
                      example: 1
                rows:
                  type: array
                  items:
                    type: object
                    properties:
                      created_time:
                        type: number
                      period_number:
                        type: number
                      type:
                        type: string
                      source:
                        type: string
                      status:
                        type: string
                      est_assign_period_time:
                        type: number
                      unlock_time:
                        type: number
                      est_claim_time:
                        type: number
                      chain_id:
                        type: string
                      txn_hash:
                        type: string
                      txn_hash_claim:
                        type: string
                      shares_change:
                        type: number
                      amount_change:
                        type: number
                      transaction_nonce:
                        type: string
                        description: "will return string value if the source != wallet; will return null if source == wallet"
                    example:
                      - created_time: 1734652800000
                        period_number: 4
                        type: "withdrawal"
                        source: "wallet"
                        status: "claimable"
                        est_assign_period_time: null
                        unlock_time: null
                        est_claim_time: null
                        chain_id: "1"
                        txn_hash: "0x4dbc4b0cc722d2f401e9a32fe5be7a52c6834785e2084ac78447e94735b8274d"
                        txn_hash_claim: null
                        shares_change: 60.000000
                        amount_change: 88.009000
                        transaction_nonce: null
                      - created_time: 1734566400000
                        period_number: 2
                        type: "withdrawal"
                        source: "wallet"
                        status: "claimed"
                        est_assign_period_time: null
                        unlock_time: null
                        est_claim_time: null
                        chain_id: "1"
                        txn_hash: "0x14a8248f38c2530011ba4c826eb1f1db8dad05025be24461bb42f1bc540ac42e"
                        txn_hash_claim: "0x25b973f86b370e9f1f4b5244242ab8ade3bdbfc1068b74a9b17a2c345a64080f"
                        shares_change: 400.000000
                        amount_change: 572.001000
                        transaction_nonce: null
                      - created_time: 1734480000000
                        period_number: 1
                        type: "deposit"
                        source: "WOOFi Pro"
                        status: "available"
                        est_assign_period_time: null
                        unlock_time: null
                        est_claim_time: null
                        chain_id: "1"
                        txn_hash: "0x14a8248f38c2530011ba4c826eb1f1db8dad05025be24461bb42f1bc540ac42e"
                        txn_hash_claim: null
                        shares_change: 465.830000
                        amount_change: 2800.004000
                        transaction_nonce: null
    ClaimInfoResponse:
      allOf:
        - $ref: "#/components/schemas/BasicResponse"
        - type: object
          properties:
            data:
              type: object
              properties:
                claimable_amount:
                  type: number
                  example: 10087.260000
    SpFeesHistoryResponse:
      allOf:
        - $ref: "#/components/schemas/BasicResponse"
        - type: object
          properties:
            meta:
              type: object
              properties:
                total:
                  type: number
                  example: 3
                records_per_page:
                  type: number
                  example: 20
                current_page:
                  type: number
                  description: "start from 1"
                  example: 1
            data:
              type: object
              properties:
                rows:
                  type: array
                  items:
                    type: object
                    properties:
                      created_time:
                        type: number
                      period_number:
                        type: number
                      type:
                        type: string
                      shares_change:
                        type: number
                      amount_change:
                        type: number
              example:
                - created_time: 1734652800000
                  period_number: 2
                  type: "performance_fee"
                  shares_change: 1.24
                  amount_change: 1.24
                - created_time: 1734566400000
                  p

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/orderly-network/refs/heads/main/openapi/orderly-network-strategy-vault-openapi-original.yml