Orderly Strategy Vault API
REST API for Strategy Vault products: strategy pools, funds, and vault info, transaction history, claims, and fees.
REST API for Strategy Vault products: strategy pools, funds, and vault info, transaction history, claims, and fees.
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