Changelogs
Introduction
Communication Protocol
HTTPS Protocol.
Encoding
The request and response data code for all interfaces is formatted according to UTF-8. Content for responses in all interfaces is formatted according to JSON.
API Request Structure
| Name | Description | Notes |
|---|---|---|
| API Address | Address for API interface | Eg. https://mapi.matrixport.com/fixed-income/api/v2/products |
| Public Parameters | Universal parameters for all interfaces | |
| Private Parameter | Special parameters for each interface | See each API interface description for details |
API hosts (production)
- REST API:
https://mapi.matrixport.com
Public Parameters
Public parameters are used for interface authentication. Unless otherwise necessary, these parameters will be omitted for each interface. Each request must contain these parameters unless stated otherwise.
| Parameter Name | Type | Mandatory | Limit | Description |
|---|---|---|---|---|
| x-request-id | string | N | - | Globally unique trace id, used for tracing requests, Strongly recommended to pass in the request header. |
Response Format Strings
All interface response values are formatted according to JSON. Unless otherwise stated, all request return values contain the following text strings:
| Parameter Name | Type | Description |
|---|---|---|
| code | int | Interface call status, (ie. error code): 0: Normal, Others: Call error. |
| message | string | Error message is description of API errors |
| data | object | Results will return as defined by each interface |
Authentication
Strategy API
Product List For Clients
Interface Description
- This API endpoint fetches a page of products that can be displayed to a certain user based on various filters.
GET
/strategy/api/v2/productsRequest Parameters
- Request Parameter Location: query_string
- Additional Explanation: The filter parameters are chosen based on conjunction relationship, which means only products that match all the requirement specified in the filter parameters are chosen.
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| run_time_day | integer | N | query | Number of runtime days for fetched products |
| currency | string | N | query | Available currencies which the products supported: eg. USDT, USDC, BTC, ETH, DAI, DOGE, DOT, LTC. Empty values indicate products for all currencies |
| strategy_id | string | N | query | choose only the products that have the specified strategy id |
| is_collect | BoolFlag(integer) | N | query | Flag indicating if only collected/favorite products should be returned |
| sort_strategy_id | string | N | query | ID of sorting strategy |
| is_mine | BoolFlag(integer) | N | query | Flag indicating if only the private products created by the user should be returned |
| product_id | string | N | query | only choose the product that has the specific product id |
| recommendation_template_type | integer | N | query | Type of recommendation template, eg. RecommendationTemplateType=1,MyExclusiveTemplateType=2 |
| roi | string | N | query | If this value is not empty, only the products that have larger roi would be choose |
| max_drawdown_since_inception | string | N | query | If this value is not empty, only the products that have less drop down since inception rate would be choose |
| is_invested | BoolFlag(integer) | N | query | Flag indicating if only products invested by the user should be fetched |
| is_viewed | BoolFlag(integer) | N | query | Flag indicating if only products which have been viewed by the user should be fetched |
| include_nav_chart | BoolFlag(integer) | N | query | Flag indicating if NAV chart should be included in the response |
| sort_rule | integer | N | query | Sorting rule for the products, for details please check enums part |
| sort_order | integer | N | query | Determine whether the fetched products should be sort in an asc or desc order eg.ProductSortOrderAsc=1, ProductSortOrderDesc=2 |
| is_private_strategy | BoolFlag(integer) | N | query | Flag indicating if only private strategy products should be returned |
| not_included_currencies | []string | N | query | only choose the products of which the investment currencies are not in the not_included_currencies list |
| has_activity | BoolFlag(integer) | N | query | Flag indicating if only products with activity should be returned |
| limit | integer | N | query | maximum of products displayed in a page |
| offset | integer | N | query | the offset indicates the start count of products in a page, by default it is zero |
- Request Example
#Using `curl` to send a POST request:
curl "https://mapi.matrixport.com/strategy/api/v2/products?currency=USDT&user_id=123&run_time_day=30&is_collect=true&sort_strategy_id=abc"
Response Results
- The response string provides detailed information about the products. General string text has been omitted for brevity.
Response Data Structure & Description:
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Response code |
| data.count | integer | Number of items |
| data.items | array | List of items |
| data.items.access_codes | array | List of access codes (only for private strategy) |
| data.items.access_codes.access_code_string | string | Access code string |
| data.items.access_codes.access_count | integer | Access count |
| data.items.access_codes.code_access_limit | integer | Code access limit |
| data.items.access_codes.invested | integer | Invested amount |
| data.items.access_codes.is_promotion | boolean | Is this code used for agent promotion |
| data.items.access_codes.note | string | Note |
| data.items.access_codes.personal_quota | string | Personal quota for investment using this code |
| data.items.access_codes.portfolio_id | string | Portfolio ID |
| data.items.access_codes.product_id | string | Product ID |
| data.items.access_codes.product_name | string | Product name |
| data.items.access_codes.user_id | string | User ID |
| data.items.apy | string | Annual percentage yield |
| data.items.apy1year | string | 1-year annual percentage yield |
| data.items.apy_180d | string | 180-day annual percentage yield |
| data.items.apy_30d | string | 30-day annual percentage yield |
| data.items.apy_7d | string | 7-day annual percentage yield |
| data.items.apy_90d | string | 90-day annual percentage yield |
| data.items.apy_display_rule | integer | APY display rule, used to control for details please check enums part |
| data.items.apy_time_milli | integer | the latest annual percentage yield time in milliseconds |
| data.items.aum | string | Assets under management |
| data.items.category_proportions | array | List of category proportions |
| data.items.category_proportions.category | string | Category eg. Spot, Futures, Idle |
| data.items.category_proportions.proportion | string | Proportion |
| data.items.category_proportions.value | string | Value |
| data.items.category_proportions.value_usd | string | Value in USD |
| data.items.close_period_start_time | integer | Close period start time |
| data.items.currency | string | Currency of the product |
| data.items.display_name | array | List of display names |
| data.items.display_name.language | string | Language code |
| data.items.display_name.text | string | Display name in the specified language |
| data.items.expected_apy | string | Expected APY |
| data.items.has_private_strategy_activated | integer(BoolFlag) | Has private strategy activated |
| data.items.inception_to_date_apy | string | Inception-to-date APY |
| data.items.invested | integer | Invested amount |
| data.items.is_available | boolean | Is available means whether product is visitable to user (only for private strategy) |
| data.items.is_collect | integer(BoolFlag) | Is this product collected by user |
| data.items.is_private_strategy | integer(BoolFlag) | Is private strategy |
| data.items.is_stop_raise | integer(BoolFlag) | Has the product in stop raising state |
| data.items.labels | array | List of labels for this product. |
| data.items.labels.language | string | Language code |
| data.items.labels.text | string | Label text in the specified language |
| data.items.listing_time | integer | Listing to the public time |
| data.items.max_drawdown_since_inception | string | Max drawdown since inception |
| data.items.minimum_activate_amount | string | Minimum subscription amount to activate this product(only for private strategy) |
| data.items.nav | string | Net asset value |
| data.items.nav_chart | array | List of NAV chart data |
| data.items.nav_chart.day_timestamp | integer | Day timestamp |
| data.items.nav_chart.nav | string | net asset value |
| data.items.number_of_x_day | integer | Number of x days,used in corporation with display rule to illustrate the apy to investor |
| data.items.pb_user_balance_usd | string | PB user balance in USD |
| data.items.pb_user_id | string | PB user ID |
| data.items.private_strategy_visibility | integer | Private strategy visibility. eg.PrivateStrategyVisibleToCodeHolder=0, PrivateStrategyFullyVisible=2 |
| data.items.product_activity | object | Product promotion activity information |
| data.items.product_activity.activity_description | array | Activity description |
| data.items.product_activity.activity_description.language | string | Language code |
| data.items.product_activity.activity_description.text | string | Description text in the specified language |
| data.items.product_activity.activity_link | array | Activity link |
| data.items.product_activity.activity_link.language | string | Language code |
| data.items.product_activity.activity_link.text | string | Link text in the specified language |
| data.items.product_activity.activity_title | array | Activity title |
| data.items.product_activity.activity_title.language | string | Language code |
| data.items.product_activity.activity_title.text | string | Title text in the specified language |
| data.items.product_activity.end_time | integer | Activity End time |
| data.items.product_activity.icon_description | array | Activity Icon description |
| data.items.product_activity.icon_description.language | string | Language code |
| data.items.product_activity.icon_description.text | string | Icon description text in the specified language |
| data.items.product_activity.icon_url | string | Icon URL |
| data.items.product_activity.id | integer | Activity ID |
| data.items.product_activity.product_id | string | Product ID |
| data.items.product_activity.start_time | integer | Start time |
| data.items.product_activity.status | integer | Activity status. eg.ProductActivityStatusInActive=1, ProductActivityStatusActive=2, ProductActivityStatusExpired=3 |
| data.items.product_id | string | Product ID |
| data.items.product_name | string | Product name |
| data.items.product_strategy | object | Customized product strategy info, used to display the investment strategy for the product, it could be aggressive or conservative |
| data.items.product_strategy.description | array | Product strategy description |
| data.items.product_strategy.description.language | string | Language code |
| data.items.product_strategy.description.text | string | Description text in the specified language |
| data.items.product_strategy.display_name | array | Product strategy display name |
| data.items.product_strategy.display_name.language | string | Language code |
| data.items.product_strategy.display_name.text | string | Display name in the specified language |
| data.items.product_strategy.introduce | array | Product strategy introduction |
| data.items.product_strategy.introduce.language | string | Language code |
| data.items.product_strategy.introduce.text | string | Introduction text in the specified language |
| data.items.product_strategy.strategy_id | string | Strategy ID |
| data.items.promotion_sentence | array | List of promotion sentences |
| data.items.promotion_sentence.language | string | Language code |
| data.items.promotion_sentence.text | string | Promotion sentence in the specified language |
| data.items.rcu_id | integer | risk control unit id,risk control unit can be regard as a minimum unit used to receive and process risk control information |
| data.items.return1year | string | 1-year return |
| data.items.return_180d | string | 180-day return |
| data.items.return_30d | string | 30-day return |
| data.items.return_7d | string | 7-day return |
| data.items.return_90d | string | 90-day return |
| data.items.return_since_inception | string | Return since inception |
| data.items.status | integer | Product Status. eg:ProductStatusUnListed=1, ProductStatusListed=2 |
| data.items.strategy_id | string | Strategy ID |
| data.items.trading_scope | array | List of trading scopes, trading scopes means the type of currency or instrument the product manger would like to invest |
| data.items.trading_scope.language | string | Language code |
| data.items.trading_scope.text | string | Trading scope text in the specified language |
| data.items.volatility | string | Volatility of product |
| data.items.window_end_time | integer | The latest open window batch end time |
| data.items.window_start_time | integer | The latest open window batch start time |
| data.items.x_day_apy | string | x-day APY,the x is set by product operation team |
| data.items.yearly_sharpe_ratio | string | Yearly Sharpe ratio |
| data.items.ytd_return | string | Year-to-date return |
| message | string | Message providing additional information about the response |
- Response Example
{
// integer, response code indicating success or error
"code": 0,
// string, message providing additional information about the response
"message": "",
"data": {
// integer, total number of products matching the query
"count": 23,
"items": [
{
// string, unique ID of the product
"product_id": "6820591484295766016",
// string, ID of the strategy associated with the product
"strategy_id": "strategy_001",
// string, name of the product
"product_name": "USDT Fixed Interest M0121",
"display_name": [
{
// string, language code
"language": "en",
// string, product name in the specified language
"name": "USDT Fixed Interest M0121"
}
],
// int64, timestamp when the product was listed
"listing_time": 1627021721000,
// string, currency in which the product is denominated
"currency": "USDT",
// int64, RCU ID associated with the product
"rcu_id": 12345,
// object, details of the product's strategy (null if not applicable)
"product_strategy": null,
"apy_display_rule": {
// integer, rule for displaying APY
"type": 1
},
// integer, number of days for which the APY is calculated
"number_of_x_day": 30,
// decimal, expected annual percentage yield
"expected_apy": "0.12",
// decimal, year-to-date return
"ytd_return": "0.1",
// decimal, maximum drawdown since inception
"max_drawdown_since_inception": "0.05",
// decimal, yearly Sharpe ratio
"yearly_sharpe_ratio": "1.5",
// decimal, APY calculated over X days
"x_day_apy": "0.08",
// decimal, 7-day APY
"apy_7d": "0.06",
// decimal, 30-day APY
"apy_30d": "0.07",
// decimal, 90-day APY
"apy_90d": "0.09",
// decimal, 180-day APY
"apy_180d": "0.1",
// decimal, 1-year APY
"apy1year": "0.11",
// decimal, APY since inception
"inception_to_date_apy": "0.12",
// decimal, 7-day return
"return_7d": "0.06",
// decimal, 30-day return
"return_30d": "0.07",
// decimal, 90-day return
"return_90d": "0.09",
// decimal, 180-day return
"return_180d": "0.1",
// decimal, 1-year return
"return1year": "0.11",
// decimal, return since inception
"return_since_inception": "0.12",
// decimal, latest APY
"apy": "0.12",
// int64, timestamp of the latest APY calculation
"apy_time_milli": 1627021721000,
// decimal, volatility of the product
"volatility": "0.2",
"promotion_sentence": [
{
// string, language code
"language": "en",
// string, promotional sentence in the specified language
"text": "High interest"
}
],
// boolean, flag indicating if the product is collected
"is_collect": true,
"labels": [
[
{
// string, language code
"language": "en",
// string, label text in the specified language
"text": "High interest"
}
]
],
// integer, status of the product: 0 - unknown, 1 - unlisted, 2 - listed
"status": 2,
// boolean, flag indicating if the product has stopped raising
"is_stop_raise": false,
// boolean, flag indicating if the product is a private strategy
"is_private_strategy": false,
// boolean, flag indicating if the private strategy has been activated
"has_private_strategy_activated": false,
// integer, visibility level of the private strategy
"private_strategy_visibility": 1,
// decimal, minimum amount required to activate the product
"minimum_activate_amount": "100.0",
// array, access codes for private portfolio (null if not applicable)
"access_codes": null,
// int64, timestamp when the close period starts
"close_period_start_time": 1627021721000,
"trading_scope": [
{
// string, language code
"language": "en",
// string, trading scope description in the specified language
"text": "Global"
}
],
// int64, timestamp when the investment window starts
"window_start_time": 1627021721000,
// int64, timestamp when the investment window ends
"window_end_time": 1627021721000,
// decimal, net asset value of the product
"nav": "1.0",
// array, NAV chart data (null if not applicable)
"nav_chart": null,
// boolean, flag indicating if the product is available
"is_available": true,
// integer, amount invested in the product
"invested": 1000,
// decimal, assets under management
"aum": "1000000.0",
// object, product activity details (null if not applicable)
"product_activity": null
}
]
}
}
Product Range Search
- Interface Description
This API endpoint retrieves product-related information by keyword search, supporting fuzzy or precise matching of product attributes (e.g., product code, name). It returns filtered product details such as basic information, strategy descriptions, yield data, and risk indicators.
Request Details
HTTP Method:
GETEndpoint:
/strategy/api/v2/product/range-searchRequest Parameter Location:
query_string(URL query parameters)Request Parameters
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| keyword | string | Y | query_string | Search keyword, used to match product-related attributes (e.g., product code like "RESES") |
- Request Example
Use curl to sends a GET request with the required keyword:
curl -X 'GET' \
'https://mapi.matrixport.com/strategy/api/v2/product/range-search?keyword=RESES' \
-H 'accept: application/json'
- Response Results
The response returns a structured JSON string containing status code, product search results (count, type, and detailed items), and additional message information.
- Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Return code: - 0: Request succeeded - Non-0: Request failed (specific code corresponds to error type) |
| data | object | Core search result data, including count, type, and product list |
| data.count | integer | Total number of products matching the search keyword |
| data.items | array | List of matched product details, each element corresponds to one product |
| data.items[].product_id | string | Unique product ID (e.g., "7366442319878500352") |
| data.items[].product_code | string | Short product code (e.g., "RESES"), often used for quick identification |
| data.items[].strategy_id | string | Unique ID of the strategy associated with the product |
| data.items[].product_name | string | Full product name (e.g., "dawnBDDreserve-share-USDT pay") |
| data.items[].display_name | array | Multilingual product display name |
| data.items[].display_name[].language | string | Language code (e.g., "en-US", "zh-CN", "zh-TW") |
| data.items[].display_name[].text | string | Product name in the specified language |
| data.items[].listing_time | integer | Product listing timestamp (milliseconds since Unix epoch, e.g., 1716912000000) |
| data.items[].nav_start_time | integer | Net Asset Value (NAV) calculation start timestamp (0 means not started) |
| data.items[].currency | string | Product denomination currency (e.g., "USDT") |
| data.items[].rcu_id | integer | RCU (Risk Control Unit) ID, used for risk classification |
| data.items[].pb_user_id | string | Associated PB (Prime Broker) user ID |
| data.items[].product_strategy | object | Strategy details associated with the product |
| data.items[].product_strategy.strategy_id | string | Unique strategy ID (consistent with strategy_id above) |
| data.items[].product_strategy.display_name | array | Multilingual strategy name |
| data.items[].product_strategy.display_name[].language | string | Language code |
| data.items[].product_strategy.display_name[].text | string | Strategy name in the specified language (e.g., "Arbitrage Strategy" for en-US) |
| data.items[].product_strategy.description | array | Multilingual brief strategy description |
| data.items[].product_strategy.description[].language | string | Language code |
| data.items[].product_strategy.description[].text | string | Brief strategy intro (e.g., "Taking advantage of different pricing in the market.") |
| data.items[].product_strategy.introduce | array | Multilingual detailed strategy introduction (supports HTML tags like <p>) |
| data.items[].product_strategy.introduce[].language | string | Language code |
| data.items[].product_strategy.introduce[].text | string | Detailed strategy content (e.g., explanation of arbitrage methods) |
| data.items[].apy_display_rule | integer | APY (Annual Percentage Yield) display rule identifier |
| data.items[].number_of_x_day | integer | Reference day count for yield calculation (e.g., 1 for daily yield) |
| data.items[].expected_apy | string | Expected APY (e.g., "0" for no expected yield) |
| data.items[].apy_7d | string | 7-day APY |
| data.items[].apy_30d | string | 30-day APY |
| data.items[].apy_60d | string | 60-day APY |
| data.items[].apy_90d | string | 90-day APY |
| data.items[].apy_180d | string | 180-day APY |
| data.items[].apy1year | string | 1-year APY |
| data.items[].inception_to_date_apy | string | APY since product inception |
| data.items[].apy_ytd | string | Year-to-date (YTD) APY |
| data.items[].return_7d | string | 7-day return rate |
| data.items[].return_30d | string | 30-day return rate |
| data.items[].return_since_inception | string | Return rate since product inception |
| data.items[].ytd_return | string | Year-to-date (YTD) return rate |
| data.items[].max_drawdown_since_inception | string | Maximum drawdown since product inception |
| data.items[].yearly_sharpe_ratio | string | Annual Sharpe ratio (risk-adjusted return indicator) |
| data.items[].sharpe_ratio_7d | string | 7-day Sharpe ratio |
| data.items[].sortino_ratio | string | Sortino ratio (focuses on downside risk) |
| data.items[].volatility | string | Product volatility (measures price fluctuation) |
| data.items[].maximum_drawdown_7d | string | 7-day maximum drawdown |
| data.items[].risk_level | integer | Risk level (0 = low risk, higher values = higher risk; specific mapping depends on business rules) |
| data.items[].status | integer | Product status (e.g., 2 = active; specific value mapping depends on business definition) |
| data.items[].is_stop_raise | integer | Whether fund-raising is stopped: - 2 = not stopped - Other values = stopped |
| data.items[].is_private_strategy | integer | Whether it is a private strategy: - 2 = public - Other values = private |
| data.items[].is_available | boolean | Whether the product is available for search/operation |
| data.items[].is_purchasable | boolean | Whether the product is purchasable |
| data.items[].invested | integer | User's investment status (e.g., 0 = not invested) |
| data.items[].Other Info | - | - |
| data.items[].aum | string | Product AUM (Assets Under Management) in denomination currency |
| data.items[].aum_usd | string | Product AUM converted to USD |
| data.items[].minimum_activate_amount | string | Minimum activation amount (e.g., "0.0001" USDT) |
| data.items[].fund_manager_name | string | Fund manager name (empty if not set) |
| data.items[].nav | string | Latest Net Asset Value (NAV) |
| data.items[].latest_nav_time_milli | integer | Timestamp of the latest NAV update (0 means not updated) |
| data.items[].jump_url | string | Deep link for app navigation (e.g., Flutter route to product detail page) |
| message | string | Additional response information: - Empty string: Request succeeded - Non-empty: Error message or prompt (e.g., "Keyword cannot be empty") |
- Response Example
{
"code": 0,
"data": {
"count": 1,
"type": 1,
"items": [
{
"product_id": "7366442319878500352",
"product_code": "RESES",
"strategy_id": "7366442315147325440",
"product_name": "dawnBDDreserve-share-USDT pay",
"display_name": [
{
"language": "en-US",
"text": "reserve-share-USDT pay"
},
{
"language": "zh-CN",
"text": "reserve-share-USDT pay"
},
{
"language": "zh-TW",
"text": "reserve-share-USDT pay"
}
],
"listing_time": 1716912000000,
"nav_start_time": 0,
"currency": "USDT",
"rcu_id": 7880,
"pb_user_id": "3156985",
"product_strategy": {
"strategy_id": "7366442315147325440",
"display_name": [
{
"language": "en-US",
"text": "Arbitrage Strategy"
},
{
"language": "zh-CN",
"text": "套利策略"
},
{
"language": "zh-TW",
"text": "套利策略"
}
],
"description": [
{
"language": "en-US",
"text": "Taking advantage of different pricing in the market."
},
{
"language": "zh-CN",
"text": "利用市场的不同定价来获取风险较低的利润策略"
},
{
"language": "zh-TW",
"text": "利用市場的不同定價來獲取風險較低的利潤策略"
}
],
"introduce": [
{
"language": "en-US",
"text": "<p>The Arbitrage strategy seeks to profit from market volatility by skilfully exploiting price differentials in the cryptocurrency market. The strategy encompasses various forms of arbitrage, including market arbitrage, cross-exchange arbitrage and spot arbitrage, to maximise market opportunities through real-time data analysis and execution of quick trades. Positions and strategies are dynamically adjusted to seek relatively stable returns while reducing market risk. This enables the cryptocurrency strategy to achieve relatively stable investment performance under different market conditions.</p>"
},
{
"language": "zh-CN",
"text": "<p>套利策略通过巧妙利用加密货币市场的价格差异,以期在市场波动中获得利润。该策略涵盖各种套利形式,包括市场套利、跨交易所套利和期现套利,通过实时数据分析和执行快速交易来最大程度地利用市场机会。通过动态调整仓位和策略,以追求相对稳定的回报,同时降低市场风险。这使得加密资币策略在不同市场状况下都能够实现较为稳定的投资表现。</p>"
},
{
"language": "zh-TW",
"text": "<p>套利策略通過巧妙利用加密貨幣市場的價格差異,以期在市場波動中獲得利潤。該策略涵蓋各種套利形式,包括市場套利、跨交易所套利和期現套利,通過實時數據分析和執行快速交易來最大程度地利用市場機會。通過動態調整倉位和策略,以追求相對穩定的回報,同時降低市場風險。這使得加密資幣策略在不同市場狀況下都能夠實現較為穩定的投資表現。</p>"
}
]
},
"apy_display_rule": 0,
"number_of_x_day": 1,
"expected_apy": "0",
"max_drawdown_since_inception": "0",
"yearly_sharpe_ratio": "0",
"x_day_apy": "0",
"apy_7d": "0",
"apy_30d": "0",
"apy_60d": "0",
"apy_90d": "0",
"apy_180d": "0",
"apy1year": "0",
"inception_to_date_apy": "0",
"apy_ytd": "0",
"return_7d": "0",
"return_30d": "0",
"return_60d": "0",
"return_90d": "0",
"return_180d": "0",
"return1year": "0",
"return_since_inception": "0",
"ytd_return": "0",
"sharpe_ratio_7d": "0",
"sharpe_ratio_30d": "0",
"sharpe_ratio_60d": "0",
"sharpe_ratio_90d": "0",
"sharpe_ratio_180d": "0",
"sharpe_ratio_1y": "0",
"sharpe_ratio_ytd": "0",
"sharpe_ratio_since_inception": "0",
"sharpe_ratio_by_bond_yield_7d": "0",
"sharpe_ratio_by_bond_yield_30d": "0",
"sharpe_ratio_by_bond_yield_60d": "0",
"sharpe_ratio_by_bond_yield_90d": "0",
"sharpe_ratio_by_bond_yield_180d": "0",
"sharpe_ratio_by_bond_yield_1y": "0",
"sharpe_ratio_by_bond_yield_ytd": "0",
"sharpe_ratio_by_bond_yield_since_inception": "0",
"sortino_ratio_7d": "0",
"sortino_ratio_30d": "0",
"sortino_ratio_60d": "0",
"sortino_ratio_90d": "0",
"sortino_ratio_180d": "0",
"sortino_ratio_1y": "0",
"sortino_ratio_ytd": "0",
"sortino_ratio": "0",
"sortino_ratio_by_bond_yield_7d": "0",
"sortino_ratio_by_bond_yield_30d": "0",
"sortino_ratio_by_bond_yield_60d": "0",
"sortino_ratio_by_bond_yield_90d": "0",
"sortino_ratio_by_bond_yield_180d": "0",
"sortino_ratio_by_bond_yield_1y": "0",
"sortino_ratio_by_bond_yield_ytd": "0",
"sortino_ratio_by_bond_yield_since_inception": "0",
"popularity_value_7d": "0",
"popularity_value_30d": "0",
"popularity_value_60d": "0",
"popularity_value_90d": "0",
"popularity_value_180d": "0",
"popularity_value_1y": "0",
"popularity_value_inception": "0",
"popularity_value_ytd": "0",
"maximum_drawdown_7d": "0",
"maximum_drawdown_30d": "0",
"maximum_drawdown_60d": "0",
"maximum_drawdown_90d": "0",
"maximum_drawdown_180d": "0",
"maximum_drawdown_1y": "0",
"maximum_since_inception": "0",
"maximum_drawdown_ytd": "0",
"apy": "0",
"apy_time_milli": 0,
"volatility": "0",
"promotion_sentence": null,
"is_collect": 2,
"labels": null,
"status": 2,
"is_stop_raise": 2,
"is_private_strategy": 2,
"has_private_strategy_activated": 0,
"private_strategy_visibility": 0,
"minimum_activate_amount": "0.0001",
"access_codes": null,
"close_period_start_time": 0,
"trading_scope": null,
"fund_manager_name": "",
"window_start_time": 0,
"window_end_time": 0,
"nav": "1",
"latest_nav_time_milli": 0,
"nav_chart": null,
"is_available": true,
"is_purchasable": true,
"invested": 0,
"aum": "0",
"aum_usd": "0",
"product_activity": null,
"category_proportions": null,
"pb_user_balance_usd": "0",
"is_self_operated": 2,
"is_customized": 2,
"risk_level": 0,
"fund_manager_user_id_for_community": "3157004",
"is_display_deposit_risk_popup_window": 2,
"deposit_popup_window_i18n": null,
"jump_url": "flutter://open?category=%2Ffund2&route=%2Fdetail¶ms=%7B%22product%22%3A%20%227366442319878500352%22%7D",
"user_id": ""
}
]
},
"message": ""
}
Get Product Detail
Interface Description
This API endpoint fetches details of a specific strategy product ID.
GET
/strategy/api/v2/productRequest Parameters
- Request Parameter Location: query_string
| Parameter Name | Type | Mandatory | location | Description |
|---|---|---|---|---|
| product_id | string | Y | query | ID of the product to be fetched |
- Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \\
'https://mapi.matrixport.com/strategy/api/v2/product?product_id=7213729255023566848' \\
-H 'accept: application/json' \\
-H 'USER-ID: request user id'
Response Results
- The response string provides detailed information about the products. General string text has been omitted for brevity.
Response Data Structure & Description:
- additional explanation:
- the fields description of product info in product activity is omitted, as all of fields have already explained in
data fields
- how to calculate the next bill sharing time?
- First, use the previous performance bill date (or the product creation date if there has never been a performance extraction) , add the profit_bill_cycle_month to get the month of the next expected profit sharing time. Then, check if the day of the month of the previous sharing date is greater than the profit_bill_cycle_day. If it is not greater, the day of the month for the next expected profit sharing time will be the profit_bill_cycle_day. Otherwise, the month of the next expected profit sharing time will be pushed forward by one month. After determining the date of the next profit statement, set the time to 00:00 on that date for the next profit sharing bill time.
- Example: If the previous profit sharing date was August 15th, profit_bill_cycle_date is set to 16, and profit_bill_cycle_month is set to 1, the next profit sharing bill time will be 00:00 on September 16th. If profit_bill_cycle_day is 14, the next profit sharing bill time will be 00:00 on October 14th.
JSON Field Description Document
| Field Path | Data Type | Field Description |
|---|---|---|
| code | Number | API return status code. 0 usually indicates a successful request, while non-0 indicates a failed request |
| message | String | API return message. It is usually an empty string for successful requests and contains a specific error description for failed requests. |
| data.absolute_return | String | Absolute return. The specific return value is stored as a string. |
| data.apy_7d | String | 7-day Annual Percentage Yield (APY). The yield value is stored as a string. |
| data.apy_30d | String | 30-day Annual Percentage Yield (APY). The yield value is stored as a string. |
| data.apy_60d | String | 60-day Annual Percentage Yield (APY). The yield value is stored as a string. |
| data.apy_90d | String | 90-day Annual Percentage Yield (APY). The yield value is stored as a string. |
| data.apy_180d | String | 180-day Annual Percentage Yield (APY). The yield value is stored as a string. |
| data.apy_display_rule | Number | APY display rule identifier. Different values correspond to different display logics |
| data.apy_ytd | String | Year-to-Date (YTD) Annual Percentage Yield (APY). The yield value is stored as a string. |
| data.apy1year | String | 1-year Annual Percentage Yield (APY). The yield value is stored as a string. |
| data.bench_mark_apy_1y | String | Benchmark 1-year Annual Percentage Yield (APY), used to compare product performance. Stored as a string. |
| data.bench_mark_apy_7d | String | Benchmark 7-day Annual Percentage Yield (APY), used to compare product performance. Stored as a string. |
| data.bench_mark_apy_30d | String | Benchmark 30-day Annual Percentage Yield (APY), used to compare product performance. Stored as a string. |
| data.bench_mark_apy_60d | String | Benchmark 60-day Annual Percentage Yield (APY), used to compare product performance. Stored as a string. |
| data.bench_mark_apy_90d | String | Benchmark 90-day Annual Percentage Yield (APY), used to compare product performance. Stored as a string. |
| data.bench_mark_apy_180d | String | Benchmark 180-day Annual Percentage Yield (APY), used to compare product performance. Stored as a string. |
| data.bench_mark_apy_since_inception | String | Benchmark Annual Percentage Yield (APY) since inception, used to compare product performance. Stored as a string. |
| data.bench_mark_apy_ytd | String | Benchmark Year-to-Date (YTD) Annual Percentage Yield (APY), used to compare product performance. Stored as a string. |
| data.bench_mark_return_1y | String | Benchmark 1-year return, used to compare product performance. Stored as a string. |
| data.bench_mark_return_7d | String | Benchmark 7-day return, used to compare product performance. Stored as a string. |
| data.bench_mark_return_30d | String | Benchmark 30-day return, used to compare product performance. Stored as a string. |
| data.bench_mark_return_60d | String | Benchmark 60-day return, used to compare product performance. Stored as a string. |
| data.bench_mark_return_90d | String | Benchmark 90-day return, used to compare product performance. Stored as a string. |
| data.bench_mark_return_180d | String | Benchmark 180-day return, used to compare product performance. Stored as a string. |
| data.bench_mark_return_since_inception | String | Benchmark return since inception, used to compare product performance. Stored as a string. |
| data.bench_mark_return_ytd | String | Benchmark Year-to-Date (YTD) return, used to compare product performance. Stored as a string. |
| data.bind_code | String | Binding code, used as an identifier to associate with other systems or functions. An empty string indicates no binding. |
| data.bit_coin_performance | String | Bitcoin-related performance value. |
| data.btc_perf_start_time | Number | Start time for Bitcoin performance data statistics, stored as a millisecond-level Unix timestamp. 0 indicates not set. |
| data.calmar_ratio | String | Calmar Ratio (a risk-adjusted return indicator; a higher value indicates better risk-adjusted returns). Stored as a string. |
| data.close_period_end_at_time | Number | Lock-up period end time, stored as a millisecond-level Unix timestamp. 0 indicates no lock-up period or not set. |
| data.close_period_start_time | Number | Lock-up period start time, stored as a millisecond-level Unix timestamp. 0 indicates no lock-up period or not set. |
| data.code | String | Internal product code. An empty string may indicate unassigned or a special scenario. |
| data.created_at | Number | Data creation time, stored as a millisecond-level Unix timestamp. The corresponding specific date can be queried using a timestamp conversion tool. |
| data.currency | String | Product pricing currency type. Here it is USDT (Tether). |
| data.deposit_popup_window_i18n | Null | Internationalization (i18n) configuration for the deposit popup window. null indicates no i18n content configured for the popup window. |
| data.display_name | Array | Array of multi-language display names for the product. Each element contains language (language code, e.g., en-US, zh-CN) and text (product name in the corresponding language). |
| data.display_name[].language | String | Language code, following ISO language code standards (e.g., en-US for English-US, zh-CN for Chinese-Mainland China, zh-TW for Chinese-Taiwan China). |
| data.display_name[].text | String | Product display name in the corresponding language. |
| data.expected_apy | String | Expected Annual Percentage Yield (APY). The expected return value is stored as a string. |
| data.fm_performance_fee_mode | Number | Fund Manager (FM) performance fee calculation mode identifier. |
| data.fm_performance_fee_rate | String | Fund Manager (FM) performance fee rate, stored as a string. Here, "0.05" indicates 5%. |
| data.fm_platform_fixed_fee_rate | String | Fund Manager (FM) platform fixed fee rate, stored as a string. Here, "0.001" indicates 0.1%. |
| data.fund_manager | Object | Fund manager information object, including detailed information such as avatar, ID, and name. |
| data.fund_manager.avatar | String | Fund manager's avatar image URL. An empty string indicates no avatar set. |
| data.fund_manager.fund_manager_id | String | Unique identifier ID of the fund manager, used to associate fund manager-related data. |
| data.fund_manager.name | String | Fund manager's name. |
| data.fund_manager.network_group_id | String | ID of the network group that the fund manager belongs to. An empty string indicates no affiliation with a network group. |
| data.fund_manager.pb_strategy_account_id | Null | Prime Broker (PB) strategy account ID. null indicates no associated PB strategy account. |
| data.fund_manager.profit_account_id | String | Fund manager's profit account ID, used to associate with profit settlement-related accounts. |
| data.fund_manager.schools | Array | Array of the fund manager's educational background (schools). Each element contains school logo, multi-language name, and other information. |
| data.fund_manager.schools[].logo_url | String | School logo image URL, which can be accessed directly to view the school identifier. |
| data.fund_manager.schools[].name | Array | Array of multi-language names of the school. Each element contains a language identifier and the school name in the corresponding language. |
| data.fund_manager.schools[].name[].language | String | Language identifier, following the same rules as data.display_name[].language. |
| data.fund_manager.schools[].name[].text | String | School name in the corresponding language |
| data.fund_manager.schools[].product_school_id | String | Unique product-side ID associated with the school, used to associate product and educational background data. |
| data.fund_manager.team_description | Array | Array of multi-language team descriptions. Each element contains a language identifier and the team description in the corresponding language (supports HTML tags). |
| data.fund_manager.team_description[].language | String | Language identifier, following the same rules as data.display_name[].language. |
| data.fund_manager.team_description[].text | String | Team description text in the corresponding language, including HTML tags (e.g., ) for formatted display. |
| data.fund_manager.team_logo | String | Team logo image URL, which can be accessed directly to view the team identifier. |
| data.fund_manager.type | Number | Fund manager type identifier. Different values correspond to different types |
| data.fund_manager.website | String | Official website URL of the team or fund manager, which can be accessed to obtain more information. |
| data.gross_delta | String | Gross Delta value (a risk indicator for financial derivatives, measuring the impact of underlying asset price changes on product value). Stored as a string. |
| data.gross_leverage_ratio | String | Gross leverage ratio (measuring the ratio of product liabilities to assets, reflecting risk level). Stored as a string. |
| data.has_agent | Number | Agent existence identifier. 2 usually indicates no agent |
| data.id | String | Unique product or data identifier ID, used to distinguish different products or data records. |
| data.ignore_data_cache_update | Boolean | Data cache update ignore identifier. false indicates not ignored (cache updated normally), true indicates ignored (cache not updated). |
| data.ignore_last_disclosure_date | Boolean | Last disclosure date ignore identifier. false indicates not ignored (using the latest disclosure date), true indicates ignored. |
| data.inception_to_date_apy | String | Annual Percentage Yield (APY) since inception. The annualized return value from product inception to the present is stored as a string. |
| data.is_auto_nav_calculation | Number | Automatic NAV calculation identifier. 1 usually indicates automatic calculation ( e.g., 0 for manual, 1 for automatic). |
| data.is_bitcoin_performance | Number | Bitcoin performance association identifier. 1 usually indicates associated (product returns are linked to or compared with Bitcoin performance), 0 indicates not associated. |
| data.is_customized | Number | Customized product identifier. 2 usually indicates non-customized ( e.g., 1 for customized, 2 for standardized). |
| data.is_display_deposit_risk_popup_window | Number | Deposit risk popup window display identifier. 2 usually indicates not displayed (specific rules e.g., 1 for displayed, 2 for not displayed). |
| data.is_display_third_part_tag | Number | Third-party tag display identifier. 2 usually indicates not displayed (specific rules e.g., 1 for displayed, 2 for not displayed). |
| data.is_monitor_co_investment_ratio | Number | Co-investment ratio monitoring identifier. 1 usually indicates monitoring (specific rules e.g., 0 for not monitoring, 1 for monitoring). |
| data.is_neutral_strategy | Number | Neutral strategy identifier. 2 usually indicates not a neutral strategy (specific rules e.g., 1 for neutral, 2 for non-neutral). |
| data.is_private_strategy | Number | Private strategy identifier. 2 usually indicates not a private strategy (specific rules e.g., 1 for private, 2 for public). |
| data.is_self_operated | Number | Self-operated product identifier. 2 usually indicates not self-operated (specific rules e.g., 1 for self-operated, 2 for third-party cooperative). |
| data.is_shown_nav_before_fee | Number | Pre-fee NAV display identifier. 2 usually indicates not displayed (specific rules e.g., 1 for displaying pre-fee NAV, 2 for displaying post-fee NAV). |
| data.is_stop_raise | Number | Fundraising suspension identifier. 2 usually indicates not suspended (specific rules e.g., 1 for suspended, 2 for ongoing fundraising). |
| data.last_disclosure_date | Number | Latest disclosure date, stored as a millisecond-level Unix timestamp. The corresponding specific date can be converted via timestamp tools. |
| data.last_disclosure_date_u_time | Number | Latest disclosure date (UTC time), stored as a millisecond-level Unix timestamp for unified time zone date calculations. |
| data.latest_nav | String | Latest Net Asset Value (NAV). The current unit NAV of the product is stored as a string (e.g., "1" represents 1 unit currency per share). |
| data.latest_nav_time_milli | Number | Latest NAV generation time, stored as a millisecond-level Unix timestamp. 0 indicates no specific time recorded. |
| data.latest_usd_aum | String | Latest USD Asset Under Management (AUM). The total value of assets currently managed by the product (denominated in USD) is stored as a string. |
| data.listing_time | Number | Product launch time, stored as a millisecond-level Unix timestamp, corresponding to the time when the product is officially displayed or open for subscription. |
| data.lockup_period_days | Number | Lock-up period in days. 0 indicates no lock-up period (investors can redeem at any time), and values greater than 0 indicate the number of days the investment must be locked up. |
| data.max_drawdown_last_6_months | String | Maximum drawdown in the last 6 months (an indicator to measure the product’s recent risk, i.e., the maximum loss range during the period). Stored as a string. |
| data.max_drawdown_last_7_days | String | Maximum drawdown in the last 7 days, stored as a string, reflecting the product’s short-term risk level. |
| data.max_drawdown_since_inception | String | Maximum drawdown since inception, stored as a string, reflecting the product’s maximum risk exposure from its establishment to the present. |
| data.maximum_drawdown | String | Maximum drawdown (a general indicator, usually referring to the period since inception if no time range is specified). Stored as a string. |
| data.maximum_drawdown_1y | String | Maximum drawdown in the last 1 year, stored as a string, reflecting the product’s annual risk level. |
| data.maximum_drawdown_30d | String | Maximum drawdown in the last 30 days, stored as a string, reflecting the product’s monthly risk level. |
| data.maximum_drawdown_60d | String | Maximum drawdown in the last 60 days, stored as a string, reflecting the product’s risk level within two months. |
| data.maximum_drawdown_90d | String | Maximum drawdown in the last 90 days, stored as a string, reflecting the product’s quarterly risk level. |
| data.maximum_drawdown_ytd | String | Year-to-Date (YTD) maximum drawdown, stored as a string, reflecting the product’s risk level within the current year. |
| data.min_redemption_shares | String | Minimum redemption shares. The minimum number of shares required for a single redemption by investors is stored as a string (e.g., "0.0001" represents 0.0001 shares). |
| data.min_subscription_amount | String | Minimum subscription amount. The minimum amount required for a single subscription by investors is stored as a string (corresponding to the pricing currency, e.g., USDT). |
| data.minimum_additional_subscription_amount | String | Minimum additional subscription amount. "-1" indicates no additional subscription limit or no support for additional subscriptions; positive values indicate the minimum additional amount. |
| data.mp_performance_fee_mode | Number | MP performance fee calculation mode identifier, following the same rules as data.fm_performance_fee_mode. |
| data.mp_performance_fee_rate | String | MP performance fee rate, stored as a string. Here, "0.05" represents 5%. |
| data.mp_platform_fixed_fee_rate | String | MP platform fixed fee rate, stored as a string. Here, "0.001" represents 0.1%. |
| data.nav_start_time | Number | NAV calculation start time, stored as a millisecond-level Unix timestamp. 0 indicates calculation starts from the product’s establishment. |
| data.net_leverage_ratio | String | Net leverage ratio (leverage level after deducting hedging components), stored as a string, reflecting the product’s actual leverage risk. |
| data.number_of_x_day | Number | X-day cycle count, used to identify the number of days in a custom time cycle |
| data.pb_user_id | String | PB (Prime Broker) user ID, used to associate user accounts in the PB system. |
| data.popularity_value_1y | String | 1-year popularity value (an indicator to measure the product’s popularity), stored as a string. |
| data.popularity_value_7d | String | 7-day popularity value, stored as a string, reflecting the product’s short-term popularity. |
| data.popularity_value_30d | String | 30-day popularity value, stored as a string, reflecting the product’s monthly popularity. |
| data.popularity_value_60d | String | 60-day popularity value, stored as a string, reflecting the product’s popularity within two months. |
| data.popularity_value_90d | String | 90-day popularity value, stored as a string, reflecting the product’s quarterly popularity. |
| data.popularity_value_180d | String | 180-day popularity value, stored as a string, reflecting the product’s popularity within six months. |
| data.popularity_value_inception | String | Popularity value since inception, stored as a string, reflecting the product’s long-term popularity. |
| data.popularity_value_ytd | String | Year-to-Date (YTD) popularity value, stored as a string, reflecting the product’s popularity in the current year. |
| data.positive_return_months | Number | Number of months with positive returns. It counts the total number of months in the product’s history that achieved positive returns. 0 indicates no months with positive returns. |
| data.product_code | String | Product code (short identifier), used for quick product identification |
| data.product_content | object | |
| data.product_content.black_list_group_id | string | |
| data.product_content.broker_page_redirect | integer | |
| data.product_content.broker_page_url | string | |
| data.product_content.description | array | |
| data.product_content.investment_history | integer | |
| data.product_content.investment_history_for_code_holder | integer | |
| data.product_content.investment_history_for_investor | integer | |
| data.product_content.investment_rules | array | |
| data.product_content.is_code_holder | integer | |
| data.product_content.is_invested | integer | |
| data.product_content.labels | array | |
| data.product_content.performance_display | integer | |
| data.product_content.performance_display_pnl | integer | |
| data.product_content.personal_profile_display | integer | |
| data.product_content.personal_profile_introduction | array | |
| data.product_content.position_analysis | integer | |
| data.product_content.position_analysis_for_code_holder | integer | |
| data.product_content.position_analysis_for_investor | integer | |
| data.product_content.private_strategy_visibility | integer | |
| data.product_content.product_id | string | |
| data.product_content.promotion_sentence | array | |
| data.product_content.schools | array | |
| data.product_content.short_description | array | |
| data.product_content.strategy_description | array | |
| data.product_content.team_background | array | |
| data.product_content.team_background_url | string | |
| data.product_content.trade_history_position_analysis | integer | |
| data.product_content.trading_points_introduction | array | |
| data.product_content.trading_scope | array | |
| data.product_content.trading_venue | array | |
| data.product_content.white_list_group_id | string | |
| data.product_fee_structure_v2 | object | |
| data.product_fee_structure_v2.fee_model_id | string | |
| data.product_fee_structure_v2.fm_performance_fee_mode | integer | |
| data.product_fee_structure_v2.fm_performance_fee_rate | array | |
| data.product_fee_structure_v2.fm_platform_fixed_fee_rate | array | |
| data.product_fee_structure_v2.mp_performance_fee_mode | integer | |
| data.product_fee_structure_v2.mp_performance_fee_rate | array | |
| data.product_fee_structure_v2.mp_platform_fixed_fee_rate | array | |
| data.product_fee_structure_v2.profit_bill_cycling_day | integer | |
| data.product_fee_structure_v2.profit_bill_cycling_month | integer | |
| data.product_fee_structure_v2.redemption_fee_rate | array | |
| data.product_fee_structure_v2.subscription_fee_rate | string | |
| data.product_fee_structure_v2.type | string | |
| data.product_id | String | Unique product identifier ID, used to uniquely distinguish different products in the system. |
| data.product_strategy | Object | Product strategy information object, containing multi-language content such as strategy description, display name, and introduction. |
| data.product_strategy.description | Array | Multi-language array of strategy descriptions. Each element contains a language identifier and a description of the core strategy logic in the corresponding language. |
| data.product_strategy.description[].language | String | Language identifier, following the same rules as data.display_name[].language. |
| data.product_strategy.description[].text | String | Strategy description text in the corresponding language, briefly explaining the core logic of the strategy. |
| data.product_strategy.display_name | Array | Multi-language array of strategy display names. Each element contains a language identifier and the strategy name in the corresponding language. |
| data.product_strategy.display_name[].language | String | Language identifier, following the same rules as data.display_name[].language. |
| data.product_strategy.display_name[].text | String | Strategy display name in the corresponding language (e.g., "Arbitrage Strategy" in English, "套利策略" in Chinese). |
| data.product_strategy.introduce | Array | Multi-language array of detailed strategy introductions. It contains formatted text with HTML tags, explaining the strategy principles, advantages, etc., in detail. |
| data.product_strategy.introduce[].language | String | Language identifier, following the same rules as data.display_name[].language. |
| data.product_strategy.introduce[].text | String | Detailed strategy introduction text in the corresponding language, supporting HTML tags (e.g., ) for formatted display. |
| data.product_strategy.strategy_id | String | Unique strategy identifier ID, used to associate strategy-related configurations and data. |
| data.profit_bill_cycling_day | Number | Daily cycle for profit statements. 1 indicates generating a profit statement every day; values greater than 1 indicate generating a profit statement every N days. |
| data.profit_bill_cycling_month | Number | Monthly cycle for profit statements. 1 indicates generating a profit statement every month; values greater than 1 indicate generating a profit statement every N months. |
| data.promotion_activity | Null | Promotion activity configuration. null indicates no ongoing promotion activities or no activity information configured. |
| data.quick_tag_ids | String | List of quick tag IDs, stored as a string (multiple IDs separated by delimiters). An empty string indicates no tags. |
| data.rcu_id | Number | RCU (possibly "Resource Control Unit" or a specific business module) ID, used to associate related resource configurations. |
| data.redemption_fee_rate | String | Redemption fee rate, stored as a string. Here, "0.03" represents 3% (the fee ratio investors need to pay when redeeming). |
| data.report_rcu_id | Number | Report-related RCU ID, used to associate resource configurations required for report generation and display. |
| data.reported_ex_account_id | String | Reported exchange account ID. "0" indicates no reported exchange account or no associated account. |
| data.reported_nav | String | Reported NAV. The product’s NAV reported to regulators or third parties is stored as a string. |
| data.return_7d | String | 7-day return rate. The actual return ratio of the product in the last 7 days is stored as a string. |
| data.return_30d | String | 30-day return rate. The actual return ratio of the product in the last 30 days is stored as a string. |
| data.return_60d | String | 60-day return rate. The actual return ratio of the product in the last 60 days is stored as a string. |
| data.return_90d | String | 90-day return rate. The actual return ratio of the product in the last 90 days is stored as a string. |
| data.return_180d | String | 180-day return rate. The actual return ratio of the product in the last 180 days is stored as a string. |
| data.return_since_inception | String | Return rate since inception. The cumulative return ratio of the product from its establishment to the present is stored as a string. |
| data.return1year | String | 1-year return rate. The cumulative return ratio of the product in the last 12 months is stored as a string. |
| data.risk_level | Number | Risk level. 0 usually indicates the lowest risk level (specific rules e.g., levels 1-5 correspond to different risk degrees). |
| data.running_days | Number | Product running days. It counts the actual number of days the product has been running since its launch or establishment. |
| data.sharpe_ratio_7d | String | 7-day Sharpe Ratio (a risk-adjusted return indicator; a higher value indicates better returns per unit of risk). Stored as a string. |
| data.sharpe_ratio_30d | String | 30-day Sharpe Ratio, stored as a string, reflecting the monthly risk-adjusted return. |
| data.sharpe_ratio_60d | String | 60-day Sharpe Ratio, stored as a string, reflecting the risk-adjusted return within two months. |
| data.sharpe_ratio_90d | String | 90-day Sharpe Ratio, stored as a string, reflecting the quarterly risk-adjusted return. |
| data.sharpe_ratio_180d | String | 180-day Sharpe Ratio, stored as a string, reflecting the risk-adjusted return within six months. |
| data.sharpe_ratio_by_bond_yield_1y | String | 1-year Sharpe Ratio based on bond yield (calculated using bond yield as the risk-free rate). Stored as a string. |
| data.sharpe_ratio_by_bond_yield_7d | String | 7-day Sharpe Ratio based on bond yield, stored as a string. |
| data.sharpe_ratio_by_bond_yield_30d | String | 30-day Sharpe Ratio based on bond yield, stored as a string. |
| data.sharpe_ratio_by_bond_yield_60d | String | 60-day Sharpe Ratio based on bond yield, stored as a string. |
| data.sharpe_ratio_by_bond_yield_90d | String | 90-day Sharpe Ratio based on bond yield, stored as a string. |
| data.sharpe_ratio_by_bond_yield_180d | String | 180-day Sharpe Ratio based on bond yield, stored as a string. |
| data.sharpe_ratio_by_bond_yield_since_inception | String | Sharpe Ratio based on bond yield since inception, stored as a string. |
| data.sharpe_ratio_by_bond_yield_ytd | String | Year-to-Date (YTD) Sharpe Ratio based on bond yield, stored as a string. |
| data.sharpe_ratio_since_inception | String | Sharpe Ratio since inception, stored as a string, reflecting the product’s long-term risk-adjusted return. |
| data.sharpe_ratio_ytd | String | Year-to-Date (YTD) Sharpe Ratio, stored as a string, reflecting the product’s risk-adjusted return in the current year. |
| data.since_inception_days | Number | Days since inception. It counts the total number of days from the product’s establishment to the present (there may be differences from running_days, depending on business definitions). |
| data.sortino_ratio | String | Sortino Ratio (a risk-adjusted return indicator that only considers downside risk; a higher value indicates better downside risk control). Stored as a string. |
| data.sortino_ratio_1y | String | 1-year Sortino Ratio, stored as a string, reflecting the annual downside risk-adjusted return. |
| data.sortino_ratio_7d | String | 7-day Sortino Ratio, stored as a string, reflecting the short-term downside risk-adjusted return. |
| data.sortino_ratio_30d | String | 30-day Sortino Ratio, stored as a string, reflecting the monthly downside risk-adjusted return. |
| data.sortino_ratio_60d | String | 60-day Sortino Ratio, stored as a string, reflecting the downside risk-adjusted return within two months. |
| data.sortino_ratio_90d | String | 90-day Sortino Ratio, stored as a string, reflecting the quarterly downside risk-adjusted return. |
| data.sortino_ratio_180d | String | 180-day Sortino Ratio, stored as a string, reflecting the downside risk-adjusted return within six months. |
| data.sortino_ratio_by_bond_yield_1y | String | 1-year Sortino Ratio based on bond yield (using bond yield as the risk-free rate and only considering downside risk). Stored as a string. |
| data.sortino_ratio_by_bond_yield_7d | String | 7-day Sortino Ratio based on bond yield, stored as a string. |
| data.sortino_ratio_by_bond_yield_30d | String | 30-day Sortino Ratio based on bond yield, stored as a string. |
| data.sortino_ratio_by_bond_yield_60d | String | 60-day Sortino Ratio based on bond yield, stored as a string. |
| data.sortino_ratio_by_bond_yield_90d | String | 90-day Sortino Ratio based on bond yield, stored as a string. |
| data.sortino_ratio_by_bond_yield_180d | String | 180-day Sortino Ratio based on bond yield, stored as a string. |
| data.sortino_ratio_by_bond_yield_since_inception | String | Sortino Ratio based on bond yield since inception, stored as a string. |
| data.sortino_ratio_by_bond_yield_ytd | String | Year-to-Date (YTD) Sortino Ratio based on bond yield, stored as a string. |
| data.sortino_ratio_ytd | String | Year-to-Date (YTD) Sortino Ratio, stored as a string, reflecting the product’s downside risk-adjusted return in the current year. |
| data.status | Number | Product status identifier. 2 usually indicates normal operation |
| data.strategy_manager | Object | Strategy manager information object, with the same structure as data.fund_manager, including avatar, ID, team information, etc. |
| data.strategy_manager.avatar | String | Strategy manager’s avatar image URL. An empty string indicates no avatar set. |
| data.strategy_manager.fund_manager_id | String | Unique identifier ID of the strategy manager (may be reused with the fund manager ID, depending on the business scenario). |
| data.strategy_manager.name | String | Strategy manager’s name. |
| data.strategy_manager.network_group_id | String | ID of the network group that the strategy manager belongs to. An empty string indicates no affiliation with a network group. |
| data.strategy_manager.pb_strategy_account_id | Null | PB (Prime Broker) strategy account ID associated with the strategy manager. null indicates no association. |
| data.strategy_manager.profit_account_id | String | Strategy manager’s profit account ID, used to associate with profit settlement accounts. |
| data.strategy_manager.schools | Array | Array of the strategy manager’s educational background (schools), with the same structure as data.fund_manager.schools. |
| data.strategy_manager.schools[].logo_url | String | School logo image URL. |
| data.strategy_manager.schools[].name | Array | Array of multi-language names of the school. |
| data.strategy_manager.schools[].name[].language | String | Language identifier, following ISO language code standards. |
| data.strategy_manager.schools[].name[].text | String | School name in the corresponding language. |
| data.strategy_manager.schools[].product_school_id | String | Unique product-side ID associated with the school. |
| data.strategy_manager.team_description | Array | Array of multi-language team descriptions, with the same structure as data.fund_manager.team_description. |
| data.strategy_manager.team_description[].language | String | Language identifier. |
| data.strategy_manager.team_description[].text | String | Team description text in the corresponding language (including HTML tags). |
| data.strategy_manager.team_logo | String | Team logo image URL. |
| data.strategy_manager.type | Number | Strategy manager type identifier, following the same rules as data.fund_manager.type. |
| data.strategy_manager.website | String | Official website URL of the team or strategy manager. |
| data.subscription_fee_rate | String | Subscription fee rate, stored as a string. Here, "0.06" represents 6% (the fee ratio investors need to pay when subscribing). |
| data.time_weighted_return | String | Time-Weighted Return (excludes the impact of capital inflows and outflows on returns, providing a more accurate reflection of investment capability). Stored as a string. |
| data.total_quota_limit | String | Total product quota limit. "-1" indicates no quota limit; positive values indicate the upper limit of the total quota (corresponding to the pricing currency). |
| data.user_daily_subscription_limit | String | User’s daily subscription limit. "-1" indicates no daily limit; positive values indicate the maximum amount a user can subscribe to per day. |
| data.user_subscription_limit | String | User’s total subscription limit. "-1" indicates no total limit; positive values indicate the maximum cumulative amount a user can subscribe to. |
| data.volatility | String | Volatility (a risk indicator measuring the degree of fluctuation in product returns). Stored as a string; a higher value indicates higher risk. |
| data.x_day_apy | String | Annual Percentage Yield (APY) for a custom X-day cycle. The value of X is defined by data.number_of_x_day. Stored as a string. |
| data.yearly_sharpe_ratio | String | Annualized Sharpe Ratio (an annualized risk-adjusted return indicator), stored as a string, reflecting the annual investment cost-effectiveness. |
| data.yearly_volatility | String | Annualized volatility (the annualized degree of fluctuation in returns), stored as a string, reflecting the annual risk level. |
| data.ytd_return | String | Year-to-Date (YTD) return rate. The cumulative return ratio of the product from the start of the current year to the present is stored as a string. |
- Response Example
{
// Response code
"code": 0,
"data": {
// ID of the product
"product_id": "7213729255023566848",
"display_name": [
{
// Language code
"language": "en-US",
// Display name in the specified language
"text": "JMS USDT Arbitrage Strategy"
},
{
// Language code
"language": "zh-CN",
// Display name in the specified language
"text": "JMS USDT Arbitrage Strategy"
},
{
// Language code
"language": "zh-TW",
// Display name in the specified language
"text": "JMS USDT Arbitrage Strategy"
}
],
// Timestamp of the listing time
"listing_time": 1716912000000,
// RCU ID
"rcu_id": 5437,
// Currency of the product
"currency": "USDT",
"product_strategy": {
// ID of the strategy
"strategy_id": "7213729253878521856",
"display_name": [
{
// Language code
"language": "en-US",
// Display name in the specified language
"text": "qat1 test"
},
{
// Language code
"language": "zh-CN",
// Display name in the specified language
"text": "qat1 test"
},
{
// Language code
"language": "zh-TW",
// Display name in the specified language
"text": "qat1 test"
}
],
"description": [
{
// Language code
"language": "en-US",
// Description in the specified language
"text": "Taking advantage of different pricing in the market."
},
{
// Language code
"language": "zh-CN",
// Description in the specified language
"text": "利用市场的不同定价来获取风险较低的利润策略"
},
{
// Language code
"language": "zh-TW",
// Description in the specified language
"text": "利用市場的不同定價來獲取風險較低的利潤策略"
}
],
"introduce": [
{
// Language code
"language": "en-US",
// Introduction in the specified language
"text": "<p>The Arbitrage strategy seeks to profit from market volatility by skilfully exploiting price differentials in the cryptocurrency market. The strategy encompasses various forms of arbitrage, including market arbitrage, cross-exchange arbitrage and spot arbitrage, to maximise market opportunities through real-time data analysis and execution of quick trades. Positions and strategies are dynamically adjusted to seek relatively stable returns while reducing market risk. This enables the cryptocurrency strategy to achieve relatively stable investment performance under different market conditions.</p>"
},
{
// Language code
"language": "zh-CN",
// Introduction in the specified language
"text": "<p>套利策略通过巧妙利用加密货币市场的价格差异,以期在市场波动中获得利润。该策略涵盖各种套利形式,包括市场套利、跨交易所套利和期现套利,通过实时数据分析和执行快速交易来最大程度地利用市场机会。通过动态调整仓位和策略,以追求相对稳定的回报,同时降低市场风险。这使得加密资币策略在不同市场状况下都能够实现较为稳定的投资表现。</p>"
},
{
// Language code
"language": "zh-TW",
// Introduction in the specified language
"text": "<p>套利策略通過巧妙利用加密貨幣市場的價格差異,以期在市場波動中獲得利潤。該策略涵蓋各種套利形式,包括市場套利、跨交易所套利和期現套利,通過實時數據分析和執行快速交易來最大程度地利用市場機會。通過動態調整倉位和策略,以追求相對穩定的回報,同時降低市場風險。這使得加密資幣策略在不同市場狀況下都能夠實現較為穩定的投資表現。</p>"
}
]
},
// Rule for displaying APY
"apy_display_rule": 0,
// Number of days for a specific calculation
"number_of_x_day": 1,
// Expected annual percentage yield
"expected_apy": "0",
// Product status
"status": 2,
// Flag for stopping the raise
"is_stop_raise": 2,
// Flag for collection status
"is_collect": 2,
"product_content": {
// Flag for investment status
"is_invested": 2,
// Flag for code holder status
"is_code_holder": 2,
// ID of the product
"product_id": "7213729255023566848",
// URL of the team background
"team_background_url": "string",
"description": [
{
// Language code
"language": "en-US",
// Description in the specified language
"text": "<p>What is an Arbitrage Strategy?</p><p><br></p><p>Funding Rate Arbitrage means that when the market is bullish and the perpetual contract price is higher than the spot, the bulls need to pay a certain percentage of interest to the bears, which is known as the funding rate of the perpetual contract. Through this mechanism, various strategies can be deployed to maintain neutral/minimal exposure in the strategy, while making a steady profit.</p><p><br></p><p>Futures Basis Spread Arbitrage exploits the basis difference between the delivery price of a token’s futures contract and its spot price by observing the basis premium rate. The concept of 'Mean Reversion’ is being utilized here to achieve an expected return, while also maintaining low exposure in the Strategy due to the nature of the position pairings.</p>"
},
{
// Language code
"language": "zh-CN",
// Description in the specified language
"text": "<p>什么是套利基金?</p><p><br></p><p>资金费率套息指当市场做多力量占优,永续合约价格高于现货时,多方需向空方支付一定比例的利息,此时资金费率为正。长期观察,资金费率多为正数,可实现低风险的资金费率套息的套利操作。</p><p><br></p><p>期现基差套利利用期货交割合约交割价与锚定现货的基差,通过观察基差溢价率,利用“均值回归”的方法实现在不关注市场价格涨跌的情况下获得既定的预期收益。</p>"
},
{
// Language code
"language": "zh-TW",
// Description in the specified language
"text": "<p>什麼是套利基金?</p><p><br></p><p>資金費率套息指當市場做多力量佔優,永續合約價格高於現貨時,多方需向空方支付一定比例的利息,此時資金費率為正。長期觀察,資金費率多為正數,可實現低風險的資金費率套息的套利操作。</p><p><br></p><p>期現基差套利利用期貨交割合約交割價與錨定現貨的基差,透過觀察基差溢價率,利用\"平均值迴歸\"的方法實現在不關注市場價格漲跌的情況下獲得既定的預期收益。</p>"
}
],
"short_description": [
{
// Language code
"language": "en-US",
// Short description in the specified language
"text": "J USDT arbitrage Strategy is a market-neutral strategy that arbitrages USDT-denominated swaps while also arbitraging the basis and funding rates."
},
{
// Language code
"language": "zh-CN",
// Short description in the specified language
"text": "J USDT 套利策略是一种市场中性策略,针对USDT本位的掉期套利策略,同时对基差和多空费率进行套利。"
},
{
// Language code
"language": "zh-TW",
// Short description in the specified language
"text": "J USDT 套利策略是一種市場中性策略,針對USDT本位的掉期套利策略,同時對基差和多空費率進行套利。"
}
],
"team_background": [
{
// Language code
"language": "en-US",
// Team background in the specified language
"text": "team_background_en"
},
{
// Language code
"language": "zh-CN",
// Team background in the specified language
"text": "team_background_zh"
},
{
// Language code
"language": "zh-TW",
// Team background in the specified language
"text": "team_background_tw"
}
],
"trading_venue": [
{
// Language code
"language": "en-US",
// Trading venue in the specified language
"text": "J USDT arbitrage Strategy will be traded on the Binance, OKX and Bybit Exchange. "
},
{
// Language code
"language": "zh-CN",
// Trading venue in the specified language
"text": "J USDT 套利策略在Binance、OKX和Bybit Exchange交易。"
},
{
// Language code
"language": "zh-TW",
// Trading venue in the specified language
"text": "J USDT 套利策略在Binance、OKX和Bybit Exchange交易。"
}
],
"strategy_description": [
{
// Language code
"language": "en-US",
// Strategy description in the specified language
"text": "<p>J USDT arbitrage Strategy is a market-neutral strategy that arbitrages USDT-denominated swaps while also arbitraging the basis and funding rates.</p><p><br></p><p>This strategy hedges risks using zero net exposure futures and spot, and utilizes self-developed monitoring modules with business data for second-level monitoring. The team conducts 24/7 dual manual and programmatic monitoring of the accounts. Product retracement exceeding 1% will trigger a warning. The product stop loss line is NAV=0.9.</p><p><br></p><p>Recent year's real indicators : annualized return of 8.75%, Sharpe ratio of 4.7, max drawdown of -0.67%.</p><p><br></p><p>Investment and redemption currency for this strategy is USDT.</p>"
},
{
// Language code
"language": "zh-CN",
// Strategy description in the specified language
"text": "<p>J USDT 套利策略是一种市场中性策略,针对USDT本位的掉期套利策略,同时对基差和多空费率进行套利;</p><p><br></p><p>本策略使用期货和现货的零敞口对冲风险,并采用自研系统监听模块加业务数据,以秒级监控产品运行,团队7x24小时对账户进行人工与程序双重监控;产品回撤超过1%将触发预警,产品止损线為NAV=0.9</p><p>近一年实盘指标:年化收益率为8.75%,夏普比率4.7,最大回撤-0.67%;</p><p><br></p><p>本基金投资币种及赎回币种为USDT。</p>"
},
{
// Language code
"language": "zh-TW",
// Strategy description in the specified language
"text": "<p>J USDT 套利策略是一種市場中性策略,針對USDT本位的掉期套利策略,同時對基差和多空費率進行套利;</p><p><br></p><p>本策略使用期貨和現貨的零敞口對沖風險,並採用自研系統監聽模塊加業務數據,以秒級監控產品運行,團隊7x24小時對賬戶進行人工與程序雙重監控;產品回撤超過1%將觸發預警,產品止損線為NAV=0.9</p><p><br></p><p>近一年實盤指標:年化收益率為8.75%,夏普比率4.7,最大回撤-0.67%;</p><p><br></p><p>本基金投資幣種及贖回幣種為USDT。</p>"
}
],
"investment_rules": [
{
// Language code
"language": "en-US",
// Investment rules in the specified language
"text": "<p>Subscription Rules</p><p><br></p><p>The Strategy will be placed on a proportional basis.</p><p><br></p><p>Matrixport will calculate the total amount invested and allocate the effective invested amount after the subscription period closes. Any unsuccessful subscriptions will be returned to your account.</p><p><br></p><p>Portfolio Allocation Calculation</p><p><br></p><p>Allocation Ratio = Quota for the period / The total amount subscribed during the period * 100%</p><p>Effective Invested Amount = Amount invested during the period * Allocation ratio</p><p><br></p><p>Effective invested amount per investor: 10,000-1,000,000 USDT</p><p><br></p><p>If the final effective invested amount allocated to an investor is less than 10,000 USDT, all subscription amounts will be refunded. If it is higher than 1,000,000 USDT, the effective invested amount will only be 1,000,000 USDT.</p><p><br></p><p>Subscription Period</p><p>7th 00:00:00-10th 12:00:00 of each month (UTC+8)</p><p><br></p><p>Redemption Period</p><p><br></p><p>7th 00:00:00-10th 12:00:00 of each month (UTC+8)</p><p><br></p><p>Monthly NAV Cut-off Date</p><p><br></p><p>10th of each month at 10:00:00 (UTC+8)</p><p><br></p><p>Settlement / Effective Invested Shares Confirmation Date</p><p>Subscription or redemption confirmation will be settled within four working days after the 10/24th of each month; during the processing period, data and indicator updates will be temporarily suspended</p><p><br></p><p>Portfolio NAV</p><p><br></p><p>Initial NAV will be confirmed after the Subscription Period.</p><p><br></p><p>Portfolio NAV will be updated daily (except for the period between the Closing Date of the Subscription Period, and the release date of the formal Monthly NAV)</p><p><br></p><p>During routine system maintenance, there may be brief data fluctuations or missing data, please do not panic, as it will be automatically restored within a certain period of time.</p><p><br></p><p>Please note that the daily NAV is for reference only. In order to ensure the accuracy of the data and settlement amount, the NAV used to confirm the subscription amount, redemption amount and revenue, is the Monthly NAV.</p><p><br></p><p>Holding Shares</p><p><br></p><p>No. of Shares allocated to the strategy's investor will be calculated based on the Monthly NAV, and confirmed after the end of the Subscription Period.</p><p><br></p><p>Redemption amount will be calculated based on the Monthly NAV, and confirmed by the Strategy Manager.</p><p><br></p><p>Holding Balance</p><p><br></p><p>Holding Balance = Holding Shares * Latest NAV</p><p><br></p><p>Fees Structure</p><p><br></p><p>Subscription Fee Rate:0%</p><p>Redemption Fee:0.5%</p><p><br></p><p>Receive Amount = Redeemed Shares * Redemption NAV*(1-0.5%)</p><p><br></p><p>Performance Fee:25%</p><p>Platform Fixed Fee:0%</p><p>Platform Variable Fee:10%</p><p><br></p><p>Performance Fee = Profit Before Fees * 25%</p><p>Platform Variable Fee = Profit Before Fees * 10%</p><p><br></p><p>Platform Fee (Variable): Matrixport will impose a variable platform fee amounting to 10% of the profit gained by the investor during the current NAV striking period (Profit = (NAV per unit at the current NAV Striking Date - NAV per unit at the previous NAV Striking Date) x investor's number of units). However, if investor incurs a loss during the current NAV striking period, Matrixport will not charge such variable platform fee.</p>"
},
{
// Language code
"language": "zh-CN",
// Investment rules in the specified language
"text": "<p>申购规则</p><p>本策略将采用比例配售方式。</p><p><br></p><p>在募集期内,用户在APP内策略介绍页投入本金,请您注意,此投资金额并不是最终有效申购金额。募集期结束后,Matrixport会依据每位用户的投资金额以及本期募集期发售规模进行计算,分配用户有效申购金额。 剩余本金将会退还至您的账户余额。</p><p><br></p><p>策略分配公式:</p><p>配售比例=本期策略限定发售规模/募集期内所有用户申购的总金额×100%;</p><p>投资者有效申购金额=该投资者募集期内投入的申购金额×配售比例</p><p><br></p><p>单人每期有效申购金额:10,000 -1,000,000 USDT</p><p>若单人最终有效申购金额低于10,000 USDT,则退回所有申购资金。若单人最终有效申购金额最终高于1,000,000 USDT,则本期有效申购金额为1,000,000 USDT。</p><p><br></p><p>申购活动开放期</p><p>每月7号 00:00:00-每月10号12:00:00 (UTC+8)</p><p><br></p><p>赎回活动开放期</p><p>每月7号 00:00:00-每月10号12:00:00 (UTC+8)</p><p><br></p><p>净值计算日</p><p>每月10日08:00:00(UTC+8)</p><p><br></p><p>结算/有效申购份额确认日</p><p>每月10/24号后的四个工作日内确认申购或完成赎回结算;处理期间,数据和指标将短暂暂停更新</p><p><br></p><p>策略资产净值</p><p><br></p><p>初始策略资产净值将在认购期结束后,才正式被确认。</p><p><br></p><p>策略资产净值将每日更新(以下期间除外:认购期结束后,至每月策略净值公报前)。</p><p><br></p><p>在不定期的日常系统维护中,可能会出现短暂的数据波动或数据缺失,请不要惊慌,数据会在一定时间内会恢复正常。</p><p><br></p><p>每日更新的产品净值仅作参考。为了保证数据和结算金额的准确性,用于确认认购股份数量、赎回金额、和策略收益的资产净值,会是每月资产净值。</p><p><br></p><p>持有股份</p><p><br></p><p>策略投资者获分配的股份数量,将根据截止日期的资产净值计算,并在认购期结束后确认。</p><p>赎回金额,将根据截止日期的资产净值计算,并由策略经理确认。</p><p><br></p><p>持有金额</p><p><br></p><p>持有金额 = 持有份额 * 最新策略资产净值</p><p><br></p><p>费用结构</p><p><br></p><p>申购费率:0%</p><p>赎回费率:0.5%</p><p><br></p><p>赎回金额 = 赎回份额 * 赎回净值*(1-0.5%)</p><p><br></p><p>业绩费率:25%</p><p>平台固定运营费率:0%</p><p>平台浮动运营费率:10%</p><p><br></p><p>业绩费 = 费前利润 * 25%</p><p>平台浮动运营费=费前利润 *10%,</p><p><br></p><p>平台浮动运营费率:Matrixport 将收取投资者在当前净值披露期间获得利润的10%作为浮动平台费用(利润=(当前净值披露日的每份净值-前一净值披露日的每份净值)x 投资者持有的份额数)。但是,如果投资者在本月披露期间发生损失,Matrixport 将不会收取这部分浮动平台费用。</p>"
},
{
// Language code
"language": "zh-TW",
// Investment rules in the specified language
"text": "<p>申購規則</p><p>本策略將採用比例配售方式。</p><p><br></p><p>在募集期內,用戶在APP內策略介紹頁投入本金,請您注意,此投資金額並不是最終有效申購金額。募集期結束後,Matrixport會依據每位用戶的投資金額以及本期募集期發售規模進行計算,分配用戶有效申購金額。 剩餘本金將會退還至您的賬戶餘額。</p><p><br></p><p>策略分配公式:</p><p>配售比例=本期策略限定發售規模/募集期內所有用戶申購的總金額×100%;</p><p>投資者有效申購金額=該投資者募集期內投入的申購金額×配售比例</p><p><br></p><p>單人每期有效申購金額:10,000 -1,000,000 USDT</p><p>若單人最終有效申購金額低於10,000 USDT,則退回所有申購資金。若單人最終有效申購金額最終高於1,000,000 USDT,則本期有效申購金額為1,000,000 USDT。</p><p><br></p><p>申購活動開放期</p><p>每月7號 00:00:00-每月10號12:00:00 (UTC+8)</p><p><br></p><p>贖回活動開放期</p><p>每月7號 00:00:00-每月10號12:00:00 (UTC+8)</p><p><br></p><p>淨值計算日</p><p>每月10日08:00:00(UTC+8)</p><p><br></p><p>結算/有效申購份額確認日</p><p>每月10/24號後的四個工作日內確認申購或完成贖回結算;處理期間,數據和指標將短暫暫停更新</p><p><br></p><p>策略資產淨值</p><p><br></p><p>初始策略資產淨值將在認購期結束後,才正式被確認。</p><p><br></p><p>策略資產淨值將每日更新(以下期間除外:認購期結束後,至每月策略淨值公報前)。</p><p><br></p><p>在不定期的日常系統維護中,可能會出現短暫的數據波動或數據缺失,請不要驚慌,數據會在一定時間內會恢復正常。</p><p><br></p><p>每日更新的產品淨值僅作參考。為了保證數據和結算金額的準確性,用於確認認購股份數量、贖回金額、和策略收益的資產淨值,會是每月資產淨值。</p><p><br></p><p>持有股份</p><p><br></p><p>策略投資者獲分配的股份數量,將根據截止日期的資產淨值計算,並在認購期結束後確認。</p><p>贖回金額,將根據截止日期的資產淨值計算,並由策略經理確認。</p><p><br></p><p>持有金額</p><p><br></p><p>持有金額 = 持有份額 * 最新策略資產淨值</p><p><br></p><p>費用結構</p><p><br></p><p>申購費率:0%</p><p>贖回費率:0.5%</p><p><br></p><p>贖回金額=贖回份額 * 贖回淨值*(1-0.5%)</p><p><br></p><p>業績費率:25%</p><p>平台固定運營費率:0%</p><p>平台浮動運營費率:10%</p><p><br></p><p>業績費 = 費前利潤 * 25%</p><p>平台浮動運營費 = 費前利潤 *10%,</p><p><br></p><p>平台浮動運營費率:Matrixport 將收取投資者在當前淨值披露期間獲得利潤的10%作為浮動平台費用(利潤=(當前淨值披露日的每份淨值-前一淨值披露日的每份淨值)x 投資者持有的份額數)。但是,如果投資者在本月披露期間發生損失,Matrixport 將不會收取這部分浮動平台費用。</p>"
}
],
"promotion_sentence": [
{
// Language code
"language": "en-US",
// Promotion sentence in the specified language
"text": "promotion_sentence_en"
},
{
// Language code
"language": "zh-CN",
// Promotion sentence in the specified language
"text": "promotion_sentence_zh"
},
{
// Language code
"language": "zh-TW",
// Promotion sentence in the specified language
"text": "promotion_sentence_tw"
}
],
// Array of trading scope information
"trading_scope": [],
"personal_profile_introduction": [
{
// Language code
"language": "en-US",
// Personal profile introduction in the specified language
"text": "personal_profile_introduction_en"
},
{
// Language code
"language": "zh-CN",
// Personal profile introduction in the specified language
"text": "personal_profile_introduction_zh"
},
{
// Language code
"language": "zh-TW",
// Personal profile introduction in the specified language
"text": "personal_profile_introduction_tw"
}
],
// Blacklist group ID
"black_list_group_id": "",
// Whitelist group ID
"white_list_group_id": "",
"labels": [
[
{
// Language code
"language": "en-US",
// Label text in the specified language
"text": "Ultra-low Risk Arbitrage"
},
{
// Language code
"language": "zh-CN",
// Label text in the specified language
"text": "极低风险套利"
},
{
// Language code
"language": "zh-TW",
// Label text in the specified language
"text": "極低風險套利"
}
]
],
"schools": [
{
// URL of the school logo
"logo_url": "schools_url",
// ID of the product school
"product_school_id": "7213741606909108224",
"name": [
{
// Language code
"language": "en-US",
// School name in the specified language
"text": "schools_en"
},
{
// Language code
"language": "zh-CN",
// School name in the specified language
"text": "schools_zh"
},
{
// Language code
"language": "zh-TW",
// School name in the specified language
"text": "schools_tw"
}
]
}
],
// Personal profile display flag
"personal_profile_display": 0,
// Broker page redirect flag
"broker_page_redirect": 0,
// Broker page URL
"broker_page_url": "",
// Performance display flag
"performance_display": 2,
// Position analysis value
"position_analysis": 63,
// Trade history position analysis value
"trade_history_position_analysis": 63,
// Investment history value
"investment_history": 3,
// Position analysis for code holder value
"position_analysis_for_code_holder": 0,
// Trade history position analysis for code holder value
"trade_history_position_analysis_for_code_holder": 0,
// Investment history for code holder value
"investment_history_for_code_holder": 0,
// Position analysis for investor value
"position_analysis_for_investor": 0,
// Trade history position analysis for investor value
"trade_history_position_analysis_for_investor": 0,
// Investment history for investor value
"investment_history_for_investor": 0,
"trading_points_introduction": [
{
// Language code
"language": "en-US",
// Trading points introduction in the specified language
"text": "<p>Market-neutral approach that combines USDT-denominated swaps, basis and funding rate arbitrage, advanced risk management, and cutting-edge monitoring systems.</p>"
},
{
// Language code
"language": "zh-CN",
// Trading points introduction in the specified language
"text": "<p>以市场中性的方式结合USDT本位掉期、基差和资金费率套利、先进的风险管理和尖端监控系统。</p>"
},
{
// Language code
"language": "zh-TW",
// Trading points introduction in the specified language
"text": "<p>以市場中性的方式結合USDT本位掉期、基差和資金費率套利、先進的風險管理和尖端監控系統。</p>"
}
],
// Performance display PNL flag
"performance_display_pnl": 2,
// Private strategy visibility flag
"private_strategy_visibility": 0
},
// Private strategy flag
"is_private_strategy": 2,
// Bitcoin performance flag
"is_bitcoin_performance": 1,
// ID
"id": "105",
// Created at timestamp
"created_at": 1719887079024,
// Updated at timestamp
"updated_at": 1719887079024,
// Volatility of the product
"volatility": "0",
// Maximum drawdown
"maximum_drawdown": "0",
// Number of holdings
"holdings": 0,
// APY over X days
"x_day_apy": "0",
// 7-day APY
"apy_7d": "0",
// 30-day APY
"apy_30d": "0",
// 90-day APY
"apy_90d": "0",
// 180-day APY
"apy_180d": "0",
// 1-year APY
"apy1year": "0",
// APY since inception
"inception_to_date_apy": "0",
// 7-day return
"return_7d": "0",
// 30-day return
"return_30d": "0",
// 90-day return
"return_90d": "0",
// 180-day return
"return_180d": "0",
// 1-year return
"return1year": "0",
// Return since inception
"return_since_inception": "0",
// Year-to-date return
"ytd_return": "0",
// Yearly volatility
"yearly_volatility": "0",
// Yearly Sharpe ratio
"yearly_sharpe_ratio": "0",
// Maximum drawdown in the last 30 days
"maximum_drawdown_30d": "0",
// Latest net asset value
"latest_nav": "1",
// Timestamp of the latest NAV in milliseconds
"latest_nav_time_milli": 0,
// Latest assets under management in USD
"latest_usd_aum": "0",
// Reported net asset value
"reported_nav": "0",
// Performance related to Bitcoin
"bit_coin_performance": "0",
// Absolute return
"absolute_return": "0",
// Time-weighted return
"time_weighted_return": "0",
// Sortino ratio
"sortino_ratio": "0",
// Calmar ratio
"calmar_ratio": "0",
// Net leverage ratio
"net_leverage_ratio": "0",
// Gross leverage ratio
"gross_leverage_ratio": "0",
// Gross delta
"gross_delta": "0",
// Maximum drawdown in the last 7 days
"max_drawdown_last_7_days": "0",
// Maximum drawdown in the last 6 months
"max_drawdown_last_6_months": "0",
// Maximum drawdown since inception
"max_drawdown_since_inception": "0",
// Timestamp of the last disclosure date
"last_disclosure_date": 1719964800000,
// UNIX timestamp of the last disclosure date
"last_disclosure_date_u_time": 1719878400000,
// Update frequency in months
"update_frequency_month": 0,
// Update frequency in month days
"update_frequency_month_day": 0,
// Update frequency in days
"update_frequency_day": 2,
// Range of days for the data
"data_range_days": 1,
// Flag for NAV display in reports
"is_report_nav_display": 2,
// Report RCU ID
"report_rcu_id": 3337,
// Reported external account ID
"reported_ex_account_id": "0",
// Flag for monitoring co-investment ratio
"is_monitor_co_investment_ratio": 1,
// Flag for auto NAV calculation
"is_auto_nav_calculation": 1,
// Flag for NAV display before fee
"is_shown_nav_before_fee": 2,
// Default shown net asset value
"default_shown_nav": 0,
// Performance fee mode for platform
"mp_performance_fee_mode": 1,
// Performance fee rate for platform
"mp_performance_fee_rate": "0.01",
// Performance fee mode for strateegy manager
"fm_performance_fee_mode": 2,
// Performance fee rate for strategy manager
"fm_performance_fee_rate": "0.01",
// Fixed fee rate for platform
"mp_platform_fixed_fee_rate": "0.01",
// Fixed fee rate for platform
"fm_platform_fixed_fee_rate": "0.01",
// Subscription fee rate
"subscription_fee_rate": "0.06",
// Redemption fee rate
"redemption_fee_rate": "0.01",
// Month for profit billing cycle
"profit_bill_cycling_month": 1,
// Day of the month for profit billing cycle
"profit_bill_cycling_day": 1,
// Network group commission rebate
"network_group_commission_rebate": "0.3",
// Accumulated commission rebate for profit
"fm_profit_acc_commission_rebate": "0.2",
// Scope of commission rebate
"commission_rebate_scope": 15,
// Minimum subscription amount
"min_subscription_amount": "0.0001",
// Daily subscription limit for users
"user_daily_subscription_limit": "-1",
// Subscription limit for users
"user_subscription_limit": "-1",
// Flag for launchpad status
"is_launchpad": 2,
// Minimum redemption shares
"min_redemption_shares": "0.0001",
// Timestamp for the start of the close period
"close_period_start_time": 0,
// Timestamp for the end of the close period
"close_period_end_at_time": 0,
// Number of days in the lockup period
"lockup_period_days": 0,
"strategy_manager": {
// Name of the strategy manager
"name": "JZL Capital",
// Profit account ID
"profit_account_id": "123",
// Network group ID
"network_group_id": "",
// Type of the strategy manager
"type": 1,
// URL of the team's logo
"team_logo": "https://i.imgur.com/IrtwPtb.png",
// Website of the strategy manager
"website": "https://www.jzlcapital.xyz/",
"schools": [
{
// URL of the school logo
"logo_url": "https://imgur.com/HDG4GgR",
// ID of the product school
"product_school_id": "7213729252712505344",
"name": [
{
// Language code
"language": "en-US",
// School name in the specified language
"text": "University of Washington"
},
{
// Language code
"language": "zh-CN",
// School name in the specified language
"text": "华盛顿大学 "
},
{
// Language code
"language": "zh-TW",
// School name in the specified language
"text": "華盛頓大學"
}
]
}
],
"team_description": [
{
// Language code
"language": "en-US",
// Team description in the specified language
"text": "<p>JZL Capital is a professional institution focusing on blockchain ecological research and investment, founded in Hong Kong. The founding team has rich experience, having served as CEOs and executive directors of many overseas listed companies. They also led the investment into eToro, the world's leading social investment network platform headquartered in Israel, embarking on their research and investment in the blockchain ecosystem. JZL Capital's quant team was established in 2021 and has reached strategic partnerships with multiple exchanges and institutions.</p>"
},
{
// Language code
"language": "zh-CN",
// Team description in the specified language
"text": "<p>团队成员毕业于芝加哥大学、卡耐基梅隆大学、莱斯大学、华盛顿大学、南洋理工、复旦大学等国内外一流名校,并曾服务于摩根士丹利、微软、美国银行、阿里巴巴等知名企业,拥有丰富的金融、互联网与区块链从业经验。</p>"
},
{
// Language code
"language": "zh-TW",
// Team description in the specified language
"text": "<p>團隊成員畢業於芝加哥大學、卡耐基梅隆大學、萊斯大學、華盛頓大學、南洋理工、復旦大學等國內外一流名校,並曾服務於摩根士丹利、微軟、美國銀行、阿里巴巴等知名企業,擁有豐富的金融、互聯網與區塊鏈從業經驗。</p>"
}
],
// PB strategy account ID
"pb_strategy_account_id": null,
// Avatar URL
"avatar": ""
},
// Code
"code": "",
// Bind code
"bind_code": "",
// Private strategy visibility flag
"private_strategy_visibility": 0,
"product_fee_structure_v2": {
// Fee structure type
"type": "private_advanced",
// Fee model ID
"fee_model_id": "7213729255078092800",
// Performance fee mode for platform
"mp_performance_fee_mode": 1,
"mp_performance_fee_rate": [
{
// AUM start
"aum_start": "0",
// AUM end
"aum_end": "0",
// Fee rate
"fee_rate": "0.01"
}
],
// Performance fee mode for strategy manager
"fm_performance_fee_mode": 2,
"fm_performance_fee_rate": [
{
// AUM start
"aum_start": "0",
// AUM end
"aum_end": "0",
// Fee rate
"fee_rate": "0.01"
}
],
// Fixed fee rate for platform
"mp_platform_fixed_fee_rate": [
{
// AUM start
"aum_start": "0",
// AUM end
"aum_end": "0",
// Fee rate
"fee_rate": "0.01"
}
],
// Fixed fee rate for platform
"fm_platform_fixed_fee_rate": [
{
// AUM start
"aum_start": "0",
// AUM end
"aum_end": "0",
// Fee rate
"fee_rate": "0.01"
}
],
"redemption_fee_rate": [
{
// Period start
"period_start": 0,
// Period end
"period_end": 0,
// Fee rate
"fee_rate": "0.01"
}
],
// Subscription fee rate
"subscription_fee_rate": "0.06",
// Month for profit billing cycle
"profit_bill_cycling_month": 1,
// Day of the month for profit billing cycle
"profit_bill_cycling_day": 1,
// Network group commission rebate
"network_group_commission_rebate": "0.3",
// Accumulated commission rebate for profit
"fm_profit_acc_commission_rebate": "0.2",
// Scope of commission rebate
"commission_rebate_scope": 15
},
// Promotion activity
"promotion_activity": null
},
// Response message
"message": ""
}
User Holding
Interface Description
- This API endpoint fetches detailed information about a user's holdings details of products based on various filters.
GET
/strategy/api/v2/user/holdingRequest Parameters
- Request Parameter Location: query_string
- Additional Explanation: cleared means the user does not have any unfinished order on this product
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| is_cleared | boolean | N | - | Flag indicating if only cleared products should be returned |
| is_holding | boolean | N | - | Flag indicating if only currently holding products should be returned |
| product_id | string | N | - | ID of the specific product |
- Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \\
'https://mapi.matrixport.com/strategy/api/v2/product?USER-ID=472107&is_cleared=false&is_holding=true&product_id=7213729255023566848' \\
-H 'accept: application/json'
Response Results
- The response string provides detailed information about the products. General string text has been omitted for brevity.
Response Data structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | return code |
| data | array | array of product holding info, each one corresponds to a certain product |
| data.cumulative_holding_days | integer | The cumulative holding days of all orders the user has placed |
| data.cumulative_holding_days | integer | The cumulative holding days of all orders the user has placed |
| data.cumulative_revenues | string | equals to the sum result of unrealized revenues and realized revenue |
| data.cumulative_yield | string | cumulative_revenues/total subscription amount |
| data.currency | string | Currency of the product |
| data.display_name | array | Display name in multiple languages |
| data.display_name.language | string | Language code |
| data.display_name.text | string | Display name in the specified language |
| data.effective_orders_count | integer | Number of effective orders |
| data.est_redemption_confirm_timestamp | integer | Estimated redemption confirmation timestamp |
| data.est_subscription_confirm_timestamp | integer | Estimated subscription confirmation timestamp |
| data.holding_amount | string | Holding amount |
| data.holding_apy | string | Holding annual percentage yield |
| data.holding_balance | string | Holding balance |
| data.holding_status | ProductHoldingStatus(integer) | Holding status |
| data.holding_yield | string | Yield of holding |
| data.investment_rules | array | Investment rules in multiple languages |
| data.investment_rules.language | string | Language code |
| data.investment_rules.text | string | Investment rules in the specified language |
| data.latest_before_fee_nav | string | Latest net asset value before fee |
| data.latest_nav | string | Latest net asset value |
| data.latest_nav_timestamp | integer | Latest net asset value timestamp |
| data.lock_shares | string | Locked shares |
| data.pending_amount | string | Pending amount equals to holding_amount plus redeeming amount |
| data.pending_amount_usd | string | Pending amount in USD |
| data.position_cost | string | Position cost of the product |
| data.product_id | string | Product ID |
| data.realized_revenues | string | Realized revenues |
| data.realized_yield | string | Realized yield |
| data.redeeming | string | Redeeming shares |
| data.redeeming_amount | string | Redeeming amount |
| data.redeeming_amount_usd | string | Redeeming amount in USD |
| data.redempted | string | Redeemed shares |
| data.redemption_amount | string | Redemption amount |
| data.redemption_date | integer | Redemption date timestamp |
| data.reserved_redemption_shares | string | Reserved redemption shares |
| data.reserved_subscription_amount | string | Reserved subscription amount |
| data.shares | string | shares |
| data.subscribing | string | Subscribing amount |
| data.subscription_amount | string | Subscription amount |
| data.subscription_amount_before_fee | string | Subscription amount before fee |
| data.subscription_shares | string | Subscription shares |
| data.un_confirmed_amount | string | Unconfirmed amount |
| data.unrealized_pnl | string | Unrealized profit and loss |
| data.usd_price | string | USD price |
| data.usd_valuation | string | USD valuation |
| data.yesterday_pnl | string | Profit and loss of the previous day |
| data.yesterday_pnl_rate | string | Profit and loss rate of the previous day |
| data.yesterday_pnl_usd | string | Profit and loss of the previous day in USD |
| message | string | Message providing additional information about the response |
- Response Example
{
// Status code of the response
"code": 0,
"data": [
{
// Product ID
"product_id": "7214442311336714240",
"display_name": [
{
// Language code
"language": "en-US",
// Display name in the specified language
"text": "0704mockcancel01"
},
{
// Language code
"language": "zh-CN",
// Display name in the specified language
"text": "0704mockcancel01"
},
{
// Language code
"language": "zh-TW",
// Display name in the specified language
"text": "0704mockcancel01"
}
],
// Currency of the product
"currency": "USDT",
// Holding balance
"holding_balance": "8.1",
// Number of shares
"shares": "0",
// Redeeming amount
"redeeming": "0",
// Redeeming amount
"redeeming_amount": "0",
// Redeeming amount in USD
"redeeming_amount_usd": "0",
// Subscribing amount
"subscribing": "8.1",
// Pending amount equals to holding_amount plus redeeming amount
"pending_amount": "8.1",
// Pending amount in USD
"pending_amount_usd": "8.095303296",
// Redeemed shares
"redempted": "0",
// Locked shares
"lock_shares": "0",
// Reserved redemption shares
"reserved_redemption_shares": "0",
// Reserved subscription amount
"reserved_subscription_amount": "0",
// Realized revenues
"realized_revenues": "0",
// Realized yield
"realized_yield": "0",
// cumulative_revenues/total subscription amount
"cumulative_yield": "0",
// Equals to the sum result of unrealized revenues and realized revenue
"cumulative_revenues": "0",
// Subscription amount
"subscription_amount": "0",
// Subscription amount before fee
"subscription_amount_before_fee": "0",
// Subscription shares
"subscription_shares": "0",
// Unconfirmed amount
"un_confirmed_amount": "8.1",
// Redemption amount
"redemption_amount": "0",
// Unrealized profit and loss
"unrealized_pnl": "0",
// Holding amount
"holding_amount": "0",
// Yield of holding
"holding_yield": "0",
// USD valuation
"usd_valuation": "8.095303296",
// USD price
"usd_price": "0.99942016",
// Latest net asset value
"latest_nav": "1.005",
// Latest net asset value before fee
"latest_before_fee_nav": "1.005",
// Latest net asset value timestamp
"latest_nav_timestamp": 1720051200000,
// Holding annual percentage yield
"holding_apy": "0",
// Profit and loss of the previous day
"yesterday_pnl": "0",
// Profit and loss of the previous day in USD
"yesterday_pnl_usd": "0",
// Profit and loss rate of the previous day
"yesterday_pnl_rate": "0",
// Position cost of the product
"position_cost": "0",
// Investment rules in multiple languages
"investment_rules": [],
// Redemption date timestamp
"redemption_date": 0,
// Holding status
"holding_status": 1,
// Number of effective orders
"effective_orders_count": 0,
// The cumulative holding days of all orders the user has placed
"cumulative_holding_days": 0,
// Estimated subscription confirmation timestamp
"est_subscription_confirm_timestamp": 1720396800000,
// Estimated redemption confirmation timestamp
"est_redemption_confirm_timestamp": 0
}
],
// Message providing additional information about the response
"message": ""
}
User Holding Volume
Interface Description
- This API endpoint provides aggregated statistics of all currently held and settled strategy holdings for a user.
GET
/strategy/api/v2/user/holding/volumeRequest Parameters
- no parameter required
Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \\
'https://mapi.matrixport.com/strategy/api/v2/user/holding/volume' \\
-H 'accept: application/json' \\
-H 'USER-ID: request_user_id' \\
-H 'uid: unique_identifier'
Response Results
- The response returns a structure about a user's aggregated holding information of all products in holding
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| count | integer | Total number of holdings |
| amount | string | Total amount of holdings |
| apy | string | Total weighted average annual percentage yield |
| avg_holding_period | string | Average holding period in days |
| subscribing | string | Total Amount currently subscribing |
| redeeming | string | Total Amount currently redeeming |
| reserving_to_subscribe | string | Total Amount reserved to subscribe |
| reserving_to_redeem | string | Total Amount reserved to redeem |
| cumulative_yield | string | Total cumulative yield = Total cumulative revenues/Total subscribed amount |
| cumulative_revenues | string | Total cumulative revenues |
| realized_yield | string | Realized yield = Realized revenues / Total subscribed amount |
| realized_revenues | string | Total Realized revenues |
| unrealized_pnl | string | Total Unrealized profit and loss |
| holding_amount | string | Total holding amount |
| holding_yield | string | Total holding yield = Total Unrealized profit and loss/ total holding amount |
| pnl_yield | string | Total profit and loss yield (deprecated) |
| subscribed_amount | string | Total subscribed amount |
| yesterday_pnl | string | Total Profit and loss of the previous day |
| yesterday_hold_amount_usd | string | Total Holding amount in USD of the previous day |
| yesterday_yield | string | Total Yield of the previous day |
| message | string | Message providing additional information about the response |
- Response Example
{
// Status code of the response
"code": 0,
"data": {
// Total number of holdings
"count": 1,
// Total amount of holdings
"amount": "23.373538578",
// Total weighted average annual percentage yield
"apy": "0",
// Average holding period in days
"avg_holding_period": "2",
// Total amount currently subscribing
"subscribing": "0",
// Total amount currently redeeming
"redeeming": "0",
// Total amount reserved to subscribe
"reserving_to_subscribe": "0",
// Total amount reserved to redeem
"reserving_to_redeem": "0",
// Total cumulative yield = Total cumulative revenues/Total subscribed amount
"cumulative_yield": "0",
// Total cumulative revenues
"cumulative_revenues": "0",
// Realized yield = Realized revenues / Total subscribed amount
"realized_yield": "0",
// Total realized revenues
"realized_revenues": "0",
// Total unrealized profit and loss
"unrealized_pnl": "0",
// Total holding amount
"holding_amount": "23.373538578",
// Total holding yield = Total unrealized profit and loss / total holding amount
"holding_yield": "0",
// Total profit and loss yield (deprecated)
"pnl_yield": "0",
// Total subscribed amount
"subscribed_amount": "23.373538578",
// Total profit and loss of the previous day
"yesterday_pnl": "0",
// Total holding amount in USD of the previous day
"yesterday_hold_amount_usd": "0",
// Total yield of the previous day
"yesterday_yield": "0"
},
// Message providing additional information about the response
"message": ""
}
Order Details
Interface Description
- This API endpoint fetches detailed information about a specific order for a user.
GET
/strategy/api/v2/orderRequest Parameters
- Request Parameter Location: query_string
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| order_id | string | N | query_string | ID of the specific order |
| serial_no | string | N | query_string | serial number of the order |
- Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \\
'https://mapi.matrixport.com/strategy/api/v2/order?order_id=7213808580171259904' \\
-H 'accept: application/json' \\
-H 'USER-ID: request_user_id'
Response Results
- The response returns a structure about a order detailed information a user has placed
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response |
| data | object | Contains the data of the response |
| data.actual_subscription_amount | string | Actual amount of the subscription |
| data.confirm_nav | string | Confirmed net asset value |
| data.confirm_nav_time | integer | Timestamp of the confirmed NAV |
| data.display_name | array | Display name in multiple languages |
| data.display_name.language | string | Language code |
| data.display_name.text | string | Display name in the specified language |
| data.err_code | integer | Error code |
| data.estimate_confirm_time | integer | Estimated confirmation time |
| data.high_water_nav | string | High water net asset value |
| data.high_water_nav_time | integer | Timestamp of the high water NAV |
| data.manage_fee_accrual_time | integer | Timestamp of the management fee accrual |
| data.order_id | string | ID of the order |
| data.serial_no | string | serial number of the order |
| data.product_id | string | ID of the product |
| data.redeeming_share | string | Share being redeemed |
| data.redemption_share | string | Share already redemption |
| data.remark | string | Remark |
| data.status | OrderStatusType(integer) | Status of the order |
| data.subscription_amount | string | Amount of the subscription |
| data.subscription_currency | string | Currency of the subscription |
| data.subscription_fee | string | Fee for the subscription |
| data.subscription_fee_rate | string | Rate of the subscription fee |
| data.subscription_refund_amount | string | Amount refunded from the subscription (in launchpad mode) |
| data.subscription_share | string | Share of the subscription |
| data.subscription_time | integer | Timestamp of the subscription |
| data.sync_agreement | boolean | Whether the subscription is synchronized with the agreement |
| data.unlock_time | integer | Timestamp when the subscription unlocks |
| data.user_id | string | ID of the user |
| data.window_batch_id | integer | Window batch ID the order is placed within |
| data.x_request_id | string | Request ID |
| message | string | Message providing additional information about the response |
Response Example
{
"code": 0,
// integer, Status code of the response
"data": {
// string, ID of the user
"user_id": "3090923",
// string, ID of the order
"order_id": "7213808580171259904",
// string, ID of the product
"product_id": "7213807695949062144",
// string, amount of the subscription
"subscription_amount": "25",
// string, currency of the subscription
"subscription_currency": "USDT",
// string, actual amount of the subscription
"actual_subscription_amount": "22.5",
// string, amount refunded from the subscription (in launch pad mode)
"subscription_refund_amount": "0",
// string, fee for the subscription
"subscription_fee": "2.5",
// string, rate of the subscription fee
"subscription_fee_rate": "0.1",
// string, share of the subscription
"subscription_share": "22.5",
// string, share being redeemed
"redeeming_share": "0",
// string, share already redeemed
"redemption_share": "0",
// integer, timestamp of the subscription
"subscription_time": 1719905991568,
// integer, timestamp when the subscription unlocks
"unlock_time": 1724889600000,
// integer, estimated confirmation time
"estimate_confirm_time": 1724947201000,
// integer, timestamp of the confirmed NAV
"confirm_nav_time": 1719705600000,
// string, confirmed net asset value
"confirm_nav": "1",
// string, high water net asset value
"high_water_nav": "1",
// integer, timestamp of the high water NAV
"high_water_nav_time": 1719705600000,
// integer, timestamp of the management fee accrual
"manage_fee_accrual_time": 1719705600000,
// integer, status of the order
"status": 300,
// integer, error code
"err_code": 0,
// string, remark
"remark": "",
// boolean, whether the subscription is synchronized with the agreement
"sync_agreement": false,
// string, request ID
"x_request_id": "",
// array, display name in multiple languages
"display_name": null,
// integer, window batch ID the order is placed within
"window_batch_id": 50,
//string, serial number of the order
"serial_no": "5cf38dd6-8e40-4774-8c5e-4970723d36d4"
},
// string, message providing additional information about the response
"message": ""
}
Order Placement
Interface Description
- This API endpoint is used to place a new order for a product.
POST
/strategy/api/v2/outer/orderRequest Parameters
- Request Parameter Location: body
- Additional Explanation: serial_no field should be between 16-36 characters, only a-z,A-Z,0-9,and dash character(-) are allowed, uuid is suggested to be used as a serial number, and serial_no is unique only under a same user, not globally
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| amount | string | Y | body | Order amount |
| code | string | N | body | Code |
| serial_no | string | Y | body | serial number for the order |
| product_id | string | Y | body | ID of the product |
- Request Example
# Using `curl` to send a POST request:
curl -X 'POST' \
'https://mapi.matrixport.com/strategy/api/v2/outer/order' \
-H 'accept: application/json' \
-H 'USER-ID: request_user_id' \
-H 'Content-Type: application/json' \
-d '{[Redeem_Order_Documentation.md](..%2F..%2F..%2F..%2F..%2F..%2F..%2FDownloads%2FRedeem_Order_Documentation.md)
"amount": "100",
"code": "",
"serial_no": "5cf38dd6-8e40-4774-8c5e-4970723d36d4",
"product_id": "7213792140441542656"
}'
Response Results
- The response returns a order id and order status of a order the user just placed
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Response code |
| data | object | Data containing the order details |
| data.order_id | string | ID of the order |
| data.order_status | OrderStatusType(integer) | Status of the order |
| data.serial_no | string | serial number of the order |
| message | string | Message providing additional information |
Response Example
{
"code": 0,
// integer, Response code
"data": {
"order_id": "7218887028946362368",
// string, ID of the order
"order_status": 300,
// integer, Status of the order
//string, serial number of the order
"serial_no": "5cf38dd6-8e40-4774-8c5e-4970723d36d4"
},
"message": "string"
// string, Message providing additional information
}
Redeem Order
Interface Description
- This API is used to redeem shares of a product.
POST
/strategy/api/v2/outer/redeemRequest Parameters
- Request Parameter Location: body
- Additional Explanation: serial_no field should be between 16-36 characters, only a-z,A-Z,0-9,and dash character(-) are allowed, uuid is suggested to be used as a serial number, and serial_no is unique only under a same user, not globally
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| product_id | string | Y | body | ID of the product |
| share | string | Y | body | Share to be redeemed |
| serial_no | string | Y | body | Serial number of the redeem order |
- Request Example
# Using `curl` to send a POST request:
curl -X 'POST' \
'https://mapi.matrixport.com/strategy/api/v2/outer/redeem' \
-H 'accept: application/json' \
-H 'USER-ID: request_user_id' \
-H 'Content-Type: application/json' \
-d '{
"product_id": "7213807695949062144",
"serial_no": "5cf38dd6-8e40-4774-8c5e-4970723d36d4",
"share": "18"
}'
Response Results
- The response returns a structure about the details information about the redemption order, like the redeem status, fee detail, etc.
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Response code |
| data | object | Data containing the redemption details |
| data.confirm_nav_time | integer | Timestamp of the confirmed NAV |
| data.confirm_time | integer | Timestamp of the confirmation |
| data.fm_performance_fee | string | Strategy manager performance fee |
| data.fm_platform_fixed_fee | string | Strategy manager platform fixed fee |
| data.mp_performance_fee | string | Matrixport performance fee |
| data.mp_platform_fixed_fee | string | Matrixport platform fixed fee |
| data.performance_fee | string | Performance fee |
| data.product_id | string | ID of the product |
| data.redemption_amount | string | Amount of the redemption |
| data.redemption_arrival_time | integer | Timestamp of redemption arrival |
| data.redemption_currency | string | Currency of the redemption |
| data.redemption_fee | string | Redemption fee |
| data.redemption_fee_rate | string | Rate of the redemption fee |
| data.redemption_id | string | ID of the redemption |
| data.redemption_nav | string | Redemption net asset value |
| data.redemption_nav_time | integer | Timestamp of the redemption NAV |
| data.redemption_profit | string | Profit from the redemption |
| data.redemption_share | string | Shares redeemed |
| data.redemption_time | integer | Timestamp of the redemption |
| data.settle_amount | string | settle_amount = Redemption principal + redemption profit - redemption fee |
| data.status | RedemptionStatus(integer) | Status of the redemption |
| data.user_id | string | User ID |
| data.window_batch_id | integer | Window batch ID the redemption is placed within |
| data.serial_no | integer | Serial Number of the redemption record |
| message | string | Message providing additional information |
Response Example
{
// integer, Response code
"code": 0,
"data": {
// integer, Timestamp of the confirmed NAV
"confirm_nav_time": 1719905843862,
// integer, Timestamp of the confirmation
"confirm_time": 1719905880536,
// string, strategy manager performance fee
"fm_performance_fee": "0.3",
// string, strategy manager platform fixed fee
"fm_platform_fixed_fee": "0.2",
// string, Matrixport performance fee
"mp_performance_fee": "0.2",
// string, Matrixport platform fixed fee
"mp_platform_fixed_fee": "0.2",
// string, Performance fee
"performance_fee": "0.2",
// string, ID of the product
"product_id": "7213807695949062144",
// string, Amount of the redemption
"redemption_amount": "20",
// integer, Timestamp of redemption arrival
"redemption_arrival_time": 0,
// string, Currency of the redemption
"redemption_currency": "USDT",
// string, Redemption fee
"redemption_fee": "0.2",
// string, Rate of the redemption fee
"redemption_fee_rate": "0.02",
// string, ID of the redemption
"redemption_id": "7218887025964212224",
// string, Redemption net asset value
"redemption_nav": "1.01",
// integer, Timestamp of the redemption NAV
"redemption_nav_time": 1719905880536,
// string, Profit from the redemption
"redemption_profit": "1.5",
// string, Shares redeemed
"redemption_share": "18",
// integer, Timestamp of the redemption
"redemption_time": 1719905880536,
// string, Settlement amount = Redemption principal + redemption profit - redemption fee
"settle_amount": "20",
// integer, Status of the redemption
"status": 400,
// string, User ID
"user_id": "472107",
// integer, Window batch ID the redemption is placed within
"window_batch_id": 32,
// Serial Number of the redemption record
"serial_no": "5cf38dd6-8e40-4774-8c5e-4970723d36d4"
},
// string, Message providing additional information
"message": "string"
}
Redemption Details
Interface Description
- This API endpoint retrieves redemption details based on the provided order ID and serial number.
GET
/strategy/api/v2/redeemRequest Parameters
Request Parameter Location: query_string
| Parameter Name | Type | Mandatory | Description |
|---|---|---|---|
| order_id | string | Y | ID of the order |
| serial_no | string | Y | Order serial number |
- Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \
'https://mapi.matrixport.com/strategy/api/v2/redeem?order_id=7218891282591375360&serial_no=7218891282591375360' \
-H 'USER-ID: request user id' \
-H 'accept: application/json'
Response Results The response returns detailed redemption information.
Response Data Structure & Description
- settle_amount = redemption principal + redemption profit
- redemption_amount = redemption_share * before_fee_nav
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response |
| data | object | Contains the redemption data |
| data.confirm_nav_time | integer | Timestamp of confirmed NAV |
| data.confirm_time | integer | Confirmation timestamp |
| data.fm_performance_fee | string | Strategy Manager performance fee |
| data.fm_platform_fixed_fee | string | Strategy Manager Matrixport platform fixed fee |
| data.mp_performance_fee | string | Matrixport platform performance fee |
| data.mp_platform_fixed_fee | string | Matrixport platform fixed fee |
| data.performance_fee | string | Performance fee |
| data.product_id | string | ID of the redeemed product |
| data.redemption_amount | string | Redemption amount |
| data.redemption_arrival_time | integer | Timestamp of redemption arrival |
| data.redemption_currency | string | Currency used for redemption |
| data.redemption_fee | string | Redemption fee |
| data.redemption_fee_rate | string | Redemption fee rate |
| data.redemption_id | string | ID of the redemption |
| data.redemption_nav | string | NAV used for redemption |
| data.redemption_nav_time | integer | Timestamp of NAV used for redemption |
| data.redemption_profit | string | Profit from redemption after fee |
| data.redemption_share | string | shares redeemed |
| data.redemption_time | integer | Timestamp of redemption |
| data.serial_no | string | Redemption order serial number |
| data.settle_amount | string | Settled amount after redemption fees and charges |
| data.status | RedemptionStatus(integer) | Status of the redemption transaction |
| data.window_batch_id | integer | Window batch ID for redemption |
| message | string | Additional information message |
- Response Example
{
// integer, Status code of the response
"code": 0,
// object, Contains the redemption data
"data": {
// string, ID of the redemption
"redemption_id": "7218891282591375360",
// string, ID of the user
"user_id": "605788",
// string, ID of the redeemed product
"product_id": "7218891251402530816",
// integer, Timestamp of redemption arrival
"redemption_arrival_time": 0,
// integer, Timestamp of redemption
"redemption_time": 1721779200000,
// integer, Confirmation timestamp
"confirm_time": 1721117804168,
// integer, Timestamp of confirmed NAV
"confirm_nav_time": 0,
// string, Currency used for redemption
"redemption_currency": "USDT",
// string, Shares redeemed
"redemption_share": "1000",
// string, NAV used for redemption
"redemption_nav": "1.037468493150684931",
// integer, Timestamp of NAV used for redemption
"redemption_nav_time": 1721952000000,
// RedemptionStatus(integer), Status of the redemption transaction
"status": 400,
// string, Redemption fee rate
"redemption_fee_rate": "0.03",
// string, Redemption fee
"redemption_fee": "31.124054794520547929",
// string, Performance fee
"performance_fee": "0",
// string, Matrixport platform performance fee
"mp_performance_fee": "7.5",
// string, strategy Manager Matrixport platform fixed fee
"fm_performance_fee": "2.500000000000000509",
// string, Matrixport platform fixed fee
"mp_platform_fixed_fee": "0.920547945205479451",
// string, strategy Manager Matrixport platform fixed fee
"fm_platform_fixed_fee": "1.61095890410958904",
// string, Profit from redemption after fee
"redemption_profit": "6.344438356164383071",
// string, Settled amount after redemption fees and charges
"settle_amount": "1006.344438356164383071",
// integer, Window batch ID for redemption
"window_batch_id": 861,
// string, Redemption amount
"redemption_amount": "1050",
// string, Redemption order serial number
"serial_no": "7218891282591375360"
},
// string, Additional information message
"message": ""
}
Cancel Order
Interface Description
- This API is used to cancel an existing order, to be noticed, only waiting confirm order can be cancelled.
POST
/strategy/api/v2/order/cancelRequest Parameters
- Request Parameter Location: body
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| order_id | string | Y | body | ID of the order to cancel |
- Request Example
#Using `curl` to send a POST request:
curl -X 'POST' \
'https://mapi.matrixport.com/strategy/api/v2/order/cancel' \
-H 'accept: application/json' \
-H 'USER-ID: request_user_id' \
-H 'Content-Type: application/json' \
-d '{
"order_id": "7181563878688808960"
}'
Response Results
- The response returns a structure about the order id and order status information about a order the user managers to cancel
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Response code |
| data | object | Data containing the order details |
| data.order_id | string | ID of the order |
| data.order_status | OrderStatusType(integer) | Status of the order |
| message | string | Message providing additional information |
Response Example
{
// integer, Response code
"code": 0,
"data": {
// string, ID of the order
"order_id": "7181563878688808960",
// integer, Status of the order
"order_status": 200
},
// string, Message providing additional information
"message": ""
}
Cancel Redeem Order
Interface Description
- This API endpoint cancels a redeem order for a user.
POST
/strategy/api/v2/redeem/cancelRequest Parameters
- Request Parameter Location: body
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| order_id | string | Y | body | ID of the order to be cancelled |
- Request Example
# Using `curl` to send a POST request:
curl -X 'POST' \
'https://mapi.matrixport.com/strategy/api/v2/redeem/cancel' \
-H 'accept: application/json' \
-H 'USER-ID: user123' \
-H 'Content-Type: application/json' \
-d '{
"order_id": "7217078982746169344"
}'
Repose Results
- omitted
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response |
| data | object | Contains the data of the response |
| message | string | Message providing additional information |
- Response Example
{
"code": 0,
// integer, Status code of the response
"data": {},
// object, Contains the data of the response
"message": ""
// string, Message providing additional information
}
Trade Record
Interface Description
- This API endpoint fetches detailed information about a user's trade records including subscription and redemption.
GET
/strategy/api/v2/user/trade_recordRequest Parameters
- Request Parameter Location: query_string
- additional explanation: The status field returns different values based on whether the order is a subscription or redemption. The returned value is one from either OrderStatusType or RedemptionStatus.
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| currency | string | N | query_string | Currency of the order |
| limit | integer | N | query_string | Limit of records per page |
| offset | integer | N | query_string | Offset for pagination |
| order_id | string | N | query_string | ID of the specific order |
| order_type | integer | N | query_string | Type of the order eg. OrderTypeDeposit=1, OrderTypeRedeem = 2 |
| product_id | string | N | query_string | ID of the product |
| start_time | integer | N | query_string | Start time filter |
| end_time | integer | N | query_string | End time filter |
| status | integer | N | query_string | Status of the order |
| status_type | FilterStatusType(string) | N | query_string | Type of order status |
| user_id | string | N | query_string | ID of the user |
- Request Example
#Using `curl` to send a GET request:
curl -X 'GET' \
'https://mapi.matrixport.com/strategy/api/v2/user/trade_record?currency=USDT&start_time=1626012000000&end_time=1628690400000' \
-H 'accept: application/json' \
-H 'USER-ID: user123'
Response Results
- The Response returns a structure of order records the user has ever placed, distinct by order type
Response Data Structure & Description
- additional explanation:
- The status field returns different values based on whether the order is a subscription or redemption. The returned value is one from either OrderStatusType or RedemptionStatus.
- For subscription order, the timestamp is subscription timestamp. For redemption, it is the timestamp at which the redemption is placed
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response |
| data | object | Contains the data of the response |
| data.count | integer | Total count of records |
| data.items | array | List of order record items |
| data.items.amount | string | Subscription amount of order (only for subscription) |
| data.items.currency | string | Currency of the order |
| data.items.order_id | string | ID of the order |
| data.items.order_type | integer | Type of the order, eg. OrderTypeDeposit=1, OrderTypeRedeem = 2 |
| data.items.product_display_name | array | Display name in multiple languages |
| data.items.product_id | string | ID of the product |
| data.items.product_name | string | Name of the product |
| data.items.share | string | Redemption share of the order (only for redemption) |
| data.items.status | integer | Status of the order |
| data.items.time_stamp | integer | Timestamp of the order |
| data.items.user_id | string | ID of the user |
| data.items.subscription_fee_rate | string | Subscription fee rate |
| data.items.redemption_fee_rate | string | Redemption fee rate |
| data.items.fm_performance_fee | string | Strategy Manager performance fee |
| data.items.mp_performance_fee | string | Matrixport platform performance fee |
| data.items.mp_platform_fixed_fee | string | Matrixport platform fixed fee |
| data.items.fm_platform_fixed_fee | string | Strategy Manager platform fixed fee |
| data.items.subscription_fee | string | Subscription fee |
| data.items.redemption_fee | string | Redemption fee |
| data.items.confirm_shares_time | integer | Confirm shares timestamp |
| data.items.confirm_nav | string | Confirmed NAV |
| message | string | Message providing additional information |
- Response Example
{
"code": 0,
// integer, Status code of the response
"data": {
// integer, Total count of records
"count": 1,
// array, List of trade record items
"items": [
{
// string, Subscription amount of order (only for subscription)
"amount": "5000",
// string, Currency of the order
"currency": "USDT",
// string, ID of the order
"order_id": "7217078982746169344",
// integer, Type of the order, eg. OrderTypeDeposit=1, OrderTypeRedeem = 2
"order_type": 1,
// array, Display name in multiple languages
"product_display_name": [
{
// string, Language code
"language": "en-US",
// string, Display name in the specified language
"text": "0xlulu t突击策略"
},
{
"language": "ru-RU",
"text": "0xlulu t突击策略"
},
{
"language": "zh-CN",
"text": "0xlulu t突击策略"
},
{
"language": "zh-TW",
"text": "0xlulu t突击策略"
}
],
// string, ID of the product
"product_id": "7217078701178347520",
// string, Name of the product
"product_name": "0xlulu t突击策略",
// string, Redemption share of the order (only for redemption)
"share": "4500",
// integer, Status of the order
"status": 300,
// integer, Timestamp of the order
"time_stamp": 1720685716279,
// string, ID of the user
"user_id": "51456",
// string, Subscription fee rate
"subscription_fee_rate": "0.1",
// string, Redemption fee rate
"redemption_fee_rate": "0",
// string, strategy Manager performance fee
"fm_performance_fee": "0",
// string, Matrixport platform performance fee
"mp_performance_fee": "0",
// string, Matrixport platform fixed fee
"mp_platform_fixed_fee": "0",
// string, strategy Manager platform fixed fee
"fm_platform_fixed_fee": "0",
// string, Subscription fee
"subscription_fee": "500",
// string, Redemption fee
"redemption_fee": "0",
// integer, Confirm shares timestamp
"confirm_shares_time": 1720656000000,
// string, Confirmed NAV
"confirm_nav": "1"
}
]
},
// string, Message providing additional information
"message": ""
}
NAV Chart Data
Interface Description
- This API endpoint fetches NAV chart data for a specific product.
GET
/strategy/api/v2/risk/nav_chart_data_v2Request Parameters
- Request Parameter Location: query_string
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| day_timestamp_end | integer | Y | query_string | End timestamp for the data |
| day_timestamp_start | integer | Y | query_string | Start timestamp for the data |
| product_id | string | Y | query_string | ID of the product |
- Request Example
#Using `curl` to send a GET request:
curl -X 'GET' \
'https://mapi.matrixport.com/strategy/api/v2/risk/nav_chart_data_v2?day_timestamp_start=1626012000000&day_timestamp_end=1628690400000&product_id=7213729255023566848' \
-H 'accept: application/json'
Response Results
- The Response returns a structure which contains two list of nav records, one of which is a list of normal nav record, the other is a list of real time nav record.
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response |
| data | object | Contains the data of the response |
| data.normal_nav | array | List of normal NAV records |
| data.normal_nav.before_fee_nav | string | Nav before fee |
| data.normal_nav.day_timestamp | integer | Day timestamp of the NAV |
| data.normal_nav.is_daily_first | integer | Indicator if it's the first NAV of the day |
| data.normal_nav.nav | string | Nav after fee |
| data.normal_nav.product_id | string | ID of the product |
| data.normal_nav.rcu_id | integer | Risk Control Unit ID |
| data.normal_nav.time_stamp | integer | Timestamp of the NAV |
| data.real_time_nav | array | List of real-time NAV records |
| data.real_time_nav.before_fee_nav | string | NAV before fees |
| data.real_time_nav.day_timestamp | integer | Day timestamp of the NAV |
| data.real_time_nav.is_daily_first | integer | Indicator if it's the first NAV of the day |
| data.real_time_nav.nav | string | Nav after fee |
| data.real_time_nav.product_id | string | ID of the product |
| data.real_time_nav.rcu_id | integer | Risk Control Unit ID |
| data.real_time_nav.time_stamp | integer | Timestamp of the NAV |
| message | string | Message providing additional information |
- Response Example
{
"code": 0,
// integer, Status code of the response
"data": {
// array, List of normal NAV records
"normal_nav": [
{
// integer, Risk Control Unit ID
"rcu_id": 5437,
// integer, Day timestamp of the NAV
"day_timestamp": 1720224000000,
// string, Nav After Fee
"nav": "1",
// string, NAV before fee
"before_fee_nav": "1",
// string, ID of the product
"product_id": "7213729255023566848",
// integer, Timestamp of the NAV
"time_stamp": 1720224000000,
// integer, Indicator if it's the first NAV of the day
"is_daily_first": 1
},
{
"rcu_id": 5437,
"day_timestamp": 1720396800000,
"nav": "1",
"before_fee_nav": "1",
"product_id": "7213729255023566848",
"time_stamp": 1720396800000,
"is_daily_first": 1
},
{
"rcu_id": 5437,
"day_timestamp": 1720483200000,
"nav": "1.013",
"before_fee_nav": "1.013",
"product_id": "7213729255023566848",
"time_stamp": 1720483200000,
"is_daily_first": 1
},
{
"rcu_id": 5437,
"day_timestamp": 1720569600000,
"nav": "1.013",
"before_fee_nav": "1.013",
"product_id": "7213729255023566848",
"time_stamp": 1720569600000,
"is_daily_first": 1
}
],
// array, List of real-time NAV records
"real_time_nav": []
},
// string, Message providing additional information
"message": ""
}
BTC Performance History
Interface Description
- This API endpoint fetches the performance history of BTC for a specific product.
GET
/strategy/api/v2/risk/btc_performance_historyRequest Parameters
- Request Parameter Location: query_string
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| limit | integer | N | query_string | Limit of records for pagination |
| offset | integer | N | query_string | Offset for pagination |
| product_id | string | N | query_string | ID of the product |
| timestamp_in_ms | integer | N | query_string | Timestamp in milliseconds |
| timestamp_in_ms_end | integer | N | query_string | End timestamp in milliseconds |
| timestamp_in_ms_start | integer | N | query_string | Start timestamp in milliseconds |
- Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \
'https://mapi.matrixport.com/strategy/api/v2/risk/btc_performance_history?limit=10&offset=0&product_id=7218887010432704512×tamp_in_ms_start=1626012000000×tamp_in_ms_end=1628690400000' \
-H 'accept: application/json'
Response Results
- The Response returns a list of BTC performance history records for the specified product.
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response |
| data | array | List of BTC performance history records |
| data.day_timestamp_in_ms | integer | Day timestamp in milliseconds |
| data.nav | string | Net Asset Value |
| data.pre_nav | string | Previous Net Asset Value |
| data.pre_rate | string | Previous exchange rate of the currency to USD |
| data.product_id | string | ID of the product |
| data.rate | string | Current exchange rate of the currency to USD |
| data.rcu_id | integer | Risk Control Unit ID |
| data.timestamp_in_ms | integer | Timestamp in milliseconds |
| message | string | Message providing additional information |
- Response Example
{
"code": 0,
// integer, Status code of the response
"data": [
{
// integer, Day timestamp in milliseconds
"day_timestamp_in_ms": 1720396800000,
// string, Net Asset Value
"nav": "1",
// string, Previous Net Asset Value
"pre_nav": "1",
// string, Previous exchange rate of the currency to USD
"pre_rate": "60000",
// string, ID of the product
"product_id": "7218887010432704512",
// string, Current exchange rate of the currency to USD
"rate": "60000",
// integer, Risk Control Unit ID
"rcu_id": 3337,
// integer, Timestamp in milliseconds
"timestamp_in_ms": 1720396800000
},
{
"day_timestamp_in_ms": 1720742400000,
"nav": "1",
"pre_nav": "1",
"pre_rate": "60000",
"product_id": "7218887010432704512",
"rate": "60000",
"rcu_id": 3337,
"timestamp_in_ms": 1720742400000
}
],
// string, Message providing additional information
"message": ""
}
Bind Private Portfolio Access Code
This API endpoint is used to bind an access code to a user's account for accessing a private portfolio.
Request
Method: GET
URL:
/strategy/api/v2/private-portfolio/access-code/bindQuery Parameters:
code(required): The access code to bind (e.g., "RF269")
Headers:
accept:application/json
Response
| Parameter | Type | Description |
|---|---|---|
| code | integer | Response status code (0 = success, non-zero = error) |
| data | string | Product ID associated with the bound access code (e.g., "7368218963505000448") |
| message | string | Status message (empty string for successful requests) |
- Example
Request:
curl -X 'GET' \
'https://mapi.matrixport.com/fund/api/v2/private-portfolio/access-code/bind?code=RF269' \
-H 'accept: application/json' \
-H 'USER-ID: 605788'
Response:
{
"code": 0,
"data": "7368218963505000448",
"message": ""
}
Product Statistical Return Data
Interface Description
- This API endpoint retrieves statistical return data for a specific investment product, including returns, APYs, rankings, and benchmark comparisons across various time periods.
GET
/strategy/api/v2/product/product-statistical-return-dataRequest Parameters
- Request Parameter Location: query_string
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| product_id | string | Y | query_string | ID of the product |
| user_id | string | Y | query_string | ID of the user requesting data |
- Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \
'https://fund.qat.rd2.matrixport.io/fund/api/v2/product/product-statistical-return-data?product_id=7368217089901015040&user_id=740' \
-H 'accept: application/json'
Response Results
- The response returns statistical return data for the specified product, including performance metrics across multiple time periods and their respective rankings.
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response (0 indicates success) |
| data | object | Container for the statistical return data |
| data.product_id | string | ID of the product |
| data.strategy_id | string | ID of the investment strategy |
| data.day_timestamp | integer | Day timestamp reference |
| data.count | integer | Count of records or data points |
| data.rank_return_7d | integer | Ranking based on 7-day return |
| data.rank_return_30d | integer | Ranking based on 30-day return |
| data.rank_return_60d | integer | Ranking based on 60-day return |
| data.rank_return_90d | integer | Ranking based on 90-day return |
| data.rank_return_180d | integer | Ranking based on 180-day return |
| data.rank_return_1year | integer | Ranking based on 1-year return |
| data.rank_return_since_inception | integer | Ranking based on return since inception |
| data.rank_return_ytd | integer | Ranking based on year-to-date return |
| data.rating_return_7d | integer | Rating based on 7-day return |
| data.rating_return_30d | integer | Rating based on 30-day return |
| data.rating_return_60d | integer | Rating based on 60-day return |
| data.rating_return_90d | integer | Rating based on 90-day return |
| data.rating_return_180d | integer | Rating based on 180-day return |
| data.rating_return_1year | integer | Rating based on 1-year return |
| data.rating_return_since_inception | integer | Rating based on return since inception |
| data.rating_return_ytd | integer | Rating based on year-to-date return |
| data.avg_return_7d | string | Average 7-day return |
| data.avg_return_30d | string | Average 30-day return |
| data.avg_return_60d | string | Average 60-day return |
| data.avg_return_90d | string | Average 90-day return |
| data.avg_return_180d | string | Average 180-day return |
| data.avg_return1year | string | Average 1-year return |
| data.avg_return_since_inception | string | Average return since inception |
| data.avg_return_ytd | string | Average year-to-date return |
| data.avg_apy_7d | string | Average 7-day Annual Percentage Yield |
| data.avg_apy_30d | string | Average 30-day Annual Percentage Yield |
| data.avg_apy_60d | string | Average 60-day Annual Percentage Yield |
| data.avg_apy_90d | string | Average 90-day Annual Percentage Yield |
| data.avg_apy_180d | string | Average 180-day Annual Percentage Yield |
| data.avg_apy1year | string | Average 1-year Annual Percentage Yield |
| data.avg_apy_since_inception | string | Average Annual Percentage Yield since inception |
| data.avg_apy_ytd | string | Average year-to-date Annual Percentage Yield |
| data.rank_apy_7d | integer | Ranking based on 7-day APY |
| data.rank_apy_30d | integer | Ranking based on 30-day APY |
| data.rank_apy_60d | integer | Ranking based on 60-day APY |
| data.rank_apy_90d | integer | Ranking based on 90-day APY |
| data.rank_apy_180d | integer | Ranking based on 180-day APY |
| data.rank_apy_1year | integer | Ranking based on 1-year APY |
| data.rank_apy_since_inception | integer | Ranking based on APY since inception |
| data.rank_apy_ytd | integer | Ranking based on year-to-date APY |
| data.benchmark_return_7d | string | Benchmark 7-day return |
| data.benchmark_return_30d | string | Benchmark 30-day return |
| data.benchmark_return_60d | string | Benchmark 60-day return |
| data.benchmark_return_90d | string | Benchmark 90-day return |
| data.benchmark_return_180d | string | Benchmark 180-day return |
| data.benchmark_return_1year | string | Benchmark 1-year return |
| data.benchmark_return_since_inception | string | Benchmark return since inception |
| data.benchmark_return_ytd | string | Benchmark year-to-date return |
| data.benchmark_apy_7d | string | Benchmark 7-day APY |
| data.benchmark_apy_30d | string | Benchmark 30-day APY |
| data.benchmark_apy_60d | string | Benchmark 60-day APY |
| data.benchmark_apy_90d | string | Benchmark 90-day APY |
| data.benchmark_apy_180d | string | Benchmark 180-day APY |
| data.benchmark_apy_1year | string | Benchmark 1-year APY |
| data.benchmark_apy_since_inception | string | Benchmark APY since inception |
| data.benchmark_apy_ytd | string | Benchmark year-to-date APY |
| data.omit_benchmark_data | boolean | Indicates if benchmark data is omitted |
| data.currency_benchmark_hint_words | array | Hint words related to currency benchmark |
| message | string | Message providing additional information (empty for successful responses) |
- Response Example
{
"code": 0,
// integer, Status code of the response (0 indicates success)
"data": {
// string, ID of the product
"product_id": "7368217089901015040",
// string, ID of the investment strategy
"strategy_id": "7368187299626168320",
// integer, Day timestamp reference
"day_timestamp": 0,
// integer, Count of records or data points
"count": 1,
// integer, Ranking based on 7-day return
"rank_return_7d": 1,
// integer, Ranking based on 30-day return
"rank_return_30d": 1,
// integer, Ranking based on 60-day return
"rank_return_60d": 1,
// integer, Ranking based on 90-day return
"rank_return_90d": 1,
// integer, Ranking based on 180-day return
"rank_return_180d": 1,
// integer, Ranking based on 1-year return
"rank_return_1year": 1,
// integer, Ranking based on return since inception
"rank_return_since_inception": 1,
// integer, Ranking based on year-to-date return
"rank_return_ytd": 1,
// integer, Rating based on 7-day return
"rating_return_7d": 0,
// integer, Rating based on 30-day return
"rating_return_30d": 0,
// integer, Rating based on 60-day return
"rating_return_60d": 0,
// integer, Rating based on 90-day return
"rating_return_90d": 0,
// integer, Rating based on 180-day return
"rating_return_180d": 0,
// integer, Rating based on 1-year return
"rating_return_1year": 0,
// integer, Rating based on return since inception
"rating_return_since_inception": 0,
// integer, Rating based on year-to-date return
"rating_return_ytd": 0,
// string, Average 7-day return
"avg_return_7d": "0",
// string, Average 30-day return
"avg_return_30d": "0",
// string, Average 60-day return
"avg_return_60d": "0",
// string, Average 90-day return
"avg_return_90d": "0",
// string, Average 180-day return
"avg_return_180d": "0",
// string, Average 1-year return
"avg_return1year": "0",
// string, Average return since inception
"avg_return_since_inception": "0",
// string, Average year-to-date return
"avg_return_ytd": "0",
// string, Average 7-day Annual Percentage Yield
"avg_apy_7d": "0",
// string, Average 30-day Annual Percentage Yield
"avg_apy_30d": "0",
// string, Average 60-day Annual Percentage Yield
"avg_apy_60d": "0",
// string, Average 90-day Annual Percentage Yield
"avg_apy_90d": "0",
// string, Average 180-day Annual Percentage Yield
"avg_apy_180d": "0",
// string, Average 1-year Annual Percentage Yield
"avg_apy1year": "0",
// string, Average Annual Percentage Yield since inception
"avg_apy_since_inception": "0",
// string, Average year-to-date Annual Percentage Yield
"avg_apy_ytd": "0",
// integer, Ranking based on 7-day APY
"rank_apy_7d": 1,
// integer, Ranking based on 30-day APY
"rank_apy_30d": 1,
// integer, Ranking based on 60-day APY
"rank_apy_60d": 1,
// integer, Ranking based on 90-day APY
"rank_apy_90d": 1,
// integer, Ranking based on 180-day APY
"rank_apy_180d": 1,
// integer, Ranking based on 1-year APY
"rank_apy_1year": 1,
// integer, Ranking based on APY since inception
"rank_apy_since_inception": 1,
// integer, Ranking based on year-to-date APY
"rank_apy_ytd": 1,
// string, Benchmark 7-day return
"benchmark_return_7d": "0",
// string, Benchmark 30-day return
"benchmark_return_30d": "0",
// string, Benchmark 60-day return
"benchmark_return_60d": "0",
// string, Benchmark 90-day return
"benchmark_return_90d": "0",
// string, Benchmark 180-day return
"benchmark_return_180d": "0",
// string, Benchmark 1-year return
"benchmark_return_1year": "0",
// string, Benchmark return since inception
"benchmark_return_since_inception": "0",
// string, Benchmark year-to-date return
"benchmark_return_ytd": "0",
// string, Benchmark 7-day APY
"benchmark_apy_7d": "0",
// string, Benchmark 30-day APY
"benchmark_apy_30d": "0",
// string, Benchmark 60-day APY
"benchmark_apy_60d": "0",
// string, Benchmark 90-day APY
"benchmark_apy_90d": "0",
// string, Benchmark 180-day APY
"benchmark_apy_180d": "0",
// string, Benchmark 1-year APY
"benchmark_apy_1year": "0",
// string, Benchmark APY since inception
"benchmark_apy_since_inception": "0",
// string, Benchmark year-to-date APY
"benchmark_apy_ytd": "0",
// boolean, Indicates if benchmark data is omitted
"omit_benchmark_data": true,
// array, Hint words related to currency benchmark
"currency_benchmark_hint_words": []
},
// string, Message providing additional information
"message": ""
}
Product Windows Information
Interface Description
- This API endpoint retrieves subscription and redemption window information for a specific investment product, including time periods, quotas, and handling details.
GET
/strategy/api/v2/product/windowsRequest Parameters
- Request Parameter Location: query_string
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| product_id | string | Y | query_string | ID of the product |
- Request Headers
| Header Name | Type | Mandatory | Description |
|---|---|---|---|
| USER-ID | string | Y | ID of the user requesting data |
- Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \
'https://fund.qat.rd2.matrixport.io/fund/api/v2/product/windows?product_id=7368511712036859904' \
-H 'accept: application/json' \
-H 'USER-ID: 605788'
Response Results
- The response returns subscription and redemption window details for the specified product, including timeframes, quotas, and processing information.
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response (0 indicates success) |
| data | object | Container for the window information |
| data.subscription_window | object | Subscription window details |
| data.subscription_window.id | integer | Unique identifier for the subscription window |
| data.subscription_window.product_id | string | ID of the product |
| data.subscription_window.product_name | string | Name of the product |
| data.subscription_window.currency | string | Currency used for the product |
| data.subscription_window.start_time | integer | Start timestamp of the subscription window (in milliseconds) |
| data.subscription_window.end_time | integer | End timestamp of the subscription window (in milliseconds) |
| data.subscription_window.latest_confirm_time | integer | Latest confirmation timestamp for subscriptions (in milliseconds) |
| data.subscription_window.confirm_time | integer | Confirmation timestamp for subscriptions (in milliseconds) |
| data.subscription_window.deposit_quota | string | Maximum deposit quota for the subscription window |
| data.subscription_window.deposit_amount | string | Total deposited amount in the subscription window |
| data.subscription_window.is_instant_handling_window | integer | Indicator for instant handling window (2 = enabled) |
| data.redeem_window | object | Redemption window details |
| data.redeem_window.id | integer | Unique identifier for the redemption window |
| data.redeem_window.product_id | string | ID of the product |
| data.redeem_window.product_name | string | Name of the product |
| data.redeem_window.currency | string | Currency used for the product |
| data.redeem_window.start_time | integer | Start timestamp of the redemption window (in milliseconds) |
| data.redeem_window.end_time | integer | End timestamp of the redemption window (in milliseconds) |
| data.redeem_window.latest_confirm_time | integer | Latest confirmation timestamp for redemptions (in milliseconds) |
| data.redeem_window.confirm_time | integer | Confirmation timestamp for redemptions (in milliseconds) |
| data.redeem_window.deposit_quota | string | Maximum quota related to redemptions |
| data.redeem_window.deposit_amount | string | Amount related to redemptions |
| data.redeem_window.is_instant_handling_window | integer | Indicator for instant handling window (0 = disabled) |
| message | string | Message providing additional information (empty for successful responses) |
- Response Example
{
"code": 0,
// integer, Status code of the response (0 indicates success)
"data": {
"subscription_window": {
// integer, Unique identifier for the subscription window
"id": 517,
// string, ID of the product
"product_id": "7368511712036859904",
// string, Name of the product
"product_name": "BDDbdd product",
// string, Currency used for the product
"currency": "USDT",
// integer, Start timestamp of the subscription window (in milliseconds)
"start_time": 1757635200000,
// integer, End timestamp of the subscription window (in milliseconds)
"end_time": 1757721600000,
// integer, Latest confirmation timestamp for subscriptions (in milliseconds)
"latest_confirm_time": 1757894400000,
// integer, Confirmation timestamp for subscriptions (in milliseconds)
"confirm_time": 1757808000000,
// string, Maximum deposit quota for the subscription window
"deposit_quota": "1000000",
// string, Total deposited amount in the subscription window
"deposit_amount": "0",
// integer, Indicator for instant handling window (2 = enabled)
"is_instant_handling_window": 2
},
"redeem_window": {
// integer, Unique identifier for the redemption window
"id": 517,
// string, ID of the product
"product_id": "7368511712036859904",
// string, Name of the product
"product_name": "BDDbdd product",
// string, Currency used for the product
"currency": "USDT",
// integer, Start timestamp of the redemption window (in milliseconds)
"start_time": 1757635200000,
// integer, End timestamp of the redemption window (in milliseconds)
"end_time": 1757721600000,
// integer, Latest confirmation timestamp for redemptions (in milliseconds)
"latest_confirm_time": 1757894400000,
// integer, Confirmation timestamp for redemptions (in milliseconds)
"confirm_time": 1757808000000,
// string, Maximum quota related to redemptions
"deposit_quota": "1000000",
// string, Amount related to redemptions
"deposit_amount": "0",
// integer, Indicator for instant handling window (0 = disabled)
"is_instant_handling_window": 0
}
},
// string, Message providing additional information
"message": ""
}
Product Reservation
Interface Description
- This API endpoint is used to reservation a new order for a product.
POST
/strategy/api/v2/product/reservationRequest Parameters
- Request Parameter Location: body
- Additional Explanation: product_id field should be between 16-36 characters, only a-z,A-Z,0-9,and dash character(-) are allowed, order_type OrderTypeDeposit=1, OrderTypeRedeem = 2, amount is reservation amount, amount unit is currency if deposit, amount unit is share if redeem.
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| amount | string | Y | body | Order amount |
| code | string | N | body | Code |
| order_type | integer | Y | body | Type of the order eg. OrderTypeDeposit=1, OrderTypeRedeem = 2 |
| product_id | string | Y | body | ID of the product |
| reservation_id | string | N | body | ID of the reservation record |
- Request Example
# Using `curl` to send a POST request:
curl -X 'POST' \
'https://mapi.matrixport.com/strategy/api/v2/product/reservation' \
-H 'accept: application/json' \
-H 'USER-ID: request_user_id' \
-H 'Content-Type: application/json' \
-d '{
"amount": "100",
"code": "",
"order_type":1,
"product_id": "7213792140441542656"
}'
Response Results
- The response returns a reservation id and order status of a order the user just reservation
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Response code |
| data | object | Data containing the order details |
| data.reservation_id | string | ID of the reservation record |
| message | string | Message providing additional information |
Response Example
{
"code": 0,
"data": {
"reservation_id": "7218887028946362368"
},
"message": "string"
// string, Message providing additional information
}
Order Agreement Preview
Interface Description
- This API endpoint preview order agreement for a specific product, including agreement number content name.
GET
/strategy/api/v2/order/agreement/previewRequest Parameters
- Request Parameter Location: query_string
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| product_id | string | Y | query_string | ID of the product |
| agreement_type | integer | Y | query_string | eg 1:product protocol 2:risk protocol |
| number | string | Y | query_string | eg fund or fund_risk |
- Request Headers
| Header Name | Type | Mandatory | Description |
|---|---|---|---|
| USER-ID | string | Y | ID of the user requesting data |
- Request Example
# Using `curl` to send a GET request:
curl -X 'GET' \
'https://fund.qat.rd2.matrixport.io/strategy/api/v2/order/agreement/preview?agreement_type=1&number=fund&product_id=7295357230424199168' \
-H 'accept: application/json' \
-H 'USER-ID: 605788'
Response Results
- The response returns product or risk agreement content for the specified product, including language, content, and name information.
Response Data Structure & Description
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response (0 indicates success) |
| data | object | Container for the window information |
| data.agreement_id | integer | ID of the agreement |
| data.number | integer | agreement number |
| data.language | string | agreement language |
| data.content | string | agreement content |
| data.name | string | agreement name |
| message | string | Message providing additional information (empty for successful responses) |
- Response Example
{
"code": 0,
"data": {
"agreement_id": 7295357230424199132,
"number": "fund",
"language": "zh-CN",
"content": "order agreement preview content",
"name": "agreement 1 "
},
"message": ""
}
Reservation Record
Interface Description
This API endpoint fetches detailed information about a user's reservation records including subscription and redemption.
GET
/strategy/api/v2/product/reservation/recordsRequest Parameters
Request Parameter Location: query_string
additional explanation: The status field returns ReservationStatusInit:1 ReservationStatusInReservation:2 ReservationStatusCanceling:3 ReservationStatusCanceled:4 ReservationStatusReservationSuccess:5
| Parameter Name | Type | Mandatory | Location | Description |
|---|---|---|---|---|
| user_id | string | N | query_string | the user of rever |
| limit | integer | N | query_string | Limit of records per page |
| offset | integer | N | query_string | Offset for pagination |
| order_id | string | N | query_string | deposit order id or redeem record id |
| order_type | integer | N | query_string | Type of the order eg. OrderTypeDeposit=1, OrderTypeRedeem = 2 |
| reservation_record_id | integer | N | query_string | reservation_record_id |
| product_id | string | N | query_string | ID of the product |
| created_at_start | integer | N | query_string | create record Start time filter |
| end_time | integer | N | query_string | create record End time filter |
| status | integer | N | query_string | Type of the ReservationStatus |
| currency | string | N | query_string | currency of the product |
- Request Example
#Using `curl` to send a GET request:
curl -X 'GET' \
'https://mapi.matrixport.com/strategy/api/v2/product/reservation/records?reservation_record_id=7226488781719740416' \
-H 'accept: application/json' \
-H 'USER-ID: user123'
Response Results
The Response returns a structure of reservation records the user has ever reservation, distinct by order type
Response Data Structure & Description
additional explanation:
The status field returns The status field returns ReservationStatusInit:1 ReservationStatusInReservation:2 ReservationStatusCanceling:3 ReservationStatusCanceled:4 ReservationStatusReservationSuccess:5
| Parameter Name | Type | Description |
|---|---|---|
| code | integer | Status code of the response |
| data | object | Contains the data of the response |
| data.count | integer | Total count of records |
| data.items | array | List of order record items |
| data.items.amount | string | actual Subscription amount or redemption share of reservation |
| data.items.req_amount | string | user request Subscription amount or redemption share of reservation |
| data.items.currency | string | Currency of the order |
| data.items.order_id | string | ID of the subscription or redemption order |
| data.items.type | integer | Type of the order, eg. OrderTypeDeposit=1, OrderTypeRedeem = 2 |
| data.items.display_name | object | product i18n name |
| data.items.execution_time_milli | integer | The time when the subscription or redemption order is generated |
| data.items.is_customized | integer | the product is customized product or no |
| data.items.status | integer | Status of the reservation record |
| message | string | Message providing additional information |
- Response Example
{
"code": 0,
"data": {
"count": 1,
"items": [
{
"reservation_record_id": "7375858744909049856",
"created_at": 1758541761616,
"status": 5,
"type": 1,
"amount": "1000",
"req_amount": "1000",
"currency": "USDT",
"product_id": "7375858721148317696",
"display_name": [],
"execution_time_milli": 1758541765113,
"product_name": "",
"is_customized": 2,
"order_id": "7375858744909049856"
}
]
},
"message": ""
}
Enums
This part will list out some enums which is too long or frequently appeared, and there to be placed here for easiness of checking
ProductSortRule(int32)
| value | enum value |
|---|---|
| 1 | ProductSortRuleThirtyDaysApy |
| 2 | ProductSortRuleVolatility |
| 3 | ProductSortRuleNumberOfUsers |
| 4 | ProductSortRuleReturnSinceInception |
| 5 | ProductSortRuleSevenDaysReturn |
| 6 | ProductSortRuleThreeMonthsReturn |
| 7 | ProductSortRuleSixMonthsReturn |
| 8 | ProductSortRuleYtdReturn |
| 9 | ProductSortRuleYearlySharpeRatio |
| 10 | ProductSortRuleRunDay |
| 11 | ProductSortRuleThirtyDaysReturn |
| 12 | ProductSortRuleThirtyDaysApyNotRanking |
| 13 | ProductSortRuleMaxDrawDownSinceInception |
| 14 | ProductSortRuleAum |
BoolFlag(int32)
| value | enum value |
|---|---|
| 1 | BoolFlagTrue |
| 2 | BoolFlagFalse |
ApyDisplayRule(int32)
| value | enum value |
|---|---|
| 0 | APYDisplayInceptionToDateAPY |
| 1 | APYDisplayExpected |
| 2 | APYDisplayXDaysAPY |
| 3 | APYDisplayReturnSinceInception |
| 4 | APYDisplay30DReturn |
| 5 | APYDisplay1YDReturn |
CommissionRebateScopeType
| value | enum value |
|---|---|
| 1 | FixedPlatformFee |
| 2 | PerformanceFee |
| 4 | RedemptionFee |
| 8 | SubscriptionFee |
ProductHoldingStatus
| value | enum value |
|---|---|
| 0 | HoldingStatusYetHolding |
| 1 | HoldingStatusPending |
| 2 | HoldingStatusHolding |
| 4 | HoldingStatusRedeemed |
| 8 | HoldingStatusRedeemingProcess |
OrderStatusType
| value | enum value |
|---|---|
| 0 | OrderStatusProcessing |
| 100 | OrderStatusWaitConfirm |
| 110 | OrderStatusCancelRefunding |
| 200 | OrderStatusCancel |
| 300 | OrderStatusClosing |
RedemptionStatus
| value | enum value |
|---|---|
| 0 | RedemptionStatusCreated |
| 100 | RedemptionCanceled |
| 300 | RedemptionStatusWaitSettled |
| 400 | RedemptionStatusSettled |
FilterStatusType
| value | enum value |
|---|---|
| "" | StatusTypeAll |
| pending | StatusTypePending |
| confirm | StatusTypeConfirm |
| cancelled | StatusTypeCancel |
| pending_confirm | StatusTypePendingConfirm |
Error Codes
- Response return calls indicate the call and execution result summary for current API services. Return code messages provide additional information for the user to determine API execution.
- All interface call return values contain an error code (value) and message (error description). See below:
| Error Code | Description (English) |
|---|---|
| 12170001 | No permission |
| 12170002 | Currency mismatch |
| 12170003 | Other |
| 12070501 | File does not exist when downloading |
| 12170003 | Amount must be greater than zero |
| 12170004 | Not implemented |
| 12170005 | Allocation failed |
| 12170006 | New order canceled |
| 12170007 | Must be in a transaction |
| 12170008 | Model is nil when updating the database, cannot find the table to update |
| 12170009 | Not using "for update" in transaction |
| 12070010 | Record not found |
| 12070502 | Failed to upload file to OOS |
| 12070516 | Empty response data |
| 12170101 | RCU already exists |
| 12170102 | Product not in selling status |
| 12170103 | Access code used up |
| 12170104 | Access code count reached limit |
| 12170105 | Less than minimum purchase amount |
| 12170106 | Purchase user group limit |
| 12170107 | Insufficient window balance, deprecated, use CodeErrSubscriptionQuotaLimit |
| 12170108 | Order has been processed |
| 12170109 | Order is processing |
| 12170110 | Transfer amount error |
| 12170111 | Insufficient holding quota |
| 12170112 | Insufficient balance |
| 12170113 | Not within product window period |
| 12170114 | Strategy manager not found |
| 12170115 | Subscription quota limit |
| 12170116 | Redemption quota limit |
| 12170117 | Private product not listed |
| 12170118 | No permission to operate private strategy |
| 12170119 | Private product has orders |
| 12170200 | Incorrect order status |
| 12170201 | Activity not finished |
| 12170300 | Existing promotion activity time conflict, please check and modify |
| 12170301 | Promotion agent already exists |
| 12170302 | No agent permission |
| 12170303 | Access code error |
| 12170304 | Promotion expired |
| 12170305 | Promotion paused |
| 12170306 | Invalid promotion end time for extension |
| 12170307 | Unauthorized promotion operator |
| 12170308 | Unauthorized promotion agent operator |
| 12170309 | User has already been an agent for this promotion |
| 12170310 | Access code has been removed |
| 12170311 | Not within the promotion activity time |