diff --git a/artifacts/apidocs/market_data_api.md b/artifacts/apidocs/market_data_api.md index 40de90d..a254fe2 100644 --- a/artifacts/apidocs/market_data_api.md +++ b/artifacts/apidocs/market_data_api.md @@ -49,7 +49,10 @@ LITE ENDPOINT: lite/v1/instrument "tick_size": "0.01", "min_size": "0.01", "create_time": "1697788800000000000", - "max_position_size": "100.0" + "max_position_size": "100.0", + "funding_interval_hours": null, + "adjusted_funding_rate_cap": 2.5, + "adjusted_funding_rate_floor": -2.5 } } ``` @@ -69,7 +72,10 @@ LITE ENDPOINT: lite/v1/instrument "ts": "0.01", "ms": "0.01", "ct": "1697788800000000000", - "mp": "100.0" + "mp": "100.0", + "fi": null, + "af": 2.5, + "af1": -2.5 } } ``` @@ -350,7 +356,10 @@ LITE ENDPOINT: lite/v1/all_instruments "tick_size": "0.01", "min_size": "0.01", "create_time": "1697788800000000000", - "max_position_size": "100.0" + "max_position_size": "100.0", + "funding_interval_hours": null, + "adjusted_funding_rate_cap": 2.5, + "adjusted_funding_rate_floor": -2.5 }] } ``` @@ -370,7 +379,10 @@ LITE ENDPOINT: lite/v1/all_instruments "ts": "0.01", "ms": "0.01", "ct": "1697788800000000000", - "mp": "100.0" + "mp": "100.0", + "fi": null, + "af": 2.5, + "af1": -2.5 }] } ``` @@ -658,7 +670,10 @@ LITE ENDPOINT: lite/v1/instruments "tick_size": "0.01", "min_size": "0.01", "create_time": "1697788800000000000", - "max_position_size": "100.0" + "max_position_size": "100.0", + "funding_interval_hours": null, + "adjusted_funding_rate_cap": 2.5, + "adjusted_funding_rate_floor": -2.5 }] } ``` @@ -678,7 +693,10 @@ LITE ENDPOINT: lite/v1/instruments "ts": "0.01", "ms": "0.01", "ct": "1697788800000000000", - "mp": "100.0" + "mp": "100.0", + "fi": null, + "af": 2.5, + "af1": -2.5 }] } ``` @@ -1596,7 +1614,9 @@ LITE ENDPOINT: lite/v1/ticker "low_price": "65038.01", "open_price": "65038.01", "open_interest": "123456.78", - "long_short_ratio": "0.5" + "long_short_ratio": "0.5", + "funding_rate": 0.0003, + "next_funding_time": "1697788800000000000" } } ``` @@ -1627,7 +1647,9 @@ LITE ENDPOINT: lite/v1/ticker "lp1": "65038.01", "op": "65038.01", "oi": "123456.78", - "ls1": "0.5" + "ls1": "0.5", + "fr2": 0.0003, + "nf": "1697788800000000000" } } ``` diff --git a/artifacts/apidocs/market_data_streams.md b/artifacts/apidocs/market_data_streams.md index 235b6ed..2b0d689 100644 --- a/artifacts/apidocs/market_data_streams.md +++ b/artifacts/apidocs/market_data_streams.md @@ -1250,7 +1250,9 @@ STREAM: v1.ticker.s "low_price": "65038.01", "open_price": "65038.01", "open_interest": "123456.78", - "long_short_ratio": "0.5" + "long_short_ratio": "0.5", + "funding_rate": 0.0003, + "next_funding_time": "1697788800000000000" } } ``` @@ -1284,7 +1286,9 @@ STREAM: v1.ticker.s "lp1": "65038.01", "op": "65038.01", "oi": "123456.78", - "ls1": "0.5" + "ls1": "0.5", + "fr2": 0.0003, + "nf": "1697788800000000000" } } ``` @@ -1835,7 +1839,9 @@ STREAM: v1.ticker.d "low_price": "65038.01", "open_price": "65038.01", "open_interest": "123456.78", - "long_short_ratio": "0.5" + "long_short_ratio": "0.5", + "funding_rate": 0.0003, + "next_funding_time": "1697788800000000000" } } ``` @@ -1869,7 +1875,9 @@ STREAM: v1.ticker.d "lp1": "65038.01", "op": "65038.01", "oi": "123456.78", - "ls1": "0.5" + "ls1": "0.5", + "fr2": 0.0003, + "nf": "1697788800000000000" } } ``` diff --git a/artifacts/apidocs/schemas/aggregated_account_summary.md b/artifacts/apidocs/schemas/aggregated_account_summary.md index 13b93fa..59e3433 100644 --- a/artifacts/apidocs/schemas/aggregated_account_summary.md +++ b/artifacts/apidocs/schemas/aggregated_account_summary.md @@ -5,6 +5,7 @@ |total_equity
`te` |string|True|Total equity of the main (+ sub) account, denominated in USD| |spot_balances
`sb` |[SpotBalance]|True|The list of spot assets owned by this main (+ sub) account, and their balances| |vault_investments
`vi` |[VaultInvestment]|True|The list of vault investments held by this main account| + |total_sub_account_balance
`ts` |string|True|Total balance of the sub accounts, denominated in USD| ??? info "[SpotBalance](/../../schemas/spot_balance)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| diff --git a/artifacts/apidocs/schemas/api_aggregated_account_summary_response.md b/artifacts/apidocs/schemas/api_aggregated_account_summary_response.md index 6fd3180..f3a6e7d 100644 --- a/artifacts/apidocs/schemas/api_aggregated_account_summary_response.md +++ b/artifacts/apidocs/schemas/api_aggregated_account_summary_response.md @@ -11,6 +11,7 @@ |total_equity
`te` |string|True|Total equity of the main (+ sub) account, denominated in USD| |spot_balances
`sb` |[SpotBalance]|True|The list of spot assets owned by this main (+ sub) account, and their balances| |vault_investments
`vi` |[VaultInvestment]|True|The list of vault investments held by this main account| + |total_sub_account_balance
`ts` |string|True|Total balance of the sub accounts, denominated in USD| ??? info "[SpotBalance](/../../schemas/spot_balance)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| diff --git a/artifacts/apidocs/schemas/api_create_order_request.md b/artifacts/apidocs/schemas/api_create_order_request.md index b4b5b41..80a66ad 100644 --- a/artifacts/apidocs/schemas/api_create_order_request.md +++ b/artifacts/apidocs/schemas/api_create_order_request.md @@ -49,6 +49,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[OrderMetadata](/../../schemas/order_metadata)" Metadata fields are used to support Backend only operations. These operations are not trustless by nature.
Hence, fields in here are never signed, and is never transmitted to the smart contract.
@@ -158,3 +159,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/api_create_order_response.md b/artifacts/apidocs/schemas/api_create_order_response.md index cc84988..3cf7199 100644 --- a/artifacts/apidocs/schemas/api_create_order_response.md +++ b/artifacts/apidocs/schemas/api_create_order_response.md @@ -47,6 +47,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[OrderMetadata](/../../schemas/order_metadata)" Metadata fields are used to support Backend only operations. These operations are not trustless by nature.
Hence, fields in here are never signed, and is never transmitted to the smart contract.
@@ -156,3 +157,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/api_cross_exch_vault_attest_equity_request.md b/artifacts/apidocs/schemas/api_cross_exch_vault_attest_equity_request.md new file mode 100644 index 0000000..01934f8 --- /dev/null +++ b/artifacts/apidocs/schemas/api_cross_exch_vault_attest_equity_request.md @@ -0,0 +1,21 @@ +!!! info "[ApiCrossExchVaultAttestEquityRequest](/../../schemas/api_cross_exch_vault_attest_equity_request)" + Request payload for a cross-exchange vault maanger to publish an equity attestation event to GRVT systems.


+ + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |vault_id
`vi` |string|True|The unique identifier of the cross-exchange vault.| + |total_equity
`te` |string|True|[Signed] The total equity implied by `num_lp_tokens * share_price`, in USD, expressed in up to 6 decimal places.| + |num_lp_tokens
`nl` |string|True|[Signed] The number of shares in circulation for the cross-exchange vault, expressed in up to 6 decimal places.| + |share_price
`sp` |string|True|[Signed] The share price of the cross-exchange vault, in USD, expressed in up to 9 decimal places.| + |last_update_timestamp
`lu` |string|True|[Signed] GRVT timestamp for the latest confirmed attestation event of this vault, in unix-nanoseconds.
Should be equal to the `last_update_timestamp` value returned from the Vault Detail API.| + |signature
`s` |Signature|True|The digital signature from the cross-exchange vault manager account.
This signature must be generated by the main account ID and is used to verify the authenticity of the request.
The signature must comply with AccountPermAdmin permission.| + ??? info "[Signature](/../../schemas/signature)" + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |signer
`s` |string|True|The address (public key) of the wallet signing the payload| + |r
`r` |string|True|Signature R| + |s
`s1` |string|True|Signature S| + |v
`v` |integer|True|Signature V| + |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| + |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/api_cross_exch_vault_lock_request.md b/artifacts/apidocs/schemas/api_cross_exch_vault_lock_request.md new file mode 100644 index 0000000..e4f2f79 --- /dev/null +++ b/artifacts/apidocs/schemas/api_cross_exch_vault_lock_request.md @@ -0,0 +1,6 @@ +!!! info "[ApiCrossExchVaultLockRequest](/../../schemas/api_cross_exch_vault_lock_request)" + Request payload for a cross-exchange vault manager to engage the update lock for their vault.

While locked, all operations that could change the vault's share count (e.g. invest / redeem / burn) become disabled.

Should be done prior to an equity-attest update to ensure a fixed-reference share count.

WARN: Stays locked until the corresponding Unlock API is called, OR a successful equity-attest update.

Vault managers leaving their vaults locked for prolonged periods will receive GRVT warning alerts.
+ + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |cross_exch_vault_id
`ce` |string|True|The unique identifier of the cross-exchange vault to lock.| diff --git a/artifacts/apidocs/schemas/api_cross_exch_vault_trigger_redemption_request.md b/artifacts/apidocs/schemas/api_cross_exch_vault_trigger_redemption_request.md new file mode 100644 index 0000000..767b30b --- /dev/null +++ b/artifacts/apidocs/schemas/api_cross_exch_vault_trigger_redemption_request.md @@ -0,0 +1,7 @@ +!!! info "[ApiCrossExchVaultTriggerRedemptionRequest](/../../schemas/api_cross_exch_vault_trigger_redemption_request)" + Request payload for a cross-exchange vault manager to trigger execution of the redemption request at the head of their cross-exchange vault's redemption queue.
+ + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |vault_id
`vi` |string|True|The unique identifier of the cross-exchange vault to redeem from.| + |request_time
`rt` |string|True|Value provided must be equal to the `request_time` field of the first element returned from the View Investment Queue API.| diff --git a/artifacts/apidocs/schemas/api_cross_exch_vault_unlock_request.md b/artifacts/apidocs/schemas/api_cross_exch_vault_unlock_request.md new file mode 100644 index 0000000..277b79b --- /dev/null +++ b/artifacts/apidocs/schemas/api_cross_exch_vault_unlock_request.md @@ -0,0 +1,6 @@ +!!! info "[ApiCrossExchVaultUnlockRequest](/../../schemas/api_cross_exch_vault_unlock_request)" + Request payload for a cross-exchange vault manager to disengage the update lock for their vault.


+ + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |cross_exch_vault_id
`ce` |string|True|The unique identifier of the cross-exchange vault to unlock.| diff --git a/artifacts/apidocs/schemas/api_cross_exch_vault_view_investment_queue_request.md b/artifacts/apidocs/schemas/api_cross_exch_vault_view_investment_queue_request.md new file mode 100644 index 0000000..e2febd9 --- /dev/null +++ b/artifacts/apidocs/schemas/api_cross_exch_vault_view_investment_queue_request.md @@ -0,0 +1,6 @@ +!!! info "[ApiCrossExchVaultViewInvestmentQueueRequest](/../../schemas/api_cross_exch_vault_view_investment_queue_request)" + Request payload for a cross-exchange vault manager to view the investment queue for their vault in FIFO order.

This queue gets drained on every equity attestation event submitted by the cross-exchange vault manager.


+ + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |vault_id
`vi` |string|True|The unique identifier of the cross-exchange vault to fetch the investment queue for.| diff --git a/artifacts/apidocs/schemas/api_cross_exch_vault_view_investment_queue_response.md b/artifacts/apidocs/schemas/api_cross_exch_vault_view_investment_queue_response.md new file mode 100644 index 0000000..0f68e45 --- /dev/null +++ b/artifacts/apidocs/schemas/api_cross_exch_vault_view_investment_queue_response.md @@ -0,0 +1,16 @@ +!!! info "[ApiCrossExchVaultViewInvestmentQueueResponse](/../../schemas/api_cross_exch_vault_view_investment_queue_response)" + Response payload for a cross-exchange vault manager to view the investment queue for their vault in FIFO order.

This queue gets drained on every equity attestation event submitted by the cross-exchange vault manager.


+ + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |investment_queue
`iq` |[CrossExchVaultPendingInvestment]|True|Outstanding cross-exchange vault investment requests in FIFO order.| + |total_investment_equity
`ti` |string|True|The current valuation (in USD) of all pending investments.| + ??? info "[CrossExchVaultPendingInvestment](/../../schemas/cross_exch_vault_pending_investment)" + Representation of a pending investment for a given cross-exchange vault.
+ + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |request_time
`rt` |string|True|[Filled by GRVT Backend] Time at which the investment request was confirmed and enqueued by GRVT in unix nanoseconds| + |currency
`c` |string|True|The currency used for the investment. This should be the vault's quote currency.| + |num_tokens
`nt` |string|True|The investment sum, in terms of the token currency specified (i.e., `numTokens` of '1000' with `tokenCurrency` of 'USDT' denotes investment of 1,000 USDT).| + |is_manager
`im` |boolean|False
`None`|`true` if this pending investment belongs to the vault manager, omitted otherwise.| diff --git a/artifacts/apidocs/schemas/api_get_all_instruments_response.md b/artifacts/apidocs/schemas/api_get_all_instruments_response.md index 855cfa6..d716fd3 100644 --- a/artifacts/apidocs/schemas/api_get_all_instruments_response.md +++ b/artifacts/apidocs/schemas/api_get_all_instruments_response.md @@ -1,8 +1,8 @@ !!! info "[ApiGetAllInstrumentsResponse](/../../schemas/api_get_all_instruments_response)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| - |result
`r` |[Instrument]|True|List of instruments| - ??? info "[Instrument](/../../schemas/instrument)" + |result
`r` |[InstrumentDisplay]|True|List of instruments| + ??? info "[InstrumentDisplay](/../../schemas/instrument_display)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| |instrument
`i` |string|True|The readable instrument name:| @@ -18,6 +18,9 @@ |min_size
`ms` |string|True|The minimum contract size, expressed in base asset decimal units| |create_time
`ct` |string|True|Creation time in unix nanoseconds| |max_position_size
`mp` |string|True|The maximum position size, expressed in base asset decimal units| + |funding_interval_hours
`fi` |integer|False
`None`|Defines the funding interval to be applied.| + |adjusted_funding_rate_cap
`af` |string|False
`None`|Funding rate cap over the defined `intervalHours`.| + |adjusted_funding_rate_floor
`af1` |string|False
`None`|Funding rate floor over the defined `intervalHours`.| ??? info "[Kind](/../../schemas/kind)" The list of asset kinds that are supported on the GRVT exchange
diff --git a/artifacts/apidocs/schemas/api_get_filtered_instruments_response.md b/artifacts/apidocs/schemas/api_get_filtered_instruments_response.md index 954ee2f..74855bb 100644 --- a/artifacts/apidocs/schemas/api_get_filtered_instruments_response.md +++ b/artifacts/apidocs/schemas/api_get_filtered_instruments_response.md @@ -1,8 +1,8 @@ !!! info "[ApiGetFilteredInstrumentsResponse](/../../schemas/api_get_filtered_instruments_response)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| - |result
`r` |[Instrument]|True|The instruments matching the request filter| - ??? info "[Instrument](/../../schemas/instrument)" + |result
`r` |[InstrumentDisplay]|True|The instruments matching the request filter| + ??? info "[InstrumentDisplay](/../../schemas/instrument_display)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| |instrument
`i` |string|True|The readable instrument name:| @@ -18,6 +18,9 @@ |min_size
`ms` |string|True|The minimum contract size, expressed in base asset decimal units| |create_time
`ct` |string|True|Creation time in unix nanoseconds| |max_position_size
`mp` |string|True|The maximum position size, expressed in base asset decimal units| + |funding_interval_hours
`fi` |integer|False
`None`|Defines the funding interval to be applied.| + |adjusted_funding_rate_cap
`af` |string|False
`None`|Funding rate cap over the defined `intervalHours`.| + |adjusted_funding_rate_floor
`af1` |string|False
`None`|Funding rate floor over the defined `intervalHours`.| ??? info "[Kind](/../../schemas/kind)" The list of asset kinds that are supported on the GRVT exchange
diff --git a/artifacts/apidocs/schemas/api_get_instrument_response.md b/artifacts/apidocs/schemas/api_get_instrument_response.md index a5b2bed..dd01849 100644 --- a/artifacts/apidocs/schemas/api_get_instrument_response.md +++ b/artifacts/apidocs/schemas/api_get_instrument_response.md @@ -1,8 +1,8 @@ !!! info "[ApiGetInstrumentResponse](/../../schemas/api_get_instrument_response)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| - |result
`r` |Instrument|True|The instrument matching the request asset| - ??? info "[Instrument](/../../schemas/instrument)" + |result
`r` |InstrumentDisplay|True|The instrument matching the request asset| + ??? info "[InstrumentDisplay](/../../schemas/instrument_display)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| |instrument
`i` |string|True|The readable instrument name:| @@ -18,6 +18,9 @@ |min_size
`ms` |string|True|The minimum contract size, expressed in base asset decimal units| |create_time
`ct` |string|True|Creation time in unix nanoseconds| |max_position_size
`mp` |string|True|The maximum position size, expressed in base asset decimal units| + |funding_interval_hours
`fi` |integer|False
`None`|Defines the funding interval to be applied.| + |adjusted_funding_rate_cap
`af` |string|False
`None`|Funding rate cap over the defined `intervalHours`.| + |adjusted_funding_rate_floor
`af1` |string|False
`None`|Funding rate floor over the defined `intervalHours`.| ??? info "[Kind](/../../schemas/kind)" The list of asset kinds that are supported on the GRVT exchange
diff --git a/artifacts/apidocs/schemas/api_get_order_response.md b/artifacts/apidocs/schemas/api_get_order_response.md index 93ddd51..7ce9251 100644 --- a/artifacts/apidocs/schemas/api_get_order_response.md +++ b/artifacts/apidocs/schemas/api_get_order_response.md @@ -47,6 +47,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[OrderMetadata](/../../schemas/order_metadata)" Metadata fields are used to support Backend only operations. These operations are not trustless by nature.
Hence, fields in here are never signed, and is never transmitted to the smart contract.
@@ -156,3 +157,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/api_open_orders_response.md b/artifacts/apidocs/schemas/api_open_orders_response.md index 688704b..071ca49 100644 --- a/artifacts/apidocs/schemas/api_open_orders_response.md +++ b/artifacts/apidocs/schemas/api_open_orders_response.md @@ -49,6 +49,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[OrderMetadata](/../../schemas/order_metadata)" Metadata fields are used to support Backend only operations. These operations are not trustless by nature.
Hence, fields in here are never signed, and is never transmitted to the smart contract.
@@ -158,3 +159,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/api_order_history_response.md b/artifacts/apidocs/schemas/api_order_history_response.md index 1ea4cf2..0357300 100644 --- a/artifacts/apidocs/schemas/api_order_history_response.md +++ b/artifacts/apidocs/schemas/api_order_history_response.md @@ -48,6 +48,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[OrderMetadata](/../../schemas/order_metadata)" Metadata fields are used to support Backend only operations. These operations are not trustless by nature.
Hence, fields in here are never signed, and is never transmitted to the smart contract.
@@ -157,3 +158,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/api_positions_response.md b/artifacts/apidocs/schemas/api_positions_response.md index eeb43e5..ca3e365 100644 --- a/artifacts/apidocs/schemas/api_positions_response.md +++ b/artifacts/apidocs/schemas/api_positions_response.md @@ -20,3 +20,5 @@ |quote_index_price
`qi` |string|True|The index price of the quote currency. (reported in `USD`)| |est_liquidation_price
`el` |string|True|The estimated liquidation price| |leverage
`l` |string|True|The current leverage value for this position| + |cumulative_fee
`cf` |string|True|The cumulative fee paid on the position, expressed in quote asset decimal units| + |cumulative_realized_funding_payment
`cr` |string|True|The cumulative realized funding payment of the position, expressed in quote asset decimal units| diff --git a/artifacts/apidocs/schemas/api_query_vault_manager_investor_history_request.md b/artifacts/apidocs/schemas/api_query_vault_manager_investor_history_request.md index 881dbf0..c2bba12 100644 --- a/artifacts/apidocs/schemas/api_query_vault_manager_investor_history_request.md +++ b/artifacts/apidocs/schemas/api_query_vault_manager_investor_history_request.md @@ -5,3 +5,5 @@ |-|-|-|-| |vault_id
`vi` |string|True|The unique identifier of the vault to filter by| |only_own_investments
`oo` |boolean|True|Whether to only return investments made by the manager| + |start_time
`st` |string|False
`0`|Optional. Start time in unix nanoseconds| + |end_time
`et` |string|False
`now()`|Optional. End time in unix nanoseconds| diff --git a/artifacts/apidocs/schemas/api_set_derisk_to_maintenance_margin_ratio_request.md b/artifacts/apidocs/schemas/api_set_derisk_to_maintenance_margin_ratio_request.md index 9cbf79e..ffd8bc4 100644 --- a/artifacts/apidocs/schemas/api_set_derisk_to_maintenance_margin_ratio_request.md +++ b/artifacts/apidocs/schemas/api_set_derisk_to_maintenance_margin_ratio_request.md @@ -15,3 +15,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/api_sub_account_history_response.md b/artifacts/apidocs/schemas/api_sub_account_history_response.md index ae55d3d..6159968 100644 --- a/artifacts/apidocs/schemas/api_sub_account_history_response.md +++ b/artifacts/apidocs/schemas/api_sub_account_history_response.md @@ -51,3 +51,5 @@ |quote_index_price
`qi` |string|True|The index price of the quote currency. (reported in `USD`)| |est_liquidation_price
`el` |string|True|The estimated liquidation price| |leverage
`l` |string|True|The current leverage value for this position| + |cumulative_fee
`cf` |string|True|The cumulative fee paid on the position, expressed in quote asset decimal units| + |cumulative_realized_funding_payment
`cr` |string|True|The cumulative realized funding payment of the position, expressed in quote asset decimal units| diff --git a/artifacts/apidocs/schemas/api_sub_account_summary_response.md b/artifacts/apidocs/schemas/api_sub_account_summary_response.md index e7b3750..da7152c 100644 --- a/artifacts/apidocs/schemas/api_sub_account_summary_response.md +++ b/artifacts/apidocs/schemas/api_sub_account_summary_response.md @@ -52,3 +52,5 @@ |quote_index_price
`qi` |string|True|The index price of the quote currency. (reported in `USD`)| |est_liquidation_price
`el` |string|True|The estimated liquidation price| |leverage
`l` |string|True|The current leverage value for this position| + |cumulative_fee
`cf` |string|True|The cumulative fee paid on the position, expressed in quote asset decimal units| + |cumulative_realized_funding_payment
`cr` |string|True|The cumulative realized funding payment of the position, expressed in quote asset decimal units| diff --git a/artifacts/apidocs/schemas/api_ticker_response.md b/artifacts/apidocs/schemas/api_ticker_response.md index 86fb1f4..1cdee43 100644 --- a/artifacts/apidocs/schemas/api_ticker_response.md +++ b/artifacts/apidocs/schemas/api_ticker_response.md @@ -18,8 +18,8 @@ |best_bid_size
`bb1` |string|False
`None`|The number of assets offered on the best bid price of the instrument, expressed in base asset decimal units| |best_ask_price
`ba` |string|False
`None`|The best ask price of the instrument, expressed in `9` decimals| |best_ask_size
`ba1` |string|False
`None`|The number of assets offered on the best ask price of the instrument, expressed in base asset decimal units| - |funding_rate_8h_curr
`fr` |string|False
`None`|The current funding rate of the instrument, expressed in percentage points| - |funding_rate_8h_avg
`fr1` |string|False
`None`|The average funding rate of the instrument (over last 8h), expressed in percentage points| + |funding_rate_8h_curr
`fr` |string|False
`None`|DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`).| + |funding_rate_8h_avg
`fr1` |string|False
`None`|DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`).| |interest_rate
`ir` |string|False
`None`|The interest rate of the underlying, expressed in centibeeps (1/100th of a basis point)| |forward_price
`fp` |string|False
`None`|[Options] The forward price of the option, expressed in `9` decimals| |buy_volume_24h_b
`bv` |string|False
`None`|The 24 hour taker buy volume of the instrument, expressed in base asset decimal units| @@ -31,3 +31,5 @@ |open_price
`op` |string|False
`None`|The 24 hour first traded price of the instrument, expressed in `9` decimals| |open_interest
`oi` |string|False
`None`|The open interest in the instrument, expressed in base asset decimal units| |long_short_ratio
`ls1` |string|False
`None`|The ratio of accounts that are net long vs net short on this instrument| + |funding_rate
`fr2` |string|False
`None`|The current indicative funding rate for the active interval, expressed in centibeeps| + |next_funding_time
`nf` |string|False
`None`|Timestamp in nanoseconds when the current funding interval ends| diff --git a/artifacts/apidocs/schemas/api_transfer_history_request.md b/artifacts/apidocs/schemas/api_transfer_history_request.md index 6650c3a..7c690a6 100644 --- a/artifacts/apidocs/schemas/api_transfer_history_request.md +++ b/artifacts/apidocs/schemas/api_transfer_history_request.md @@ -10,3 +10,16 @@ |cursor
`c1` |string|False
`''`|The cursor to indicate when to start the next query from| |tx_id
`ti` |string|False
`0`|The transaction ID to query for| |main_account_id
`ma` |string|False
``|Main account ID being queried. By default, applies the requestor's main account ID.| + |transfer_types
`tt` |[TransferType]|False
`[]`|The transfer type to filters for. If the list is empty, return all transfer types.| + ??? info "[TransferType](/../../schemas/transfer_type)" + |Value| Description | + |-|-| + |`UNSPECIFIED` = 0|Default transfer that has nothing to do with bridging| + |`STANDARD` = 1|Standard transfer that has nothing to do with bridging| + |`FAST_ARB_DEPOSIT` = 2|Fast Arb Deposit Metadata type| + |`FAST_ARB_WITHDRAWAL` = 3|Fast Arb Withdrawal Metadata type| + |`NON_NATIVE_BRIDGE_DEPOSIT` = 4|Transfer type for non native bridging deposit| + |`NON_NATIVE_BRIDGE_WITHDRAWAL` = 5|Transfer type for non native bridging withdrawal| + |`ADHOC_INCENTIVE` = 6|Transfer type for adhoc incentive| + |`REFERRAL_INCENTIVE` = 7|Transfer type for referral incentive| + |`TRADING_DEPOSIT_YIELD_INCENTIVE` = 8|Transfer type for trading deposit yield incentive| diff --git a/artifacts/apidocs/schemas/api_transfer_history_response.md b/artifacts/apidocs/schemas/api_transfer_history_response.md index f045bce..59ed3cf 100644 --- a/artifacts/apidocs/schemas/api_transfer_history_response.md +++ b/artifacts/apidocs/schemas/api_transfer_history_response.md @@ -26,6 +26,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[TransferType](/../../schemas/transfer_type)" |Value| Description | |-|-| @@ -35,3 +36,6 @@ |`FAST_ARB_WITHDRAWAL` = 3|Fast Arb Withdrawal Metadata type| |`NON_NATIVE_BRIDGE_DEPOSIT` = 4|Transfer type for non native bridging deposit| |`NON_NATIVE_BRIDGE_WITHDRAWAL` = 5|Transfer type for non native bridging withdrawal| + |`ADHOC_INCENTIVE` = 6|Transfer type for adhoc incentive| + |`REFERRAL_INCENTIVE` = 7|Transfer type for referral incentive| + |`TRADING_DEPOSIT_YIELD_INCENTIVE` = 8|Transfer type for trading deposit yield incentive| diff --git a/artifacts/apidocs/schemas/api_transfer_request.md b/artifacts/apidocs/schemas/api_transfer_request.md index dfcd6be..4ec9f4e 100644 --- a/artifacts/apidocs/schemas/api_transfer_request.md +++ b/artifacts/apidocs/schemas/api_transfer_request.md @@ -21,6 +21,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[TransferType](/../../schemas/transfer_type)" |Value| Description | |-|-| @@ -30,3 +31,6 @@ |`FAST_ARB_WITHDRAWAL` = 3|Fast Arb Withdrawal Metadata type| |`NON_NATIVE_BRIDGE_DEPOSIT` = 4|Transfer type for non native bridging deposit| |`NON_NATIVE_BRIDGE_WITHDRAWAL` = 5|Transfer type for non native bridging withdrawal| + |`ADHOC_INCENTIVE` = 6|Transfer type for adhoc incentive| + |`REFERRAL_INCENTIVE` = 7|Transfer type for referral incentive| + |`TRADING_DEPOSIT_YIELD_INCENTIVE` = 8|Transfer type for trading deposit yield incentive| diff --git a/artifacts/apidocs/schemas/api_vault_burn_tokens_request.md b/artifacts/apidocs/schemas/api_vault_burn_tokens_request.md index fc2f848..0abfec2 100644 --- a/artifacts/apidocs/schemas/api_vault_burn_tokens_request.md +++ b/artifacts/apidocs/schemas/api_vault_burn_tokens_request.md @@ -16,3 +16,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/api_vault_invest_request.md b/artifacts/apidocs/schemas/api_vault_invest_request.md index 0628b5f..8cc1408 100644 --- a/artifacts/apidocs/schemas/api_vault_invest_request.md +++ b/artifacts/apidocs/schemas/api_vault_invest_request.md @@ -16,3 +16,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/api_vault_investor_summary_response.md b/artifacts/apidocs/schemas/api_vault_investor_summary_response.md index f9b1976..6fc459c 100644 --- a/artifacts/apidocs/schemas/api_vault_investor_summary_response.md +++ b/artifacts/apidocs/schemas/api_vault_investor_summary_response.md @@ -26,3 +26,4 @@ |request_valuation
`rv` |string|True|The valuation (in USD) of the redemption request.| |request_time
`rt` |string|True|[Filled by GRVT Backend] Time at which the redemption request was received by GRVT in unix nanoseconds| |max_redemption_period_timestamp
`mr` |string|True|[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be force-redeemed.| + |cancel_blocked
`cb` |boolean|False
`true`|Omitted for redemption requests to non-cross exchange vaults. True if cancellation is blocked within the CEV allocation allowance for the user's current tier (e.g. because the user has already transferred out the spot balance underlying the redemption request).| diff --git a/artifacts/apidocs/schemas/api_vault_redeem_request.md b/artifacts/apidocs/schemas/api_vault_redeem_request.md index 7e1d1b3..86c6e0b 100644 --- a/artifacts/apidocs/schemas/api_vault_redeem_request.md +++ b/artifacts/apidocs/schemas/api_vault_redeem_request.md @@ -16,3 +16,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/api_withdrawal_history_response.md b/artifacts/apidocs/schemas/api_withdrawal_history_response.md index 0b5f0dd..2393b37 100644 --- a/artifacts/apidocs/schemas/api_withdrawal_history_response.md +++ b/artifacts/apidocs/schemas/api_withdrawal_history_response.md @@ -13,6 +13,8 @@ |num_tokens
`nt` |string|True|The number of tokens to withdraw| |signature
`s` |Signature|True|The signature of the withdrawal| |event_time
`et` |string|True|The timestamp of the withdrawal in unix nanoseconds| + |l_1_hash
`l1` |string|False
`''`|The finalized withdrawal transaction hash on L1| + |l_2_hash
`l2` |string|True|The transaction hash on L2| ??? info "[Signature](/../../schemas/signature)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| @@ -22,3 +24,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/api_withdrawal_request.md b/artifacts/apidocs/schemas/api_withdrawal_request.md index 872f688..f0d11bd 100644 --- a/artifacts/apidocs/schemas/api_withdrawal_request.md +++ b/artifacts/apidocs/schemas/api_withdrawal_request.md @@ -17,3 +17,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/cancel_status_feed.md b/artifacts/apidocs/schemas/cancel_status_feed.md index e94eb60..6e56c93 100644 --- a/artifacts/apidocs/schemas/cancel_status_feed.md +++ b/artifacts/apidocs/schemas/cancel_status_feed.md @@ -48,6 +48,7 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| ??? info "[CancelStatus](/../../schemas/cancel_status)" |Value| Description | |-|-| diff --git a/artifacts/apidocs/schemas/cross_exch_vault_pending_investment.md b/artifacts/apidocs/schemas/cross_exch_vault_pending_investment.md new file mode 100644 index 0000000..b0dd141 --- /dev/null +++ b/artifacts/apidocs/schemas/cross_exch_vault_pending_investment.md @@ -0,0 +1,9 @@ +!!! info "[CrossExchVaultPendingInvestment](/../../schemas/cross_exch_vault_pending_investment)" + Representation of a pending investment for a given cross-exchange vault.
+ + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |request_time
`rt` |string|True|[Filled by GRVT Backend] Time at which the investment request was confirmed and enqueued by GRVT in unix nanoseconds| + |currency
`c` |string|True|The currency used for the investment. This should be the vault's quote currency.| + |num_tokens
`nt` |string|True|The investment sum, in terms of the token currency specified (i.e., `numTokens` of '1000' with `tokenCurrency` of 'USDT' denotes investment of 1,000 USDT).| + |is_manager
`im` |boolean|False
`None`|`true` if this pending investment belongs to the vault manager, omitted otherwise.| diff --git a/artifacts/apidocs/schemas/instrument_display.md b/artifacts/apidocs/schemas/instrument_display.md new file mode 100644 index 0000000..fc9e045 --- /dev/null +++ b/artifacts/apidocs/schemas/instrument_display.md @@ -0,0 +1,43 @@ +!!! info "[InstrumentDisplay](/../../schemas/instrument_display)" + |Name
`Lite`|Type|Required
`Default`| Description | + |-|-|-|-| + |instrument
`i` |string|True|The readable instrument name:| + |instrument_hash
`ih` |string|True|The asset ID used for instrument signing.| + |base
`b` |string|True|The base currency| + |quote
`q` |string|True|The quote currency| + |kind
`k` |Kind|True|The kind of instrument| + |venues
`v` |[Venue]|True|Venues that this instrument can be traded at| + |settlement_period
`sp1` |InstrumentSettlementPeriod|True|The settlement period of the instrument| + |base_decimals
`bd` |integer|True|The smallest denomination of the base asset supported by GRVT (+3 represents 0.001, -3 represents 1000, 0 represents 1)| + |quote_decimals
`qd` |integer|True|The smallest denomination of the quote asset supported by GRVT (+3 represents 0.001, -3 represents 1000, 0 represents 1)| + |tick_size
`ts` |string|True|The size of a single tick, expressed in price decimal units| + |min_size
`ms` |string|True|The minimum contract size, expressed in base asset decimal units| + |create_time
`ct` |string|True|Creation time in unix nanoseconds| + |max_position_size
`mp` |string|True|The maximum position size, expressed in base asset decimal units| + |funding_interval_hours
`fi` |integer|False
`None`|Defines the funding interval to be applied.| + |adjusted_funding_rate_cap
`af` |string|False
`None`|Funding rate cap over the defined `intervalHours`.| + |adjusted_funding_rate_floor
`af1` |string|False
`None`|Funding rate floor over the defined `intervalHours`.| + ??? info "[Kind](/../../schemas/kind)" + The list of asset kinds that are supported on the GRVT exchange
+ + |Value| Description | + |-|-| + |`PERPETUAL` = 1|the perpetual asset kind| + |`FUTURE` = 2|the future asset kind| + |`CALL` = 3|the call option asset kind| + |`PUT` = 4|the put option asset kind| + ??? info "[Venue](/../../schemas/venue)" + The list of Trading Venues that are supported on the GRVT exchange
+ + |Value| Description | + |-|-| + |`ORDERBOOK` = 1|the trade is cleared on the orderbook venue| + |`RFQ` = 2|the trade is cleared on the RFQ venue| + ??? info "[InstrumentSettlementPeriod](/../../schemas/instrument_settlement_period)" + |Value| Description | + |-|-| + |`PERPETUAL` = 1|Instrument settles through perpetual funding cycles| + |`DAILY` = 2|Instrument settles at an expiry date, marked as a daily instrument| + |`WEEKLY` = 3|Instrument settles at an expiry date, marked as a weekly instrument| + |`MONTHLY` = 4|Instrument settles at an expiry date, marked as a monthly instrument| + |`QUARTERLY` = 5|Instrument settles at an expiry date, marked as a quarterly instrument| diff --git a/artifacts/apidocs/schemas/order.md b/artifacts/apidocs/schemas/order.md index 0fd6c33..320c520 100644 --- a/artifacts/apidocs/schemas/order.md +++ b/artifacts/apidocs/schemas/order.md @@ -43,6 +43,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[OrderMetadata](/../../schemas/order_metadata)" Metadata fields are used to support Backend only operations. These operations are not trustless by nature.
Hence, fields in here are never signed, and is never transmitted to the smart contract.
@@ -152,3 +153,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/order_reject_reason.md b/artifacts/apidocs/schemas/order_reject_reason.md index ca48a4e..39c60a2 100644 --- a/artifacts/apidocs/schemas/order_reject_reason.md +++ b/artifacts/apidocs/schemas/order_reject_reason.md @@ -39,3 +39,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/order_state.md b/artifacts/apidocs/schemas/order_state.md index 53962ce..30a2154 100644 --- a/artifacts/apidocs/schemas/order_state.md +++ b/artifacts/apidocs/schemas/order_state.md @@ -56,3 +56,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/order_state_feed.md b/artifacts/apidocs/schemas/order_state_feed.md index c6ec767..e9beafd 100644 --- a/artifacts/apidocs/schemas/order_state_feed.md +++ b/artifacts/apidocs/schemas/order_state_feed.md @@ -62,3 +62,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/positions.md b/artifacts/apidocs/schemas/positions.md index 1fa92a4..8209b48 100644 --- a/artifacts/apidocs/schemas/positions.md +++ b/artifacts/apidocs/schemas/positions.md @@ -16,3 +16,5 @@ |quote_index_price
`qi` |string|True|The index price of the quote currency. (reported in `USD`)| |est_liquidation_price
`el` |string|True|The estimated liquidation price| |leverage
`l` |string|True|The current leverage value for this position| + |cumulative_fee
`cf` |string|True|The cumulative fee paid on the position, expressed in quote asset decimal units| + |cumulative_realized_funding_payment
`cr` |string|True|The cumulative realized funding payment of the position, expressed in quote asset decimal units| diff --git a/artifacts/apidocs/schemas/signature.md b/artifacts/apidocs/schemas/signature.md index f896cdf..0266257 100644 --- a/artifacts/apidocs/schemas/signature.md +++ b/artifacts/apidocs/schemas/signature.md @@ -7,3 +7,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/sub_account.md b/artifacts/apidocs/schemas/sub_account.md index d2201b6..786cd91 100644 --- a/artifacts/apidocs/schemas/sub_account.md +++ b/artifacts/apidocs/schemas/sub_account.md @@ -46,3 +46,5 @@ |quote_index_price
`qi` |string|True|The index price of the quote currency. (reported in `USD`)| |est_liquidation_price
`el` |string|True|The estimated liquidation price| |leverage
`l` |string|True|The current leverage value for this position| + |cumulative_fee
`cf` |string|True|The cumulative fee paid on the position, expressed in quote asset decimal units| + |cumulative_realized_funding_payment
`cr` |string|True|The cumulative realized funding payment of the position, expressed in quote asset decimal units| diff --git a/artifacts/apidocs/schemas/ticker.md b/artifacts/apidocs/schemas/ticker.md index d0546a0..e3a4e66 100644 --- a/artifacts/apidocs/schemas/ticker.md +++ b/artifacts/apidocs/schemas/ticker.md @@ -14,8 +14,8 @@ |best_bid_size
`bb1` |string|False
`None`|The number of assets offered on the best bid price of the instrument, expressed in base asset decimal units| |best_ask_price
`ba` |string|False
`None`|The best ask price of the instrument, expressed in `9` decimals| |best_ask_size
`ba1` |string|False
`None`|The number of assets offered on the best ask price of the instrument, expressed in base asset decimal units| - |funding_rate_8h_curr
`fr` |string|False
`None`|The current funding rate of the instrument, expressed in percentage points| - |funding_rate_8h_avg
`fr1` |string|False
`None`|The average funding rate of the instrument (over last 8h), expressed in percentage points| + |funding_rate_8h_curr
`fr` |string|False
`None`|DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`).| + |funding_rate_8h_avg
`fr1` |string|False
`None`|DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`).| |interest_rate
`ir` |string|False
`None`|The interest rate of the underlying, expressed in centibeeps (1/100th of a basis point)| |forward_price
`fp` |string|False
`None`|[Options] The forward price of the option, expressed in `9` decimals| |buy_volume_24h_b
`bv` |string|False
`None`|The 24 hour taker buy volume of the instrument, expressed in base asset decimal units| @@ -27,3 +27,5 @@ |open_price
`op` |string|False
`None`|The 24 hour first traded price of the instrument, expressed in `9` decimals| |open_interest
`oi` |string|False
`None`|The open interest in the instrument, expressed in base asset decimal units| |long_short_ratio
`ls1` |string|False
`None`|The ratio of accounts that are net long vs net short on this instrument| + |funding_rate
`fr2` |string|False
`None`|The current indicative funding rate for the active interval, expressed in centibeeps| + |next_funding_time
`nf` |string|False
`None`|Timestamp in nanoseconds when the current funding interval ends| diff --git a/artifacts/apidocs/schemas/transfer_history.md b/artifacts/apidocs/schemas/transfer_history.md index c9108e7..76438b5 100644 --- a/artifacts/apidocs/schemas/transfer_history.md +++ b/artifacts/apidocs/schemas/transfer_history.md @@ -21,6 +21,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[TransferType](/../../schemas/transfer_type)" |Value| Description | |-|-| @@ -30,3 +31,6 @@ |`FAST_ARB_WITHDRAWAL` = 3|Fast Arb Withdrawal Metadata type| |`NON_NATIVE_BRIDGE_DEPOSIT` = 4|Transfer type for non native bridging deposit| |`NON_NATIVE_BRIDGE_WITHDRAWAL` = 5|Transfer type for non native bridging withdrawal| + |`ADHOC_INCENTIVE` = 6|Transfer type for adhoc incentive| + |`REFERRAL_INCENTIVE` = 7|Transfer type for referral incentive| + |`TRADING_DEPOSIT_YIELD_INCENTIVE` = 8|Transfer type for trading deposit yield incentive| diff --git a/artifacts/apidocs/schemas/transfer_type.md b/artifacts/apidocs/schemas/transfer_type.md index 0885447..c41682f 100644 --- a/artifacts/apidocs/schemas/transfer_type.md +++ b/artifacts/apidocs/schemas/transfer_type.md @@ -7,3 +7,6 @@ |`FAST_ARB_WITHDRAWAL` = 3|Fast Arb Withdrawal Metadata type| |`NON_NATIVE_BRIDGE_DEPOSIT` = 4|Transfer type for non native bridging deposit| |`NON_NATIVE_BRIDGE_WITHDRAWAL` = 5|Transfer type for non native bridging withdrawal| + |`ADHOC_INCENTIVE` = 6|Transfer type for adhoc incentive| + |`REFERRAL_INCENTIVE` = 7|Transfer type for referral incentive| + |`TRADING_DEPOSIT_YIELD_INCENTIVE` = 8|Transfer type for trading deposit yield incentive| diff --git a/artifacts/apidocs/schemas/vault_investor_summary.md b/artifacts/apidocs/schemas/vault_investor_summary.md index 1109001..edc0973 100644 --- a/artifacts/apidocs/schemas/vault_investor_summary.md +++ b/artifacts/apidocs/schemas/vault_investor_summary.md @@ -20,3 +20,4 @@ |request_valuation
`rv` |string|True|The valuation (in USD) of the redemption request.| |request_time
`rt` |string|True|[Filled by GRVT Backend] Time at which the redemption request was received by GRVT in unix nanoseconds| |max_redemption_period_timestamp
`mr` |string|True|[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be force-redeemed.| + |cancel_blocked
`cb` |boolean|False
`true`|Omitted for redemption requests to non-cross exchange vaults. True if cancellation is blocked within the CEV allocation allowance for the user's current tier (e.g. because the user has already transferred out the spot balance underlying the redemption request).| diff --git a/artifacts/apidocs/schemas/vault_redemption.md b/artifacts/apidocs/schemas/vault_redemption.md index c3a105b..7e0905f 100644 --- a/artifacts/apidocs/schemas/vault_redemption.md +++ b/artifacts/apidocs/schemas/vault_redemption.md @@ -7,3 +7,4 @@ |request_valuation
`rv` |string|True|The valuation (in USD) of the redemption request.| |request_time
`rt` |string|True|[Filled by GRVT Backend] Time at which the redemption request was received by GRVT in unix nanoseconds| |max_redemption_period_timestamp
`mr` |string|True|[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be force-redeemed.| + |cancel_blocked
`cb` |boolean|False
`true`|Omitted for redemption requests to non-cross exchange vaults. True if cancellation is blocked within the CEV allocation allowance for the user's current tier (e.g. because the user has already transferred out the spot balance underlying the redemption request).| diff --git a/artifacts/apidocs/schemas/withdrawal.md b/artifacts/apidocs/schemas/withdrawal.md index abfbe28..d0ee0ca 100644 --- a/artifacts/apidocs/schemas/withdrawal.md +++ b/artifacts/apidocs/schemas/withdrawal.md @@ -15,3 +15,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/withdrawal_history.md b/artifacts/apidocs/schemas/withdrawal_history.md index 36b7a18..ce9596c 100644 --- a/artifacts/apidocs/schemas/withdrawal_history.md +++ b/artifacts/apidocs/schemas/withdrawal_history.md @@ -8,6 +8,8 @@ |num_tokens
`nt` |string|True|The number of tokens to withdraw| |signature
`s` |Signature|True|The signature of the withdrawal| |event_time
`et` |string|True|The timestamp of the withdrawal in unix nanoseconds| + |l_1_hash
`l1` |string|False
`''`|The finalized withdrawal transaction hash on L1| + |l_2_hash
`l2` |string|True|The transaction hash on L2| ??? info "[Signature](/../../schemas/signature)" |Name
`Lite`|Type|Required
`Default`| Description | |-|-|-|-| @@ -17,3 +19,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/schemas/ws_cancel_feed_data_v1.md b/artifacts/apidocs/schemas/ws_cancel_feed_data_v1.md index 908a188..b485507 100644 --- a/artifacts/apidocs/schemas/ws_cancel_feed_data_v1.md +++ b/artifacts/apidocs/schemas/ws_cancel_feed_data_v1.md @@ -55,6 +55,7 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| ??? info "[CancelStatus](/../../schemas/cancel_status)" |Value| Description | |-|-| diff --git a/artifacts/apidocs/schemas/ws_order_feed_data_v1.md b/artifacts/apidocs/schemas/ws_order_feed_data_v1.md index f8fc87e..296767e 100644 --- a/artifacts/apidocs/schemas/ws_order_feed_data_v1.md +++ b/artifacts/apidocs/schemas/ws_order_feed_data_v1.md @@ -50,6 +50,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[OrderMetadata](/../../schemas/order_metadata)" Metadata fields are used to support Backend only operations. These operations are not trustless by nature.
Hence, fields in here are never signed, and is never transmitted to the smart contract.
@@ -159,3 +160,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/ws_order_state_feed_data_v1.md b/artifacts/apidocs/schemas/ws_order_state_feed_data_v1.md index 10c6dba..02782b0 100644 --- a/artifacts/apidocs/schemas/ws_order_state_feed_data_v1.md +++ b/artifacts/apidocs/schemas/ws_order_state_feed_data_v1.md @@ -69,3 +69,4 @@ |`DERISK_NOT_SUPPORTED` = 35|derisk is not supported| |`INVALID_ORDER_TYPE` = 36|the order type is invalid| |`CURRENCY_NOT_DEFINED` = 37|the currency is not defined| + |`INVALID_CHAIN_ID` = 38|the chain ID is invalid| diff --git a/artifacts/apidocs/schemas/ws_positions_feed_data_v1.md b/artifacts/apidocs/schemas/ws_positions_feed_data_v1.md index 44c4fc7..b4999bf 100644 --- a/artifacts/apidocs/schemas/ws_positions_feed_data_v1.md +++ b/artifacts/apidocs/schemas/ws_positions_feed_data_v1.md @@ -23,3 +23,5 @@ |quote_index_price
`qi` |string|True|The index price of the quote currency. (reported in `USD`)| |est_liquidation_price
`el` |string|True|The estimated liquidation price| |leverage
`l` |string|True|The current leverage value for this position| + |cumulative_fee
`cf` |string|True|The cumulative fee paid on the position, expressed in quote asset decimal units| + |cumulative_realized_funding_payment
`cr` |string|True|The cumulative realized funding payment of the position, expressed in quote asset decimal units| diff --git a/artifacts/apidocs/schemas/ws_ticker_feed_data_v1.md b/artifacts/apidocs/schemas/ws_ticker_feed_data_v1.md index e9dacdc..38c115b 100644 --- a/artifacts/apidocs/schemas/ws_ticker_feed_data_v1.md +++ b/artifacts/apidocs/schemas/ws_ticker_feed_data_v1.md @@ -21,8 +21,8 @@ |best_bid_size
`bb1` |string|False
`None`|The number of assets offered on the best bid price of the instrument, expressed in base asset decimal units| |best_ask_price
`ba` |string|False
`None`|The best ask price of the instrument, expressed in `9` decimals| |best_ask_size
`ba1` |string|False
`None`|The number of assets offered on the best ask price of the instrument, expressed in base asset decimal units| - |funding_rate_8h_curr
`fr` |string|False
`None`|The current funding rate of the instrument, expressed in percentage points| - |funding_rate_8h_avg
`fr1` |string|False
`None`|The average funding rate of the instrument (over last 8h), expressed in percentage points| + |funding_rate_8h_curr
`fr` |string|False
`None`|DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`).| + |funding_rate_8h_avg
`fr1` |string|False
`None`|DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`).| |interest_rate
`ir` |string|False
`None`|The interest rate of the underlying, expressed in centibeeps (1/100th of a basis point)| |forward_price
`fp` |string|False
`None`|[Options] The forward price of the option, expressed in `9` decimals| |buy_volume_24h_b
`bv` |string|False
`None`|The 24 hour taker buy volume of the instrument, expressed in base asset decimal units| @@ -34,3 +34,5 @@ |open_price
`op` |string|False
`None`|The 24 hour first traded price of the instrument, expressed in `9` decimals| |open_interest
`oi` |string|False
`None`|The open interest in the instrument, expressed in base asset decimal units| |long_short_ratio
`ls1` |string|False
`None`|The ratio of accounts that are net long vs net short on this instrument| + |funding_rate
`fr2` |string|False
`None`|The current indicative funding rate for the active interval, expressed in centibeeps| + |next_funding_time
`nf` |string|False
`None`|Timestamp in nanoseconds when the current funding interval ends| diff --git a/artifacts/apidocs/schemas/ws_transfer_feed_data_v1.md b/artifacts/apidocs/schemas/ws_transfer_feed_data_v1.md index 9eca61c..70de8a2 100644 --- a/artifacts/apidocs/schemas/ws_transfer_feed_data_v1.md +++ b/artifacts/apidocs/schemas/ws_transfer_feed_data_v1.md @@ -30,6 +30,7 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| ??? info "[TransferType](/../../schemas/transfer_type)" |Value| Description | |-|-| @@ -39,3 +40,6 @@ |`FAST_ARB_WITHDRAWAL` = 3|Fast Arb Withdrawal Metadata type| |`NON_NATIVE_BRIDGE_DEPOSIT` = 4|Transfer type for non native bridging deposit| |`NON_NATIVE_BRIDGE_WITHDRAWAL` = 5|Transfer type for non native bridging withdrawal| + |`ADHOC_INCENTIVE` = 6|Transfer type for adhoc incentive| + |`REFERRAL_INCENTIVE` = 7|Transfer type for referral incentive| + |`TRADING_DEPOSIT_YIELD_INCENTIVE` = 8|Transfer type for trading deposit yield incentive| diff --git a/artifacts/apidocs/schemas/ws_withdrawal_feed_data_v1.md b/artifacts/apidocs/schemas/ws_withdrawal_feed_data_v1.md index fe45dfe..9277c50 100644 --- a/artifacts/apidocs/schemas/ws_withdrawal_feed_data_v1.md +++ b/artifacts/apidocs/schemas/ws_withdrawal_feed_data_v1.md @@ -24,3 +24,4 @@ |v
`v` |integer|True|Signature V| |expiration
`e` |string|True|Timestamp after which this signature expires, expressed in unix nanoseconds. Must be capped at 30 days| |nonce
`n` |integer|True|Users can randomly generate this value, used as a signature deconflicting key.
ie. You can send the same exact instruction twice with different nonces.
When the same nonce is used, the same payload will generate the same signature.
Our system will consider the payload a duplicate, and ignore it.| + |chain_id
`ci` |string|True|Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID.| diff --git a/artifacts/apidocs/trading_api.md b/artifacts/apidocs/trading_api.md index 445feee..501f81f 100644 --- a/artifacts/apidocs/trading_api.md +++ b/artifacts/apidocs/trading_api.md @@ -35,7 +35,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -74,7 +75,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -121,7 +123,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -169,7 +172,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -211,6 +215,7 @@ LITE ENDPOINT: lite/v1/create_order |1008|401|Your IP has not been whitelisted for access| |1400|403|Signer does not have trade permission| |1009|503|We are temporarily deactivating this API endpoint, please try again later| + |1012|400|Invalid signature chain ID| |2000|403|Signature is from an unauthorized signer| |2001|403|Signature has expired| |2002|403|Signature does not match payload| @@ -306,7 +311,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -353,7 +359,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -400,7 +407,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -447,7 +455,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -495,7 +504,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -542,7 +552,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -589,7 +600,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -636,7 +648,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -684,7 +697,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -731,7 +745,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -778,7 +793,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -825,7 +841,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -873,7 +890,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -920,7 +938,8 @@ LITE ENDPOINT: lite/v1/create_order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -967,7 +986,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -1014,7 +1034,8 @@ LITE ENDPOINT: lite/v1/create_order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -1829,7 +1850,8 @@ LITE ENDPOINT: lite/v1/order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -1877,7 +1899,8 @@ LITE ENDPOINT: lite/v1/order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -2261,7 +2284,8 @@ LITE ENDPOINT: lite/v1/open_orders "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -2309,7 +2333,8 @@ LITE ENDPOINT: lite/v1/open_orders "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -2715,7 +2740,8 @@ LITE ENDPOINT: lite/v1/order_history "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -2764,7 +2790,8 @@ LITE ENDPOINT: lite/v1/order_history "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -4035,7 +4062,9 @@ LITE ENDPOINT: lite/v1/positions "roi": "10.20", "quote_index_price": "1.0000102", "est_liquidation_price": 60000.25, - "leverage": "10" + "leverage": "10", + "cumulative_fee": "100000.20", + "cumulative_realized_funding_payment": "100000.20" }] } ``` @@ -4057,7 +4086,9 @@ LITE ENDPOINT: lite/v1/positions "r": "10.20", "qi": "1.0000102", "el": 60000.25, - "l": "10" + "l": "10", + "cf": "100000.20", + "cr": "100000.20" }] } ``` @@ -5234,7 +5265,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5255,7 +5287,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5353,7 +5386,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5382,7 +5416,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5411,7 +5446,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5440,7 +5476,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5470,7 +5507,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5499,7 +5537,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5528,7 +5567,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5557,7 +5597,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5587,7 +5628,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5616,7 +5658,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5645,7 +5688,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5674,7 +5718,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5704,7 +5749,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5733,7 +5779,8 @@ LITE ENDPOINT: lite/v1/transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "transfer_type": "UNSPECIFIED", "transfer_metadata": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5762,7 +5809,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5791,7 +5839,8 @@ LITE ENDPOINT: lite/v1/transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "tt": "UNSPECIFIED", "tm": {"provider":"XY","direction":"WITHDRAWAL","provider_tx_id":"txn123456","chainid":"42161","endpoint":"0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0"} @@ -5823,7 +5872,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] } ``` **Lite Request** @@ -5835,7 +5885,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] } ``` @@ -5862,7 +5913,8 @@ LITE ENDPOINT: lite/v1/transfer_history "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "event_time": "1697788800000000000", "transfer_type": "UNSPECIFIED", @@ -5888,7 +5940,8 @@ LITE ENDPOINT: lite/v1/transfer_history "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "et": "1697788800000000000", "tt": "UNSPECIFIED", @@ -5947,7 +6000,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] } ' ``` @@ -5967,7 +6021,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] }, "id": 123 } @@ -5987,7 +6042,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] } ' ``` @@ -6007,7 +6063,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] }, "i": 123 } @@ -6028,7 +6085,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] } ' ``` @@ -6048,7 +6106,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] }, "id": 123 } @@ -6068,7 +6127,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] } ' ``` @@ -6088,7 +6148,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] }, "i": 123 } @@ -6109,7 +6170,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] } ' ``` @@ -6129,7 +6191,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] }, "id": 123 } @@ -6149,7 +6212,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] } ' ``` @@ -6169,7 +6233,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] }, "i": 123 } @@ -6190,7 +6255,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] } ' ``` @@ -6210,7 +6276,8 @@ LITE ENDPOINT: lite/v1/transfer_history "limit": 500, "cursor": "", "tx_id": "1028403", - "main_account_id": null + "main_account_id": null, + "transfer_types": ["UNSPECIFIED"] }, "id": 123 } @@ -6230,7 +6297,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] } ' ``` @@ -6250,7 +6318,8 @@ LITE ENDPOINT: lite/v1/transfer_history "l": 500, "c1": "", "ti": "1028403", - "ma": null + "ma": null, + "tt": ["UNSPECIFIED"] }, "i": 123 } @@ -6283,7 +6352,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ``` @@ -6300,7 +6370,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ``` @@ -6382,7 +6453,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -6407,7 +6479,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -6432,7 +6505,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -6457,7 +6531,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -6483,7 +6558,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -6508,7 +6584,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -6533,7 +6610,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -6558,7 +6636,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -6584,7 +6663,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -6609,7 +6689,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -6634,7 +6715,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -6659,7 +6741,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -6685,7 +6768,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -6710,7 +6794,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -6735,7 +6820,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -6760,7 +6846,8 @@ LITE ENDPOINT: lite/v1/withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -6825,9 +6912,12 @@ LITE ENDPOINT: lite/v1/withdrawal_history "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, - "event_time": "1697788800000000000" + "event_time": "1697788800000000000", + "l_1_hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", + "l_2_hash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890" }], "next": "Qw0918=" } @@ -6847,9 +6937,12 @@ LITE ENDPOINT: lite/v1/withdrawal_history "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, - "et": "1697788800000000000" + "et": "1697788800000000000", + "l1": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", + "l2": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890" }], "n": "Qw0918=" } @@ -7264,7 +7357,9 @@ LITE ENDPOINT: lite/v1/account_summary "roi": "10.20", "quote_index_price": "1.0000102", "est_liquidation_price": 60000.25, - "leverage": "10" + "leverage": "10", + "cumulative_fee": "100000.20", + "cumulative_realized_funding_payment": "100000.20" }], "settle_index_price": "1.0000102", "is_vault": null, @@ -7307,7 +7402,9 @@ LITE ENDPOINT: lite/v1/account_summary "r": "10.20", "qi": "1.0000102", "el": 60000.25, - "l": "10" + "l": "10", + "cf": "100000.20", + "cr": "100000.20" }], "si": "1.0000102", "iv": null, @@ -7654,7 +7751,9 @@ LITE ENDPOINT: lite/v1/account_history "roi": "10.20", "quote_index_price": "1.0000102", "est_liquidation_price": 60000.25, - "leverage": "10" + "leverage": "10", + "cumulative_fee": "100000.20", + "cumulative_realized_funding_payment": "100000.20" }], "settle_index_price": "1.0000102", "is_vault": null, @@ -7698,7 +7797,9 @@ LITE ENDPOINT: lite/v1/account_history "r": "10.20", "qi": "1.0000102", "el": 60000.25, - "l": "10" + "l": "10", + "cf": "100000.20", + "cr": "100000.20" }], "si": "1.0000102", "iv": null, @@ -8082,7 +8183,8 @@ LITE ENDPOINT: lite/v1/aggregated_account_summary "vault_id": 123456789, "num_lp_tokens": 1000000, "share_price": 1000000 - }] + }], + "total_sub_account_balance": "3945034.23" } } ``` @@ -8101,7 +8203,8 @@ LITE ENDPOINT: lite/v1/aggregated_account_summary "vi": 123456789, "nl": 1000000, "sp": 1000000 - }] + }], + "ts": "3945034.23" } } ``` @@ -8706,7 +8809,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ``` @@ -8721,7 +8825,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ``` @@ -8797,7 +8902,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -8820,7 +8926,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -8843,7 +8950,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -8866,7 +8974,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -8890,7 +8999,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -8913,7 +9023,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -8936,7 +9047,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -8959,7 +9071,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -8983,7 +9096,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -9006,7 +9120,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -9029,7 +9144,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -9052,7 +9168,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -9076,7 +9193,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -9099,7 +9217,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -9122,7 +9241,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -9145,7 +9265,8 @@ LITE ENDPOINT: lite/v1/set_derisk_mm_ratio "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -9844,7 +9965,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ``` @@ -9860,7 +9982,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ``` @@ -9952,7 +10075,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -9976,7 +10100,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -10000,7 +10125,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -10024,7 +10150,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -10049,7 +10176,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -10073,7 +10201,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -10097,7 +10226,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -10121,7 +10251,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -10146,7 +10277,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -10170,7 +10302,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -10194,7 +10327,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -10218,7 +10352,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -10243,7 +10378,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -10267,7 +10403,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -10291,7 +10428,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -10315,7 +10453,8 @@ LITE ENDPOINT: lite/v1/vault_burn_tokens "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -10348,7 +10487,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ``` @@ -10364,7 +10504,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ``` @@ -10457,7 +10598,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -10481,7 +10623,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -10505,7 +10648,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -10529,7 +10673,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -10554,7 +10699,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -10578,7 +10724,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -10602,7 +10749,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -10626,7 +10774,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -10651,7 +10800,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -10675,7 +10825,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -10699,7 +10850,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -10723,7 +10875,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -10748,7 +10901,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -10772,7 +10926,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -10796,7 +10951,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -10820,7 +10976,8 @@ LITE ENDPOINT: lite/v1/vault_invest "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -10874,7 +11031,8 @@ LITE ENDPOINT: lite/v1/vault_investor_summary "num_lp_tokens": 1000000, "request_valuation": 1000000, "request_time": "1697788800000000000", - "max_redemption_period_timestamp": 1727788800000000000 + "max_redemption_period_timestamp": 1727788800000000000, + "cancel_blocked": null }, "can_burn": null }] @@ -10894,7 +11052,8 @@ LITE ENDPOINT: lite/v1/vault_investor_summary "nl": 1000000, "rv": 1000000, "rt": "1697788800000000000", - "mr": 1727788800000000000 + "mr": 1727788800000000000, + "cb": null }, "cb": null }] @@ -11191,7 +11350,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ``` @@ -11207,7 +11367,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ``` @@ -11290,7 +11451,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -11314,7 +11476,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -11338,7 +11501,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -11362,7 +11526,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -11387,7 +11552,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -11411,7 +11577,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -11435,7 +11602,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -11459,7 +11627,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -11484,7 +11653,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -11508,7 +11678,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -11532,7 +11703,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -11556,7 +11728,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -11581,7 +11754,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } ' @@ -11605,7 +11779,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } }, "id": 123 @@ -11629,7 +11804,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } ' @@ -11653,7 +11829,8 @@ LITE ENDPOINT: lite/v1/vault_redeem "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } }, "i": 123 @@ -12344,14 +12521,18 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history ``` { .json .copy } { "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" } ``` **Lite Request** ``` { .json .copy } { "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" } ``` @@ -12436,7 +12617,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ --data '{ "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" } ' ``` @@ -12451,7 +12634,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history "method": "v1/vault_manager_investor_history", "params": { "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" }, "id": 123 } @@ -12466,7 +12651,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ --data '{ "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" } ' ``` @@ -12481,7 +12668,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history "m": "v1/vault_manager_investor_history", "p": { "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" }, "i": 123 } @@ -12497,7 +12686,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ --data '{ "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" } ' ``` @@ -12512,7 +12703,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history "method": "v1/vault_manager_investor_history", "params": { "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" }, "id": 123 } @@ -12527,7 +12720,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ --data '{ "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" } ' ``` @@ -12542,7 +12737,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history "m": "v1/vault_manager_investor_history", "p": { "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" }, "i": 123 } @@ -12558,7 +12755,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ --data '{ "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" } ' ``` @@ -12573,7 +12772,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history "method": "v1/vault_manager_investor_history", "params": { "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" }, "id": 123 } @@ -12588,7 +12789,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ --data '{ "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" } ' ``` @@ -12603,7 +12806,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history "m": "v1/vault_manager_investor_history", "p": { "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" }, "i": 123 } @@ -12619,7 +12824,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ --data '{ "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" } ' ``` @@ -12634,7 +12841,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history "method": "v1/vault_manager_investor_history", "params": { "vault_id": "2312134", - "only_own_investments": true + "only_own_investments": true, + "start_time": "1697788800000000000", + "end_time": "1697788800000000000" }, "id": 123 } @@ -12649,7 +12858,9 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ --data '{ "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" } ' ``` @@ -12664,7 +12875,1876 @@ LITE ENDPOINT: lite/v1/vault_manager_investor_history "m": "v1/vault_manager_investor_history", "p": { "vi": "2312134", - "oo": true + "oo": true, + "st": "1697788800000000000", + "et": "1697788800000000000" + }, + "i": 123 + } + ' -w 360 + ``` + +
+## CrossExchangeVault +### Cross Exch Vault View Investment Queue +``` +FULL ENDPOINT: full/v1/cev_view_investment_queue +LITE ENDPOINT: lite/v1/cev_view_investment_queue +``` + +=== "Request" +
+ -8<- "docs/schemas/api_cross_exch_vault_view_investment_queue_request.md" +
+
+ !!! question "Query" + **Full Request** + ``` { .json .copy } + { + "vault_id": "3477045127917224" + } + ``` + **Lite Request** + ``` { .json .copy } + { + "vi": "3477045127917224" + } + ``` +
+=== "Response" +
+ -8<- "docs/schemas/api_cross_exch_vault_view_investment_queue_response.md" +
+
+ !!! success + **Full Response** + ``` { .json .copy } + { + "investment_queue": [{ + "request_time": "1697788800000000000", + "currency": "USDT", + "num_tokens": 1000000, + "is_manager": true + }], + "total_investment_equity": 1000000 + } + ``` + **Lite Response** + ``` { .json .copy } + { + "iq": [{ + "rt": "1697788800000000000", + "c": "USDT", + "nt": 1000000, + "im": true + }], + "ti": 1000000 + } + ``` +
+=== "Errors" +
+ !!! info "Error Codes" + |Code|HttpStatus| Description | + |-|-|-| + |1000|401|You need to authenticate prior to using this functionality| + |1001|403|You are not authorized to access this functionality| + |1002|500|Internal Server Error| + |1003|400|Request could not be processed due to malformed syntax| + |1006|429|You have surpassed the allocated rate limit for your tier| + |1008|401|Your IP has not been whitelisted for access| + |7000|400|Vault ID provided is invalid and does not belong to any vault| +
+
+ !!! failure + **Full Error Response** + ``` { .json .copy } + { + "request_id":1, + "code":1000, + "message":"You need to authenticate prior to using this functionality", + "status":401 + } + ``` + **Lite Error Response** + ``` { .json .copy } + { + "ri":1, + "c":1000, + "m":"You need to authenticate prior to using this functionality", + "s":401 + } + ``` +
+=== "Try it out" + -8<- "sections/auth_closed.md" + === "DEV" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/full/v1/cev_view_investment_queue' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_view_investment_queue", + "params": { + "vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/lite/v1/cev_view_investment_queue' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_view_investment_queue", + "p": { + "vi": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "STAGING" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/full/v1/cev_view_investment_queue' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_view_investment_queue", + "params": { + "vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/lite/v1/cev_view_investment_queue' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_view_investment_queue", + "p": { + "vi": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "TESTNET" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/full/v1/cev_view_investment_queue' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_view_investment_queue", + "params": { + "vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/lite/v1/cev_view_investment_queue' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_view_investment_queue", + "p": { + "vi": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "PROD" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/full/v1/cev_view_investment_queue' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_view_investment_queue", + "params": { + "vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/lite/v1/cev_view_investment_queue' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_view_investment_queue", + "p": { + "vi": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+
+### Cross Exch Vault Trigger Redemption +``` +FULL ENDPOINT: full/v1/cev_trigger_redemption +LITE ENDPOINT: lite/v1/cev_trigger_redemption +``` + +=== "Request" +
+ -8<- "docs/schemas/api_cross_exch_vault_trigger_redemption_request.md" +
+
+ !!! question "Query" + **Full Request** + ``` { .json .copy } + { + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + } + ``` + **Lite Request** + ``` { .json .copy } + { + "vi": "3477045127917224", + "rt": "1697788800000000000" + } + ``` +
+=== "Response" +
+ -8<- "docs/schemas/ack_response.md" +
+
+ !!! success + **Full Response** + ``` { .json .copy } + { + "result": { + "ack": "true" + } + } + ``` + **Lite Response** + ``` { .json .copy } + { + "r": { + "a": "true" + } + } + ``` +
+=== "Errors" +
+ !!! info "Error Codes" + |Code|HttpStatus| Description | + |-|-|-| + |1000|401|You need to authenticate prior to using this functionality| + |1001|403|You are not authorized to access this functionality| + |1002|500|Internal Server Error| + |1003|400|Request could not be processed due to malformed syntax| + |1006|429|You have surpassed the allocated rate limit for your tier| + |1004|404|Data Not Found| + |7000|400|Vault ID provided is invalid and does not belong to any vault| +
+
+ !!! failure + **Full Error Response** + ``` { .json .copy } + { + "request_id":1, + "code":1000, + "message":"You need to authenticate prior to using this functionality", + "status":401 + } + ``` + **Lite Error Response** + ``` { .json .copy } + { + "ri":1, + "c":1000, + "m":"You need to authenticate prior to using this functionality", + "s":401 + } + ``` +
+=== "Try it out" + -8<- "sections/auth_closed.md" + === "DEV" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/full/v1/cev_trigger_redemption' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_trigger_redemption", + "params": { + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/lite/v1/cev_trigger_redemption' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224", + "rt": "1697788800000000000" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_trigger_redemption", + "p": { + "vi": "3477045127917224", + "rt": "1697788800000000000" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "STAGING" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/full/v1/cev_trigger_redemption' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_trigger_redemption", + "params": { + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/lite/v1/cev_trigger_redemption' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224", + "rt": "1697788800000000000" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_trigger_redemption", + "p": { + "vi": "3477045127917224", + "rt": "1697788800000000000" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "TESTNET" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/full/v1/cev_trigger_redemption' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_trigger_redemption", + "params": { + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/lite/v1/cev_trigger_redemption' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224", + "rt": "1697788800000000000" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_trigger_redemption", + "p": { + "vi": "3477045127917224", + "rt": "1697788800000000000" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "PROD" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/full/v1/cev_trigger_redemption' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_trigger_redemption", + "params": { + "vault_id": "3477045127917224", + "request_time": "1697788800000000000" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/lite/v1/cev_trigger_redemption' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224", + "rt": "1697788800000000000" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_trigger_redemption", + "p": { + "vi": "3477045127917224", + "rt": "1697788800000000000" + }, + "i": 123 + } + ' -w 360 + ``` +
+
+### Cross Exch Vault Attest Equity +``` +FULL ENDPOINT: full/v1/cev_attest_equity +LITE ENDPOINT: lite/v1/cev_attest_equity +``` + +=== "Request" +
+ -8<- "docs/schemas/api_cross_exch_vault_attest_equity_request.md" +
+
+ !!! question "Query" + **Full Request** + ``` { .json .copy } + { + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + } + ``` + **Lite Request** + ``` { .json .copy } + { + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + } + ``` +
+=== "Response" +
+ -8<- "docs/schemas/ack_response.md" +
+
+ !!! success + **Full Response** + ``` { .json .copy } + { + "result": { + "ack": "true" + } + } + ``` + **Lite Response** + ``` { .json .copy } + { + "r": { + "a": "true" + } + } + ``` +
+=== "Errors" +
+ !!! info "Error Codes" + |Code|HttpStatus| Description | + |-|-|-| + |1000|401|You need to authenticate prior to using this functionality| + |1001|403|You are not authorized to access this functionality| + |1002|500|Internal Server Error| + |1003|400|Request could not be processed due to malformed syntax| + |1006|429|You have surpassed the allocated rate limit for your tier| + |1008|401|Your IP has not been whitelisted for access| + |1009|503|We are temporarily deactivating this API endpoint, please try again later| + |2000|403|Signature is from an unauthorized signer| + |2001|403|Signature has expired| + |2002|403|Signature does not match payload| + |2004|403|Signature is from an expired session key| + |2006|403|Signature R/S must have exactly 64 characters long without 0x prefix| + |2005|403|Signature V must be 27/28| + |2007|403|Signature S must be in the lower half of the curve| + |2008|403|Signature exceeds maximum allowed duration.| + |4000|400|Insufficient balance to complete transfer| + |7000|400|Vault ID provided is invalid and does not belong to any vault| + |7003|400|This vault has been delisted/closed.| + |7020|400|Attested share price is inconsistent with signed total-equity value.| + |7021|400|Attested last-updated time is inconsistent with GRVT record.| + |7022|400|Attested token supply is inconsistent with GRVT record.| + |7025|400|This operation requires a locked cross-exchange vault| +
+
+ !!! failure + **Full Error Response** + ``` { .json .copy } + { + "request_id":1, + "code":1000, + "message":"You need to authenticate prior to using this functionality", + "status":401 + } + ``` + **Lite Error Response** + ``` { .json .copy } + { + "ri":1, + "c":1000, + "m":"You need to authenticate prior to using this functionality", + "s":401 + } + ``` +
+=== "Try it out" + -8<- "sections/auth_closed.md" + === "DEV" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/full/v1/cev_attest_equity' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_attest_equity", + "params": { + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/lite/v1/cev_attest_equity' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_attest_equity", + "p": { + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "STAGING" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/full/v1/cev_attest_equity' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_attest_equity", + "params": { + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/lite/v1/cev_attest_equity' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_attest_equity", + "p": { + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "TESTNET" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/full/v1/cev_attest_equity' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_attest_equity", + "params": { + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/lite/v1/cev_attest_equity' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_attest_equity", + "p": { + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "PROD" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/full/v1/cev_attest_equity' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_attest_equity", + "params": { + "vault_id": "3477045127917224", + "total_equity": 1000000, + "num_lp_tokens": 1000000, + "share_price": 1000000, + "last_update_timestamp": "1697788800000000000", + "signature": { + "signer": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "expiration": "1697788800000000000", + "nonce": 1234567890, + "chain_id": "325" + } + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/lite/v1/cev_attest_equity' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_attest_equity", + "p": { + "vi": "3477045127917224", + "te": 1000000, + "nl": 1000000, + "sp": 1000000, + "lu": "1697788800000000000", + "s": { + "s": "0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0", + "r": "0xb788d96fee91c7cdc35918e0441b756d4000ec1d07d900c73347d9abbc20acc8", + "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", + "v": 28, + "e": "1697788800000000000", + "n": 1234567890, + "ci": "325" + } + }, + "i": 123 + } + ' -w 360 + ``` +
+
+### Cross Exch Vault Lock +``` +FULL ENDPOINT: full/v1/cev_lock +LITE ENDPOINT: lite/v1/cev_lock +``` + +=== "Request" +
+ -8<- "docs/schemas/api_cross_exch_vault_lock_request.md" +
+
+ !!! question "Query" + **Full Request** + ``` { .json .copy } + { + "cross_exch_vault_id": "3477045127917224" + } + ``` + **Lite Request** + ``` { .json .copy } + { + "ce": "3477045127917224" + } + ``` +
+=== "Response" +
+ -8<- "docs/schemas/ack_response.md" +
+
+ !!! success + **Full Response** + ``` { .json .copy } + { + "result": { + "ack": "true" + } + } + ``` + **Lite Response** + ``` { .json .copy } + { + "r": { + "a": "true" + } + } + ``` +
+=== "Errors" +
+ !!! info "Error Codes" + |Code|HttpStatus| Description | + |-|-|-| + |1000|401|You need to authenticate prior to using this functionality| + |1001|403|You are not authorized to access this functionality| + |1002|500|Internal Server Error| + |1003|400|Request could not be processed due to malformed syntax| + |1006|429|You have surpassed the allocated rate limit for your tier| + |1008|401|Your IP has not been whitelisted for access| + |1009|503|We are temporarily deactivating this API endpoint, please try again later| + |2000|403|Signature is from an unauthorized signer| + |2001|403|Signature has expired| + |2002|403|Signature does not match payload| + |2004|403|Signature is from an expired session key| + |2006|403|Signature R/S must have exactly 64 characters long without 0x prefix| + |2005|403|Signature V must be 27/28| + |2007|403|Signature S must be in the lower half of the curve| + |2008|403|Signature exceeds maximum allowed duration.| + |4000|400|Insufficient balance to complete transfer| + |7000|400|Vault ID provided is invalid and does not belong to any vault| + |7003|400|This vault has been delisted/closed.| + |7004|400|This investment would cause the vault to exceed its valuation cap.| + |7023|400|This cross-exchange vault is already locked| +
+
+ !!! failure + **Full Error Response** + ``` { .json .copy } + { + "request_id":1, + "code":1000, + "message":"You need to authenticate prior to using this functionality", + "status":401 + } + ``` + **Lite Error Response** + ``` { .json .copy } + { + "ri":1, + "c":1000, + "m":"You need to authenticate prior to using this functionality", + "s":401 + } + ``` +
+=== "Try it out" + -8<- "sections/auth_closed.md" + === "DEV" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/full/v1/cev_lock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "cross_exch_vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_lock", + "params": { + "cross_exch_vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/lite/v1/cev_lock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "ce": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_lock", + "p": { + "ce": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "STAGING" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/full/v1/cev_lock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "cross_exch_vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_lock", + "params": { + "cross_exch_vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/lite/v1/cev_lock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "ce": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_lock", + "p": { + "ce": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "TESTNET" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/full/v1/cev_lock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "cross_exch_vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_lock", + "params": { + "cross_exch_vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/lite/v1/cev_lock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "ce": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_lock", + "p": { + "ce": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "PROD" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/full/v1/cev_lock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "cross_exch_vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_lock", + "params": { + "cross_exch_vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/lite/v1/cev_lock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "ce": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_lock", + "p": { + "ce": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+
+### Cross Exch Vault Unlock +``` +FULL ENDPOINT: full/v1/cev_unlock +LITE ENDPOINT: lite/v1/cev_unlock +``` + +=== "Request" +
+ -8<- "docs/schemas/api_cross_exch_vault_unlock_request.md" +
+
+ !!! question "Query" + **Full Request** + ``` { .json .copy } + { + "cross_exch_vault_id": "3477045127917224" + } + ``` + **Lite Request** + ``` { .json .copy } + { + "ce": "3477045127917224" + } + ``` +
+=== "Response" +
+ -8<- "docs/schemas/ack_response.md" +
+
+ !!! success + **Full Response** + ``` { .json .copy } + { + "result": { + "ack": "true" + } + } + ``` + **Lite Response** + ``` { .json .copy } + { + "r": { + "a": "true" + } + } + ``` +
+=== "Errors" +
+ !!! info "Error Codes" + |Code|HttpStatus| Description | + |-|-|-| + |1000|401|You need to authenticate prior to using this functionality| + |1001|403|You are not authorized to access this functionality| + |1002|500|Internal Server Error| + |1003|400|Request could not be processed due to malformed syntax| + |1006|429|You have surpassed the allocated rate limit for your tier| + |1008|401|Your IP has not been whitelisted for access| + |1009|503|We are temporarily deactivating this API endpoint, please try again later| + |2000|403|Signature is from an unauthorized signer| + |2001|403|Signature has expired| + |2002|403|Signature does not match payload| + |2004|403|Signature is from an expired session key| + |2006|403|Signature R/S must have exactly 64 characters long without 0x prefix| + |2005|403|Signature V must be 27/28| + |2007|403|Signature S must be in the lower half of the curve| + |2008|403|Signature exceeds maximum allowed duration.| + |4000|400|Insufficient balance to complete transfer| + |7000|400|Vault ID provided is invalid and does not belong to any vault| + |7003|400|This vault has been delisted/closed.| + |7004|400|This investment would cause the vault to exceed its valuation cap.| + |7024|400|This cross-exchange vault is already unlocked| +
+
+ !!! failure + **Full Error Response** + ``` { .json .copy } + { + "request_id":1, + "code":1000, + "message":"You need to authenticate prior to using this functionality", + "status":401 + } + ``` + **Lite Error Response** + ``` { .json .copy } + { + "ri":1, + "c":1000, + "m":"You need to authenticate prior to using this functionality", + "s":401 + } + ``` +
+=== "Try it out" + -8<- "sections/auth_closed.md" + === "DEV" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/full/v1/cev_unlock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "cross_exch_vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_unlock", + "params": { + "cross_exch_vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.dev.gravitymarkets.io/lite/v1/cev_unlock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "ce": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.dev.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_unlock", + "p": { + "ce": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "STAGING" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/full/v1/cev_unlock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "cross_exch_vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_unlock", + "params": { + "cross_exch_vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.staging.gravitymarkets.io/lite/v1/cev_unlock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "ce": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.staging.gravitymarkets.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_unlock", + "p": { + "ce": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "TESTNET" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/full/v1/cev_unlock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "cross_exch_vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_unlock", + "params": { + "cross_exch_vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.testnet.grvt.io/lite/v1/cev_unlock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "ce": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.testnet.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_unlock", + "p": { + "ce": "3477045127917224" + }, + "i": 123 + } + ' -w 360 + ``` +
+ === "PROD" +
+ !!! example "REST Full" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/full/v1/cev_unlock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "cross_exch_vault_id": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Full" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/full" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "jsonrpc": "2.0", + "method": "v1/cev_unlock", + "params": { + "cross_exch_vault_id": "3477045127917224" + }, + "id": 123 + } + ' -w 360 + ``` +
+
+ !!! example "REST Lite" + ``` { .bash .copy } + curl --location 'https://trades.grvt.io/lite/v1/cev_unlock' \ + --header "Cookie: $GRVT_COOKIE" \ + --header "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + --data '{ + "ce": "3477045127917224" + } + ' + ``` + !!! example "JSONRPC Lite" + ``` { .bash .copy } + wscat -c "wss://trades.grvt.io/ws/lite" \ + -H "Cookie: $GRVT_COOKIE" \ + -H "X-Grvt-Account-Id: $GRVT_ACCOUNT_ID" \ + -x ' + { + "j": "2.0", + "m": "v1/cev_unlock", + "p": { + "ce": "3477045127917224" }, "i": 123 } diff --git a/artifacts/apidocs/trading_streams.md b/artifacts/apidocs/trading_streams.md index ea50eea..fcdd183 100644 --- a/artifacts/apidocs/trading_streams.md +++ b/artifacts/apidocs/trading_streams.md @@ -127,7 +127,8 @@ STREAM: v1.order "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "metadata": { "client_order_id": "23042", @@ -178,7 +179,8 @@ STREAM: v1.order "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "m": { "co": "23042", @@ -2632,7 +2634,9 @@ STREAM: v1.position "roi": "10.20", "quote_index_price": "1.0000102", "est_liquidation_price": 60000.25, - "leverage": "10" + "leverage": "10", + "cumulative_fee": "100000.20", + "cumulative_realized_funding_payment": "100000.20" } } ``` @@ -2657,7 +2661,9 @@ STREAM: v1.position "r": "10.20", "qi": "1.0000102", "el": 60000.25, - "l": "10" + "l": "10", + "cf": "100000.20", + "cr": "100000.20" } } ``` @@ -3842,7 +3848,8 @@ STREAM: v1.transfer "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" }, "event_time": "1697788800000000000", "transfer_type": "UNSPECIFIED", @@ -3870,7 +3877,8 @@ STREAM: v1.transfer "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" }, "et": "1697788800000000000", "tt": "UNSPECIFIED", @@ -4460,7 +4468,8 @@ STREAM: v1.withdrawal "s": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "expiration": "1697788800000000000", - "nonce": 1234567890 + "nonce": 1234567890, + "chain_id": "325" } } } @@ -4482,7 +4491,8 @@ STREAM: v1.withdrawal "s1": "0x3d786193125f7c29c958647da64d0e2875ece2c3f845a591bdd7dae8c475e26d", "v": 28, "e": "1697788800000000000", - "n": 1234567890 + "n": 1234567890, + "ci": "325" } } } diff --git a/artifacts/pysdk/grvt_raw_async.py b/artifacts/pysdk/grvt_raw_async.py index a8d2ab3..36ed7e7 100644 --- a/artifacts/pysdk/grvt_raw_async.py +++ b/artifacts/pysdk/grvt_raw_async.py @@ -363,3 +363,49 @@ async def vault_manager_investment_history_v1( return from_dict( types.ApiQueryVaultManagerInvestorHistoryResponse, resp, Config(cast=[Enum]) ) + + async def cross_exch_vault_view_investment_queue_v1( + self, req: types.ApiCrossExchVaultViewInvestmentQueueRequest + ) -> types.ApiCrossExchVaultViewInvestmentQueueResponse | GrvtError: + resp = await self._post( + True, self.td_rpc + "/full/v1/cev_view_investment_queue", req + ) + if resp.get("code"): + return GrvtError(**resp) + return from_dict( + types.ApiCrossExchVaultViewInvestmentQueueResponse, resp, Config(cast=[Enum]) + ) + + async def cross_exch_vault_trigger_redemption_v1( + self, req: types.ApiCrossExchVaultTriggerRedemptionRequest + ) -> types.AckResponse | GrvtError: + resp = await self._post( + True, self.td_rpc + "/full/v1/cev_trigger_redemption", req + ) + if resp.get("code"): + return GrvtError(**resp) + return from_dict(types.AckResponse, resp, Config(cast=[Enum])) + + async def cross_exch_vault_attest_equity_v1( + self, req: types.ApiCrossExchVaultAttestEquityRequest + ) -> types.AckResponse | GrvtError: + resp = await self._post(True, self.td_rpc + "/full/v1/cev_attest_equity", req) + if resp.get("code"): + return GrvtError(**resp) + return from_dict(types.AckResponse, resp, Config(cast=[Enum])) + + async def cross_exch_vault_lock_v1( + self, req: types.ApiCrossExchVaultLockRequest + ) -> types.AckResponse | GrvtError: + resp = await self._post(True, self.td_rpc + "/full/v1/cev_lock", req) + if resp.get("code"): + return GrvtError(**resp) + return from_dict(types.AckResponse, resp, Config(cast=[Enum])) + + async def cross_exch_vault_unlock_v1( + self, req: types.ApiCrossExchVaultUnlockRequest + ) -> types.AckResponse | GrvtError: + resp = await self._post(True, self.td_rpc + "/full/v1/cev_unlock", req) + if resp.get("code"): + return GrvtError(**resp) + return from_dict(types.AckResponse, resp, Config(cast=[Enum])) diff --git a/artifacts/pysdk/grvt_raw_sync.py b/artifacts/pysdk/grvt_raw_sync.py index 1c2d137..457f8ae 100644 --- a/artifacts/pysdk/grvt_raw_sync.py +++ b/artifacts/pysdk/grvt_raw_sync.py @@ -349,3 +349,45 @@ def vault_manager_investment_history_v1( return from_dict( types.ApiQueryVaultManagerInvestorHistoryResponse, resp, Config(cast=[Enum]) ) + + def cross_exch_vault_view_investment_queue_v1( + self, req: types.ApiCrossExchVaultViewInvestmentQueueRequest + ) -> types.ApiCrossExchVaultViewInvestmentQueueResponse | GrvtError: + resp = self._post(True, self.td_rpc + "/full/v1/cev_view_investment_queue", req) + if resp.get("code"): + return GrvtError(**resp) + return from_dict( + types.ApiCrossExchVaultViewInvestmentQueueResponse, resp, Config(cast=[Enum]) + ) + + def cross_exch_vault_trigger_redemption_v1( + self, req: types.ApiCrossExchVaultTriggerRedemptionRequest + ) -> types.AckResponse | GrvtError: + resp = self._post(True, self.td_rpc + "/full/v1/cev_trigger_redemption", req) + if resp.get("code"): + return GrvtError(**resp) + return from_dict(types.AckResponse, resp, Config(cast=[Enum])) + + def cross_exch_vault_attest_equity_v1( + self, req: types.ApiCrossExchVaultAttestEquityRequest + ) -> types.AckResponse | GrvtError: + resp = self._post(True, self.td_rpc + "/full/v1/cev_attest_equity", req) + if resp.get("code"): + return GrvtError(**resp) + return from_dict(types.AckResponse, resp, Config(cast=[Enum])) + + def cross_exch_vault_lock_v1( + self, req: types.ApiCrossExchVaultLockRequest + ) -> types.AckResponse | GrvtError: + resp = self._post(True, self.td_rpc + "/full/v1/cev_lock", req) + if resp.get("code"): + return GrvtError(**resp) + return from_dict(types.AckResponse, resp, Config(cast=[Enum])) + + def cross_exch_vault_unlock_v1( + self, req: types.ApiCrossExchVaultUnlockRequest + ) -> types.AckResponse | GrvtError: + resp = self._post(True, self.td_rpc + "/full/v1/cev_unlock", req) + if resp.get("code"): + return GrvtError(**resp) + return from_dict(types.AckResponse, resp, Config(cast=[Enum])) diff --git a/artifacts/pysdk/grvt_raw_types.py b/artifacts/pysdk/grvt_raw_types.py index f20827b..368e5c7 100644 --- a/artifacts/pysdk/grvt_raw_types.py +++ b/artifacts/pysdk/grvt_raw_types.py @@ -185,6 +185,8 @@ class OrderRejectReason(Enum): INVALID_ORDER_TYPE = "INVALID_ORDER_TYPE" # the currency is not defined CURRENCY_NOT_DEFINED = "CURRENCY_NOT_DEFINED" + # the chain ID is invalid + INVALID_CHAIN_ID = "INVALID_CHAIN_ID" class OrderStatus(Enum): @@ -234,6 +236,12 @@ class TransferType(Enum): NON_NATIVE_BRIDGE_DEPOSIT = "NON_NATIVE_BRIDGE_DEPOSIT" # Transfer type for non native bridging withdrawal NON_NATIVE_BRIDGE_WITHDRAWAL = "NON_NATIVE_BRIDGE_WITHDRAWAL" + # Transfer type for adhoc incentive + ADHOC_INCENTIVE = "ADHOC_INCENTIVE" + # Transfer type for referral incentive + REFERRAL_INCENTIVE = "REFERRAL_INCENTIVE" + # Transfer type for trading deposit yield incentive + TRADING_DEPOSIT_YIELD_INCENTIVE = "TRADING_DEPOSIT_YIELD_INCENTIVE" class TriggerBy(Enum): @@ -369,6 +377,10 @@ class Positions: est_liquidation_price: str # The current leverage value for this position leverage: str + # The cumulative fee paid on the position, expressed in quote asset decimal units + cumulative_fee: str + # The cumulative realized funding payment of the position, expressed in quote asset decimal units + cumulative_realized_funding_payment: str @dataclass @@ -651,6 +663,8 @@ class AggregatedAccountSummary: spot_balances: list[SpotBalance] # The list of vault investments held by this main account vault_investments: list[VaultInvestment] + # Total balance of the sub accounts, denominated in USD + total_sub_account_balance: str @dataclass @@ -747,6 +761,8 @@ class Signature: Our system will consider the payload a duplicate, and ignore it. """ nonce: int + # Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID. + chain_id: str @dataclass @@ -1125,9 +1141,9 @@ class Ticker: best_ask_price: str | None = None # The number of assets offered on the best ask price of the instrument, expressed in base asset decimal units best_ask_size: str | None = None - # The current funding rate of the instrument, expressed in percentage points + # DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`). funding_rate_8h_curr: str | None = None - # The average funding rate of the instrument (over last 8h), expressed in percentage points + # DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`). funding_rate_8h_avg: str | None = None # The interest rate of the underlying, expressed in centibeeps (1/100th of a basis point) interest_rate: str | None = None @@ -1151,6 +1167,10 @@ class Ticker: open_interest: str | None = None # The ratio of accounts that are net long vs net short on this instrument long_short_ratio: str | None = None + # The current indicative funding rate for the active interval, expressed in centibeeps + funding_rate: str | None = None + # Timestamp in nanoseconds when the current funding interval ends + next_funding_time: str | None = None @dataclass @@ -1419,7 +1439,7 @@ class ApiGetInstrumentRequest: @dataclass -class Instrument: +class InstrumentDisplay: # The readable instrument name: instrument: str # The asset ID used for instrument signing. @@ -1446,12 +1466,18 @@ class Instrument: create_time: str # The maximum position size, expressed in base asset decimal units max_position_size: str + # Defines the funding interval to be applied. + funding_interval_hours: int | None = None + # Funding rate cap over the defined `intervalHours`. + adjusted_funding_rate_cap: str | None = None + # Funding rate floor over the defined `intervalHours`. + adjusted_funding_rate_floor: str | None = None @dataclass class ApiGetInstrumentResponse: # The instrument matching the request asset - result: Instrument + result: InstrumentDisplay @dataclass @@ -1471,7 +1497,7 @@ class ApiGetFilteredInstrumentsRequest: @dataclass class ApiGetFilteredInstrumentsResponse: # The instruments matching the request filter - result: list[Instrument] + result: list[InstrumentDisplay] @dataclass @@ -1580,7 +1606,7 @@ class ApiGetAllInstrumentsRequest: @dataclass class ApiGetAllInstrumentsResponse: # List of instruments - result: list[Instrument] + result: list[InstrumentDisplay] @dataclass @@ -1589,6 +1615,10 @@ class ApiQueryVaultManagerInvestorHistoryRequest: vault_id: str # Whether to only return investments made by the manager only_own_investments: bool + # Optional. Start time in unix nanoseconds + start_time: str | None = None + # Optional. End time in unix nanoseconds + end_time: str | None = None @dataclass @@ -2438,6 +2468,8 @@ class ApiTransferHistoryRequest: tx_id: str | None = None # Main account ID being queried. By default, applies the requestor's main account ID. main_account_id: str | None = None + # The transfer type to filters for. If the list is empty, return all transfer types. + transfer_types: list[TransferType] | None = None @dataclass @@ -2487,6 +2519,10 @@ class WithdrawalHistory: signature: Signature # The timestamp of the withdrawal in unix nanoseconds event_time: str + # The transaction hash on L2 + l_2_hash: str + # The finalized withdrawal transaction hash on L1 + l_1_hash: str | None = None @dataclass @@ -2649,6 +2685,8 @@ class VaultRedemption: request_time: str # [Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be force-redeemed. max_redemption_period_timestamp: str + # Omitted for redemption requests to non-cross exchange vaults. True if cancellation is blocked within the CEV allocation allowance for the user's current tier (e.g. because the user has already transferred out the spot balance underlying the redemption request). + cancel_blocked: bool | None = None @dataclass @@ -2709,3 +2747,112 @@ class ApiVaultBurnTokensRequest: The signature must comply with AccountPermExternalTransfer permission. """ signature: Signature + + +@dataclass +class ApiCrossExchVaultViewInvestmentQueueRequest: + """ + Request payload for a cross-exchange vault manager to view the investment queue for their vault in FIFO order. + + This queue gets drained on every equity attestation event submitted by the cross-exchange vault manager. + + + """ + + # The unique identifier of the cross-exchange vault to fetch the investment queue for. + vault_id: str + + +@dataclass +class CrossExchVaultPendingInvestment: + # [Filled by GRVT Backend] Time at which the investment request was confirmed and enqueued by GRVT in unix nanoseconds + request_time: str + # The currency used for the investment. This should be the vault's quote currency. + currency: str + # The investment sum, in terms of the token currency specified (i.e., `numTokens` of '1000' with `tokenCurrency` of 'USDT' denotes investment of 1,000 USDT). + num_tokens: str + # `true` if this pending investment belongs to the vault manager, omitted otherwise. + is_manager: bool | None = None + + +@dataclass +class ApiCrossExchVaultViewInvestmentQueueResponse: + """ + Response payload for a cross-exchange vault manager to view the investment queue for their vault in FIFO order. + + This queue gets drained on every equity attestation event submitted by the cross-exchange vault manager. + + + """ + + # Outstanding cross-exchange vault investment requests in FIFO order. + investment_queue: list[CrossExchVaultPendingInvestment] + # The current valuation (in USD) of all pending investments. + total_investment_equity: str + + +@dataclass +class ApiCrossExchVaultTriggerRedemptionRequest: + # The unique identifier of the cross-exchange vault to redeem from. + vault_id: str + # Value provided must be equal to the `request_time` field of the first element returned from the View Investment Queue API. + request_time: str + + +@dataclass +class ApiCrossExchVaultAttestEquityRequest: + """ + Request payload for a cross-exchange vault maanger to publish an equity attestation event to GRVT systems. + + + """ + + # The unique identifier of the cross-exchange vault. + vault_id: str + # [Signed] The total equity implied by `num_lp_tokens * share_price`, in USD, expressed in up to 6 decimal places. + total_equity: str + # [Signed] The number of shares in circulation for the cross-exchange vault, expressed in up to 6 decimal places. + num_lp_tokens: str + # [Signed] The share price of the cross-exchange vault, in USD, expressed in up to 9 decimal places. + share_price: str + """ + [Signed] GRVT timestamp for the latest confirmed attestation event of this vault, in unix-nanoseconds. + Should be equal to the `last_update_timestamp` value returned from the Vault Detail API. + """ + last_update_timestamp: str + """ + The digital signature from the cross-exchange vault manager account. + This signature must be generated by the main account ID and is used to verify the authenticity of the request. + The signature must comply with AccountPermAdmin permission. + """ + signature: Signature + + +@dataclass +class ApiCrossExchVaultLockRequest: + """ + Request payload for a cross-exchange vault manager to engage the update lock for their vault. + + While locked, all operations that could change the vault's share count (e.g. invest / redeem / burn) become disabled. + + Should be done prior to an equity-attest update to ensure a fixed-reference share count. + + WARN: Stays locked until the corresponding Unlock API is called, OR a successful equity-attest update. + + Vault managers leaving their vaults locked for prolonged periods will receive GRVT warning alerts. + """ + + # The unique identifier of the cross-exchange vault to lock. + cross_exch_vault_id: str + + +@dataclass +class ApiCrossExchVaultUnlockRequest: + """ + Request payload for a cross-exchange vault manager to disengage the update lock for their vault. + + + """ + + # The unique identifier of the cross-exchange vault to unlock. + cross_exch_vault_id: str diff --git a/src/codegen/apispec.json b/src/codegen/apispec.json index 18e333f..bef8d7c 100644 --- a/src/codegen/apispec.json +++ b/src/codegen/apispec.json @@ -791,6 +791,11 @@ "message": "We are temporarily deactivating this API endpoint, please try again later", "status": 503 }, + { + "code": 1012, + "message": "Invalid signature chain ID", + "status": 400 + }, { "code": 2000, "message": "Signature is from an unauthorized signer", @@ -2420,17 +2425,16 @@ "status": 401 } ] - } - ], - "streams": [ + }, { - "namespace": "Order", - "name": "StreamOrderV1", - "channel": "v1.order", + "namespace": "CrossExchangeVault", + "name": "RPCCrossExchVaultViewInvestmentQueueV1", + "version": 1, + "route": "/cev_view_investment_queue", "auth_required": true, - "feed_selector": "WSOrderFeedSelectorV1", - "feed": "WSOrderFeedDataV1", - "on_subscribe_errors": [ + "request": "ApiCrossExchVaultViewInvestmentQueueRequest", + "response": "ApiCrossExchVaultViewInvestmentQueueResponse", + "on_request_errors": [ { "code": 1000, "message": "You need to authenticate prior to using this functionality", @@ -2447,45 +2451,36 @@ "status": 500 }, { - "code": 1008, - "message": "Your IP has not been whitelisted for access", - "status": 401 - }, - { - "code": 1101, - "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", - "status": 400 - }, - { - "code": 1102, - "message": "Wrong number of primary selectors", + "code": 1003, + "message": "Request could not be processed due to malformed syntax", "status": 400 }, { - "code": 1103, - "message": "Wrong number of secondary selectors", - "status": 400 + "code": 1006, + "message": "You have surpassed the allocated rate limit for your tier", + "status": 429 }, { - "code": 3000, - "message": "Instrument is invalid", - "status": 400 + "code": 1008, + "message": "Your IP has not been whitelisted for access", + "status": 401 }, { - "code": 3020, - "message": "Sub account ID must be an uint64 integer", + "code": 7000, + "message": "Vault ID provided is invalid and does not belong to any vault", "status": 400 } ] }, { - "namespace": "Order", - "name": "StreamOrderStateV1", - "channel": "v1.state", + "namespace": "CrossExchangeVault", + "name": "RPCCrossExchVaultTriggerRedemptionV1", + "version": 1, + "route": "/cev_trigger_redemption", "auth_required": true, - "feed_selector": "WSOrderStateFeedSelectorV1", - "feed": "WSOrderStateFeedDataV1", - "on_subscribe_errors": [ + "request": "ApiCrossExchVaultTriggerRedemptionRequest", + "response": "AckResponse", + "on_request_errors": [ { "code": 1000, "message": "You need to authenticate prior to using this functionality", @@ -2502,45 +2497,36 @@ "status": 500 }, { - "code": 1008, - "message": "Your IP has not been whitelisted for access", - "status": 401 - }, - { - "code": 1101, - "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", - "status": 400 - }, - { - "code": 1102, - "message": "Wrong number of primary selectors", + "code": 1003, + "message": "Request could not be processed due to malformed syntax", "status": 400 }, { - "code": 1103, - "message": "Wrong number of secondary selectors", - "status": 400 + "code": 1006, + "message": "You have surpassed the allocated rate limit for your tier", + "status": 429 }, { - "code": 3000, - "message": "Instrument is invalid", - "status": 400 + "code": 1004, + "message": "Data Not Found", + "status": 404 }, { - "code": 3020, - "message": "Sub account ID must be an uint64 integer", + "code": 7000, + "message": "Vault ID provided is invalid and does not belong to any vault", "status": 400 } ] }, { - "namespace": "Order", - "name": "StreamCancelStatusV1", - "channel": "v1.cancel", + "namespace": "CrossExchangeVault", + "name": "RPCCrossExchVaultAttestEquityV1", + "version": 1, + "route": "/cev_attest_equity", "auth_required": true, - "feed_selector": "WSCancelFeedSelectorV1", - "feed": "WSCancelFeedDataV1", - "on_subscribe_errors": [ + "request": "ApiCrossExchVaultAttestEquityRequest", + "response": "AckResponse", + "on_request_errors": [ { "code": 1000, "message": "You need to authenticate prior to using this functionality", @@ -2556,101 +2542,112 @@ "message": "Internal Server Error", "status": 500 }, + { + "code": 1003, + "message": "Request could not be processed due to malformed syntax", + "status": 400 + }, + { + "code": 1006, + "message": "You have surpassed the allocated rate limit for your tier", + "status": 429 + }, { "code": 1008, "message": "Your IP has not been whitelisted for access", "status": 401 }, { - "code": 1101, - "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", - "status": 400 + "code": 1009, + "message": "We are temporarily deactivating this API endpoint, please try again later", + "status": 503 }, { - "code": 1102, - "message": "Wrong number of primary selectors", - "status": 400 + "code": 2000, + "message": "Signature is from an unauthorized signer", + "status": 403 }, { - "code": 1103, - "message": "Wrong number of secondary selectors", - "status": 400 + "code": 2001, + "message": "Signature has expired", + "status": 403 }, { - "code": 3000, - "message": "Instrument is invalid", - "status": 400 + "code": 2002, + "message": "Signature does not match payload", + "status": 403 }, { - "code": 3020, - "message": "Sub account ID must be an uint64 integer", - "status": 400 - } - ] - }, - { - "namespace": "Execution", - "name": "StreamFillV1", - "channel": "v1.fill", - "auth_required": true, - "feed_selector": "WSFillFeedSelectorV1", - "feed": "WSFillFeedDataV1", - "on_subscribe_errors": [ + "code": 2004, + "message": "Signature is from an expired session key", + "status": 403 + }, { - "code": 1000, - "message": "You need to authenticate prior to using this functionality", - "status": 401 + "code": 2006, + "message": "Signature R/S must have exactly 64 characters long without 0x prefix", + "status": 403 }, { - "code": 1001, - "message": "You are not authorized to access this functionality", + "code": 2005, + "message": "Signature V must be 27/28", "status": 403 }, { - "code": 1002, - "message": "Internal Server Error", - "status": 500 + "code": 2007, + "message": "Signature S must be in the lower half of the curve", + "status": 403 }, { - "code": 1008, - "message": "Your IP has not been whitelisted for access", - "status": 401 + "code": 2008, + "message": "Signature exceeds maximum allowed duration.", + "status": 403 }, { - "code": 1101, - "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", + "code": 4000, + "message": "Insufficient balance to complete transfer", "status": 400 }, { - "code": 1102, - "message": "Wrong number of primary selectors", + "code": 7000, + "message": "Vault ID provided is invalid and does not belong to any vault", "status": 400 }, { - "code": 1103, - "message": "Wrong number of secondary selectors", + "code": 7003, + "message": "This vault has been delisted/closed.", "status": 400 }, { - "code": 3000, - "message": "Instrument is invalid", + "code": 7020, + "message": "Attested share price is inconsistent with signed total-equity value.", "status": 400 }, { - "code": 3020, - "message": "Sub account ID must be an uint64 integer", + "code": 7021, + "message": "Attested last-updated time is inconsistent with GRVT record.", + "status": 400 + }, + { + "code": 7022, + "message": "Attested token supply is inconsistent with GRVT record.", + "status": 400 + }, + { + "code": 7025, + "message": "This operation requires a locked cross-exchange vault", "status": 400 } ] }, { - "namespace": "Execution", - "name": "StreamPositionsV1", - "channel": "v1.position", + "namespace": "CrossExchangeVault", + "name": "RPCCrossExchVaultLockV1", + "version": 1, + "route": "/cev_lock", "auth_required": true, - "feed_selector": "WSPositionsFeedSelectorV1", - "feed": "WSPositionsFeedDataV1", - "on_subscribe_errors": [ + "request": "ApiCrossExchVaultLockRequest", + "response": "AckResponse", + "on_request_errors": [ { "code": 1000, "message": "You need to authenticate prior to using this functionality", @@ -2666,54 +2663,497 @@ "message": "Internal Server Error", "status": 500 }, + { + "code": 1003, + "message": "Request could not be processed due to malformed syntax", + "status": 400 + }, + { + "code": 1006, + "message": "You have surpassed the allocated rate limit for your tier", + "status": 429 + }, { "code": 1008, "message": "Your IP has not been whitelisted for access", "status": 401 }, { - "code": 1101, - "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", - "status": 400 + "code": 1009, + "message": "We are temporarily deactivating this API endpoint, please try again later", + "status": 503 }, { - "code": 1102, - "message": "Wrong number of primary selectors", - "status": 400 + "code": 2000, + "message": "Signature is from an unauthorized signer", + "status": 403 }, { - "code": 1103, - "message": "Wrong number of secondary selectors", - "status": 400 + "code": 2001, + "message": "Signature has expired", + "status": 403 }, { - "code": 3000, - "message": "Instrument is invalid", - "status": 400 + "code": 2002, + "message": "Signature does not match payload", + "status": 403 }, { - "code": 3020, - "message": "Sub account ID must be an uint64 integer", - "status": 400 - } - ] - }, - { - "namespace": "Transfer", - "name": "StreamDepositV1", - "channel": "v1.deposit", - "auth_required": true, - "feed_selector": "WSDepositFeedSelectorV1", - "feed": "WSDepositFeedDataV1", - "on_subscribe_errors": [ + "code": 2004, + "message": "Signature is from an expired session key", + "status": 403 + }, { - "code": 1001, - "message": "You are not authorized to access this functionality", + "code": 2006, + "message": "Signature R/S must have exactly 64 characters long without 0x prefix", "status": 403 }, { - "code": 1008, - "message": "Your IP has not been whitelisted for access", + "code": 2005, + "message": "Signature V must be 27/28", + "status": 403 + }, + { + "code": 2007, + "message": "Signature S must be in the lower half of the curve", + "status": 403 + }, + { + "code": 2008, + "message": "Signature exceeds maximum allowed duration.", + "status": 403 + }, + { + "code": 4000, + "message": "Insufficient balance to complete transfer", + "status": 400 + }, + { + "code": 7000, + "message": "Vault ID provided is invalid and does not belong to any vault", + "status": 400 + }, + { + "code": 7003, + "message": "This vault has been delisted/closed.", + "status": 400 + }, + { + "code": 7004, + "message": "This investment would cause the vault to exceed its valuation cap.", + "status": 400 + }, + { + "code": 7023, + "message": "This cross-exchange vault is already locked", + "status": 400 + } + ] + }, + { + "namespace": "CrossExchangeVault", + "name": "RPCCrossExchVaultUnlockV1", + "version": 1, + "route": "/cev_unlock", + "auth_required": true, + "request": "ApiCrossExchVaultUnlockRequest", + "response": "AckResponse", + "on_request_errors": [ + { + "code": 1000, + "message": "You need to authenticate prior to using this functionality", + "status": 401 + }, + { + "code": 1001, + "message": "You are not authorized to access this functionality", + "status": 403 + }, + { + "code": 1002, + "message": "Internal Server Error", + "status": 500 + }, + { + "code": 1003, + "message": "Request could not be processed due to malformed syntax", + "status": 400 + }, + { + "code": 1006, + "message": "You have surpassed the allocated rate limit for your tier", + "status": 429 + }, + { + "code": 1008, + "message": "Your IP has not been whitelisted for access", + "status": 401 + }, + { + "code": 1009, + "message": "We are temporarily deactivating this API endpoint, please try again later", + "status": 503 + }, + { + "code": 2000, + "message": "Signature is from an unauthorized signer", + "status": 403 + }, + { + "code": 2001, + "message": "Signature has expired", + "status": 403 + }, + { + "code": 2002, + "message": "Signature does not match payload", + "status": 403 + }, + { + "code": 2004, + "message": "Signature is from an expired session key", + "status": 403 + }, + { + "code": 2006, + "message": "Signature R/S must have exactly 64 characters long without 0x prefix", + "status": 403 + }, + { + "code": 2005, + "message": "Signature V must be 27/28", + "status": 403 + }, + { + "code": 2007, + "message": "Signature S must be in the lower half of the curve", + "status": 403 + }, + { + "code": 2008, + "message": "Signature exceeds maximum allowed duration.", + "status": 403 + }, + { + "code": 4000, + "message": "Insufficient balance to complete transfer", + "status": 400 + }, + { + "code": 7000, + "message": "Vault ID provided is invalid and does not belong to any vault", + "status": 400 + }, + { + "code": 7003, + "message": "This vault has been delisted/closed.", + "status": 400 + }, + { + "code": 7004, + "message": "This investment would cause the vault to exceed its valuation cap.", + "status": 400 + }, + { + "code": 7024, + "message": "This cross-exchange vault is already unlocked", + "status": 400 + } + ] + } + ], + "streams": [ + { + "namespace": "Order", + "name": "StreamOrderV1", + "channel": "v1.order", + "auth_required": true, + "feed_selector": "WSOrderFeedSelectorV1", + "feed": "WSOrderFeedDataV1", + "on_subscribe_errors": [ + { + "code": 1000, + "message": "You need to authenticate prior to using this functionality", + "status": 401 + }, + { + "code": 1001, + "message": "You are not authorized to access this functionality", + "status": 403 + }, + { + "code": 1002, + "message": "Internal Server Error", + "status": 500 + }, + { + "code": 1008, + "message": "Your IP has not been whitelisted for access", + "status": 401 + }, + { + "code": 1101, + "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", + "status": 400 + }, + { + "code": 1102, + "message": "Wrong number of primary selectors", + "status": 400 + }, + { + "code": 1103, + "message": "Wrong number of secondary selectors", + "status": 400 + }, + { + "code": 3000, + "message": "Instrument is invalid", + "status": 400 + }, + { + "code": 3020, + "message": "Sub account ID must be an uint64 integer", + "status": 400 + } + ] + }, + { + "namespace": "Order", + "name": "StreamOrderStateV1", + "channel": "v1.state", + "auth_required": true, + "feed_selector": "WSOrderStateFeedSelectorV1", + "feed": "WSOrderStateFeedDataV1", + "on_subscribe_errors": [ + { + "code": 1000, + "message": "You need to authenticate prior to using this functionality", + "status": 401 + }, + { + "code": 1001, + "message": "You are not authorized to access this functionality", + "status": 403 + }, + { + "code": 1002, + "message": "Internal Server Error", + "status": 500 + }, + { + "code": 1008, + "message": "Your IP has not been whitelisted for access", + "status": 401 + }, + { + "code": 1101, + "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", + "status": 400 + }, + { + "code": 1102, + "message": "Wrong number of primary selectors", + "status": 400 + }, + { + "code": 1103, + "message": "Wrong number of secondary selectors", + "status": 400 + }, + { + "code": 3000, + "message": "Instrument is invalid", + "status": 400 + }, + { + "code": 3020, + "message": "Sub account ID must be an uint64 integer", + "status": 400 + } + ] + }, + { + "namespace": "Order", + "name": "StreamCancelStatusV1", + "channel": "v1.cancel", + "auth_required": true, + "feed_selector": "WSCancelFeedSelectorV1", + "feed": "WSCancelFeedDataV1", + "on_subscribe_errors": [ + { + "code": 1000, + "message": "You need to authenticate prior to using this functionality", + "status": 401 + }, + { + "code": 1001, + "message": "You are not authorized to access this functionality", + "status": 403 + }, + { + "code": 1002, + "message": "Internal Server Error", + "status": 500 + }, + { + "code": 1008, + "message": "Your IP has not been whitelisted for access", + "status": 401 + }, + { + "code": 1101, + "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", + "status": 400 + }, + { + "code": 1102, + "message": "Wrong number of primary selectors", + "status": 400 + }, + { + "code": 1103, + "message": "Wrong number of secondary selectors", + "status": 400 + }, + { + "code": 3000, + "message": "Instrument is invalid", + "status": 400 + }, + { + "code": 3020, + "message": "Sub account ID must be an uint64 integer", + "status": 400 + } + ] + }, + { + "namespace": "Execution", + "name": "StreamFillV1", + "channel": "v1.fill", + "auth_required": true, + "feed_selector": "WSFillFeedSelectorV1", + "feed": "WSFillFeedDataV1", + "on_subscribe_errors": [ + { + "code": 1000, + "message": "You need to authenticate prior to using this functionality", + "status": 401 + }, + { + "code": 1001, + "message": "You are not authorized to access this functionality", + "status": 403 + }, + { + "code": 1002, + "message": "Internal Server Error", + "status": 500 + }, + { + "code": 1008, + "message": "Your IP has not been whitelisted for access", + "status": 401 + }, + { + "code": 1101, + "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", + "status": 400 + }, + { + "code": 1102, + "message": "Wrong number of primary selectors", + "status": 400 + }, + { + "code": 1103, + "message": "Wrong number of secondary selectors", + "status": 400 + }, + { + "code": 3000, + "message": "Instrument is invalid", + "status": 400 + }, + { + "code": 3020, + "message": "Sub account ID must be an uint64 integer", + "status": 400 + } + ] + }, + { + "namespace": "Execution", + "name": "StreamPositionsV1", + "channel": "v1.position", + "auth_required": true, + "feed_selector": "WSPositionsFeedSelectorV1", + "feed": "WSPositionsFeedDataV1", + "on_subscribe_errors": [ + { + "code": 1000, + "message": "You need to authenticate prior to using this functionality", + "status": 401 + }, + { + "code": 1001, + "message": "You are not authorized to access this functionality", + "status": 403 + }, + { + "code": 1002, + "message": "Internal Server Error", + "status": 500 + }, + { + "code": 1008, + "message": "Your IP has not been whitelisted for access", + "status": 401 + }, + { + "code": 1101, + "message": "Feed Format must be in the format of \u003cprimary\u003e@\u003csecondary\u003e", + "status": 400 + }, + { + "code": 1102, + "message": "Wrong number of primary selectors", + "status": 400 + }, + { + "code": 1103, + "message": "Wrong number of secondary selectors", + "status": 400 + }, + { + "code": 3000, + "message": "Instrument is invalid", + "status": 400 + }, + { + "code": 3020, + "message": "Sub account ID must be an uint64 integer", + "status": 400 + } + ] + }, + { + "namespace": "Transfer", + "name": "StreamDepositV1", + "channel": "v1.deposit", + "auth_required": true, + "feed_selector": "WSDepositFeedSelectorV1", + "feed": "WSDepositFeedDataV1", + "on_subscribe_errors": [ + { + "code": 1001, + "message": "You are not authorized to access this functionality", + "status": 403 + }, + { + "code": 1008, + "message": "Your IP has not been whitelisted for access", "status": 401 }, { @@ -3082,6 +3522,32 @@ "comment": [ "The current leverage value for this position" ] + }, + { + "name": "cumulative_fee", + "lite_name": "cf", + "semantic_type": "string", + "json_type": "string", + "index": 15, + "array_depth": 0, + "optional": false, + "example": "'100000.20'", + "comment": [ + "The cumulative fee paid on the position, expressed in quote asset decimal units" + ] + }, + { + "name": "cumulative_realized_funding_payment", + "lite_name": "cr", + "semantic_type": "string", + "json_type": "string", + "index": 16, + "array_depth": 0, + "optional": false, + "example": "'100000.20'", + "comment": [ + "The cumulative realized funding payment of the position, expressed in quote asset decimal units" + ] } ], "comment": [] @@ -4286,6 +4752,19 @@ "comment": [ "The list of vault investments held by this main account" ] + }, + { + "name": "total_sub_account_balance", + "lite_name": "ts", + "semantic_type": "string", + "json_type": "string", + "index": 4, + "array_depth": 0, + "optional": false, + "example": "'3945034.23'", + "comment": [ + "Total balance of the sub accounts, denominated in USD" + ] } ], "comment": [] @@ -4716,6 +5195,19 @@ "When the same nonce is used, the same payload will generate the same signature.", "Our system will consider the payload a duplicate, and ignore it." ] + }, + { + "name": "chain_id", + "lite_name": "ci", + "semantic_type": "uint64", + "json_type": "string", + "index": 6, + "array_depth": 0, + "optional": false, + "example": "'325'", + "comment": [ + "Chain ID used in EIP-712 domain. Zero value fallbacks to GRVT Chain ID." + ] } ], "comment": [] @@ -6088,7 +6580,7 @@ "optional": true, "example": "0.0003", "comment": [ - "The current funding rate of the instrument, expressed in percentage points" + "DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`)." ] }, { @@ -6101,7 +6593,7 @@ "optional": true, "example": "0.0003", "comment": [ - "The average funding rate of the instrument (over last 8h), expressed in percentage points" + "DEPRECATED: To be removed in a future release. Please refer to the field `funding_rate` instead, for the funding rate being applied over `funding_interval_hours` (interval ending at `next_funding_time`)." ] }, { @@ -6246,6 +6738,32 @@ "comment": [ "The ratio of accounts that are net long vs net short on this instrument" ] + }, + { + "name": "funding_rate", + "lite_name": "fr2", + "semantic_type": "string", + "json_type": "string", + "index": 24, + "array_depth": 0, + "optional": true, + "example": "0.0003", + "comment": [ + "The current indicative funding rate for the active interval, expressed in centibeeps" + ] + }, + { + "name": "next_funding_time", + "lite_name": "nf", + "semantic_type": "timestamp", + "json_type": "string", + "index": 26, + "array_depth": 0, + "optional": true, + "example": "'1697788800000000000'", + "comment": [ + "Timestamp in nanoseconds when the current funding interval ends" + ] } ], "comment": [ @@ -7303,7 +7821,7 @@ ] }, { - "name": "Instrument", + "name": "InstrumentDisplay", "is_root": false, "fields": [ { @@ -7467,12 +7985,50 @@ "lite_name": "mp", "semantic_type": "string", "json_type": "string", - "index": 15, + "index": 15, + "array_depth": 0, + "optional": false, + "example": "'100.0'", + "comment": [ + "The maximum position size, expressed in base asset decimal units" + ] + }, + { + "name": "funding_interval_hours", + "lite_name": "fi", + "semantic_type": "uint8", + "json_type": "integer", + "index": 17, + "array_depth": 0, + "optional": true, + "comment": [ + "Defines the funding interval to be applied." + ] + }, + { + "name": "adjusted_funding_rate_cap", + "lite_name": "af", + "semantic_type": "string", + "json_type": "string", + "index": 18, + "array_depth": 0, + "optional": true, + "example": "2.5", + "comment": [ + "Funding rate cap over the defined `intervalHours`." + ] + }, + { + "name": "adjusted_funding_rate_floor", + "lite_name": "af1", + "semantic_type": "string", + "json_type": "string", + "index": 19, "array_depth": 0, - "optional": false, - "example": "'100.0'", + "optional": true, + "example": "-2.5", "comment": [ - "The maximum position size, expressed in base asset decimal units" + "Funding rate floor over the defined `intervalHours`." ] } ], @@ -7485,8 +8041,8 @@ { "name": "result", "lite_name": "r", - "semantic_type": "Instrument", - "json_type": "Instrument", + "semantic_type": "InstrumentDisplay", + "json_type": "InstrumentDisplay", "index": 0, "array_depth": 0, "optional": false, @@ -7583,8 +8139,8 @@ { "name": "result", "lite_name": "r", - "semantic_type": "Instrument", - "json_type": "Instrument", + "semantic_type": "InstrumentDisplay", + "json_type": "InstrumentDisplay", "index": 0, "array_depth": 1, "optional": false, @@ -8035,8 +8591,8 @@ { "name": "result", "lite_name": "r", - "semantic_type": "Instrument", - "json_type": "Instrument", + "semantic_type": "InstrumentDisplay", + "json_type": "InstrumentDisplay", "index": 0, "array_depth": 1, "optional": false, @@ -8076,6 +8632,34 @@ "comment": [ "Whether to only return investments made by the manager" ] + }, + { + "name": "start_time", + "lite_name": "st", + "semantic_type": "timestamp", + "json_type": "string", + "index": 2, + "array_depth": 0, + "optional": true, + "default": "0", + "example": "'1697788800000000000'", + "comment": [ + "Optional. Start time in unix nanoseconds" + ] + }, + { + "name": "end_time", + "lite_name": "et", + "semantic_type": "timestamp", + "json_type": "string", + "index": 3, + "array_depth": 0, + "optional": true, + "default": "now()", + "example": "'1697788800000000000'", + "comment": [ + "Optional. End time in unix nanoseconds" + ] } ], "comment": [ @@ -10826,19 +11410,258 @@ "semantic_type": "ApiTransferAck", "json_type": "ApiTransferAck", "index": 0, - "array_depth": 0, + "array_depth": 0, + "optional": false, + "comment": [ + "The Transfer response object" + ] + } + ], + "comment": [ + "Used to acknowledge a transfer request outcome" + ] + }, + { + "name": "ApiDepositHistoryRequest", + "is_root": true, + "fields": [ + { + "name": "currency", + "lite_name": "c", + "semantic_type": "string", + "json_type": "string", + "index": 0, + "array_depth": 1, + "optional": false, + "example": "['USDT', 'USDC']", + "comment": [ + "The token currency to query for, if nil or empty, return all deposits. Otherwise, only entries matching the filter will be returned" + ] + }, + { + "name": "start_time", + "lite_name": "st", + "semantic_type": "timestamp", + "json_type": "string", + "index": 1, + "array_depth": 0, + "optional": true, + "default": "0", + "example": "'1697788800000000000'", + "comment": [ + "The start time to query for in unix nanoseconds" + ] + }, + { + "name": "end_time", + "lite_name": "et", + "semantic_type": "timestamp", + "json_type": "string", + "index": 2, + "array_depth": 0, + "optional": true, + "default": "now()", + "example": "'1697788800000000000'", + "comment": [ + "The end time to query for in unix nanoseconds" + ] + }, + { + "name": "limit", + "lite_name": "l", + "semantic_type": "uint32", + "json_type": "integer", + "index": 3, + "array_depth": 0, + "optional": true, + "default": "500", + "example": "500", + "comment": [ + "The limit to query for. Defaults to 500; Max 1000" + ] + }, + { + "name": "cursor", + "lite_name": "c1", + "semantic_type": "string", + "json_type": "string", + "index": 4, + "array_depth": 0, + "optional": true, + "default": "''", + "example": "''", + "comment": [ + "The cursor to indicate when to start the next query from" + ] + }, + { + "name": "main_account_id", + "lite_name": "ma", + "semantic_type": "address", + "json_type": "string", + "index": 5, + "array_depth": 0, + "optional": true, + "default": "", + "example": "", + "comment": [ + "Main account ID being queried. By default, applies the requestor's main account ID." + ] + } + ], + "comment": [ + "The request to get the historical deposits of an account", + "The history is returned in reverse chronological order", + "", + "Pagination works as follows:\u003cul\u003e\u003cli\u003eWe perform a reverse chronological lookup, starting from `end_time`. If `end_time` is not set, we start from the most recent data.\u003c/li\u003e\u003cli\u003eThe lookup is limited to `limit` records. If more data is requested, the response will contain a `next` cursor for you to query the next page.\u003c/li\u003e\u003cli\u003eIf a `cursor` is provided, it will be used to fetch results from that point onwards.\u003c/li\u003e\u003cli\u003ePagination will continue until the `start_time` is reached. If `start_time` is not set, pagination will continue as far back as our data retention policy allows.\u003c/li\u003e\u003c/ul\u003e" + ] + }, + { + "name": "DepositHistory", + "is_root": false, + "fields": [ + { + "name": "l_1_hash", + "lite_name": "l1", + "semantic_type": "uint256", + "json_type": "string", + "index": 0, + "array_depth": 0, + "optional": false, + "example": "'0x10000101000203040506'", + "comment": [ + "The L1 txHash of the deposit" + ] + }, + { + "name": "l_2_hash", + "lite_name": "l2", + "semantic_type": "uint256", + "json_type": "string", + "index": 1, + "array_depth": 0, + "optional": false, + "example": "'0x10000101000203040506'", + "comment": [ + "The L2 txHash of the deposit" + ] + }, + { + "name": "to_account_id", + "lite_name": "ta", + "semantic_type": "address", + "json_type": "string", + "index": 2, + "array_depth": 0, + "optional": false, + "example": "'0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0'", + "comment": [ + "The account to deposit into" + ] + }, + { + "name": "currency", + "lite_name": "c", + "semantic_type": "string", + "json_type": "string", + "index": 3, + "array_depth": 0, + "optional": false, + "example": "'USDT'", + "comment": [ + "The token currency to deposit" + ] + }, + { + "name": "num_tokens", + "lite_name": "nt", + "semantic_type": "string", + "json_type": "string", + "index": 4, + "array_depth": 0, + "optional": false, + "example": "'1500.0'", + "comment": [ + "The number of tokens to deposit" + ] + }, + { + "name": "initiated_time", + "lite_name": "it", + "semantic_type": "timestamp", + "json_type": "string", + "index": 5, + "array_depth": 0, + "optional": false, + "example": "'1697788800000000000'", + "comment": [ + "The timestamp when the deposit was initiated on L1 in unix nanoseconds" + ] + }, + { + "name": "confirmed_time", + "lite_name": "ct", + "semantic_type": "timestamp", + "json_type": "string", + "index": 6, + "array_depth": 0, + "optional": false, + "example": "'1697788800000000000'", + "comment": [ + "The timestamp when the deposit was confirmed on L2 in unix nanoseconds" + ] + }, + { + "name": "from_address", + "lite_name": "fa", + "semantic_type": "address", + "json_type": "string", + "index": 7, + "array_depth": 0, + "optional": false, + "example": "'0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0'", + "comment": [ + "The address of the sender" + ] + } + ], + "comment": [] + }, + { + "name": "ApiDepositHistoryResponse", + "is_root": true, + "fields": [ + { + "name": "result", + "lite_name": "r", + "semantic_type": "DepositHistory", + "json_type": "DepositHistory", + "index": 0, + "array_depth": 1, "optional": false, "comment": [ - "The Transfer response object" + "The deposit history matching the request account" + ] + }, + { + "name": "next", + "lite_name": "n", + "semantic_type": "string", + "json_type": "string", + "index": 1, + "array_depth": 0, + "optional": true, + "default": "''", + "example": "'Qw0918='", + "comment": [ + "The cursor to indicate when to start the next query from" ] } ], - "comment": [ - "Used to acknowledge a transfer request outcome" - ] + "comment": [] }, { - "name": "ApiDepositHistoryRequest", + "name": "ApiTransferHistoryRequest", "is_root": true, "fields": [ { @@ -10851,7 +11674,7 @@ "optional": false, "example": "['USDT', 'USDC']", "comment": [ - "The token currency to query for, if nil or empty, return all deposits. Otherwise, only entries matching the filter will be returned" + "The token currency to query for, if nil or empty, return all transfers. Otherwise, only entries matching the filter will be returned" ] }, { @@ -10910,12 +11733,26 @@ "The cursor to indicate when to start the next query from" ] }, + { + "name": "tx_id", + "lite_name": "ti", + "semantic_type": "uint64", + "json_type": "string", + "index": 5, + "array_depth": 0, + "optional": true, + "default": "0", + "example": "'1028403'", + "comment": [ + "The transaction ID to query for" + ] + }, { "name": "main_account_id", "lite_name": "ma", "semantic_type": "address", "json_type": "string", - "index": 5, + "index": 6, "array_depth": 0, "optional": true, "default": "", @@ -10923,282 +11760,294 @@ "comment": [ "Main account ID being queried. By default, applies the requestor's main account ID." ] + }, + { + "name": "transfer_types", + "lite_name": "tt", + "semantic_type": "TransferType", + "json_type": "TransferType", + "index": 7, + "array_depth": 1, + "optional": true, + "default": "[]", + "comment": [ + "The transfer type to filters for. If the list is empty, return all transfer types." + ] } ], "comment": [ - "The request to get the historical deposits of an account", + "The request to get the historical transfers of an account", "The history is returned in reverse chronological order", "", "Pagination works as follows:\u003cul\u003e\u003cli\u003eWe perform a reverse chronological lookup, starting from `end_time`. If `end_time` is not set, we start from the most recent data.\u003c/li\u003e\u003cli\u003eThe lookup is limited to `limit` records. If more data is requested, the response will contain a `next` cursor for you to query the next page.\u003c/li\u003e\u003cli\u003eIf a `cursor` is provided, it will be used to fetch results from that point onwards.\u003c/li\u003e\u003cli\u003ePagination will continue until the `start_time` is reached. If `start_time` is not set, pagination will continue as far back as our data retention policy allows.\u003c/li\u003e\u003c/ul\u003e" ] }, { - "name": "DepositHistory", - "is_root": false, + "name": "ApiTransferHistoryResponse", + "is_root": true, "fields": [ { - "name": "l_1_hash", - "lite_name": "l1", - "semantic_type": "uint256", - "json_type": "string", + "name": "result", + "lite_name": "r", + "semantic_type": "TransferHistory", + "json_type": "TransferHistory", "index": 0, - "array_depth": 0, + "array_depth": 1, "optional": false, - "example": "'0x10000101000203040506'", "comment": [ - "The L1 txHash of the deposit" + "The transfer history matching the request account" ] }, { - "name": "l_2_hash", - "lite_name": "l2", - "semantic_type": "uint256", + "name": "next", + "lite_name": "n", + "semantic_type": "string", "json_type": "string", "index": 1, "array_depth": 0, - "optional": false, - "example": "'0x10000101000203040506'", - "comment": [ - "The L2 txHash of the deposit" - ] - }, - { - "name": "to_account_id", - "lite_name": "ta", - "semantic_type": "address", - "json_type": "string", - "index": 2, - "array_depth": 0, - "optional": false, - "example": "'0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0'", + "optional": true, + "default": "''", + "example": "'Qw0918='", "comment": [ - "The account to deposit into" + "The cursor to indicate when to start the next query from" ] - }, + } + ], + "comment": [] + }, + { + "name": "ApiWithdrawalHistoryRequest", + "is_root": true, + "fields": [ { "name": "currency", "lite_name": "c", "semantic_type": "string", "json_type": "string", - "index": 3, - "array_depth": 0, + "index": 0, + "array_depth": 1, "optional": false, - "example": "'USDT'", + "example": "['USDT', 'USDC']", "comment": [ - "The token currency to deposit" + "The token currency to query for, if nil or empty, return all withdrawals. Otherwise, only entries matching the filter will be returned" ] }, { - "name": "num_tokens", - "lite_name": "nt", - "semantic_type": "string", + "name": "start_time", + "lite_name": "st", + "semantic_type": "timestamp", "json_type": "string", - "index": 4, + "index": 1, "array_depth": 0, - "optional": false, - "example": "'1500.0'", + "optional": true, + "default": "0", + "example": "'1697788800000000000'", "comment": [ - "The number of tokens to deposit" + "The start time to query for in unix nanoseconds" ] }, { - "name": "initiated_time", - "lite_name": "it", + "name": "end_time", + "lite_name": "et", "semantic_type": "timestamp", "json_type": "string", - "index": 5, + "index": 2, "array_depth": 0, - "optional": false, + "optional": true, + "default": "now()", "example": "'1697788800000000000'", "comment": [ - "The timestamp when the deposit was initiated on L1 in unix nanoseconds" + "The end time to query for in unix nanoseconds" ] }, { - "name": "confirmed_time", - "lite_name": "ct", - "semantic_type": "timestamp", + "name": "limit", + "lite_name": "l", + "semantic_type": "uint32", + "json_type": "integer", + "index": 3, + "array_depth": 0, + "optional": true, + "default": "500", + "example": "500", + "comment": [ + "The limit to query for. Defaults to 500; Max 1000" + ] + }, + { + "name": "cursor", + "lite_name": "c1", + "semantic_type": "string", "json_type": "string", - "index": 6, + "index": 4, "array_depth": 0, - "optional": false, - "example": "'1697788800000000000'", + "optional": true, + "default": "''", + "example": "''", "comment": [ - "The timestamp when the deposit was confirmed on L2 in unix nanoseconds" + "The cursor to indicate when to start the next query from" ] }, { - "name": "from_address", - "lite_name": "fa", + "name": "main_account_id", + "lite_name": "ma", "semantic_type": "address", "json_type": "string", - "index": 7, + "index": 5, "array_depth": 0, - "optional": false, - "example": "'0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0'", + "optional": true, + "default": "", + "example": "", "comment": [ - "The address of the sender" + "Main account ID being queried. By default, applies the requestor's main account ID." ] } ], - "comment": [] + "comment": [ + "The request to get the historical withdrawals of an account", + "The history is returned in reverse chronological order", + "", + "Pagination works as follows:\u003cul\u003e\u003cli\u003eWe perform a reverse chronological lookup, starting from `end_time`. If `end_time` is not set, we start from the most recent data.\u003c/li\u003e\u003cli\u003eThe lookup is limited to `limit` records. If more data is requested, the response will contain a `next` cursor for you to query the next page.\u003c/li\u003e\u003cli\u003eIf a `cursor` is provided, it will be used to fetch results from that point onwards.\u003c/li\u003e\u003cli\u003ePagination will continue until the `start_time` is reached. If `start_time` is not set, pagination will continue as far back as our data retention policy allows.\u003c/li\u003e\u003c/ul\u003e" + ] }, { - "name": "ApiDepositHistoryResponse", - "is_root": true, + "name": "WithdrawalHistory", + "is_root": false, "fields": [ { - "name": "result", - "lite_name": "r", - "semantic_type": "DepositHistory", - "json_type": "DepositHistory", + "name": "tx_id", + "lite_name": "ti", + "semantic_type": "uint64", + "json_type": "string", "index": 0, - "array_depth": 1, + "array_depth": 0, "optional": false, + "example": "'1028403'", "comment": [ - "The deposit history matching the request account" + "The transaction ID of the withdrawal" ] }, { - "name": "next", - "lite_name": "n", - "semantic_type": "string", + "name": "from_account_id", + "lite_name": "fa", + "semantic_type": "address", "json_type": "string", "index": 1, "array_depth": 0, - "optional": true, - "default": "''", - "example": "'Qw0918='", + "optional": false, + "example": "'0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0'", "comment": [ - "The cursor to indicate when to start the next query from" + "The subaccount to withdraw from" ] - } - ], - "comment": [] - }, - { - "name": "ApiTransferHistoryRequest", - "is_root": true, - "fields": [ + }, { - "name": "currency", - "lite_name": "c", - "semantic_type": "string", + "name": "to_eth_address", + "lite_name": "te", + "semantic_type": "address", "json_type": "string", - "index": 0, - "array_depth": 1, + "index": 2, + "array_depth": 0, "optional": false, - "example": "['USDT', 'USDC']", + "example": "'0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0'", "comment": [ - "The token currency to query for, if nil or empty, return all transfers. Otherwise, only entries matching the filter will be returned" + "The ethereum address to withdraw to" ] }, { - "name": "start_time", - "lite_name": "st", - "semantic_type": "timestamp", + "name": "currency", + "lite_name": "c", + "semantic_type": "string", "json_type": "string", - "index": 1, - "array_depth": 0, - "optional": true, - "default": "0", - "example": "'1697788800000000000'", + "index": 3, + "array_depth": 0, + "optional": false, + "example": "'USDT'", "comment": [ - "The start time to query for in unix nanoseconds" + "The token currency to withdraw" ] }, { - "name": "end_time", - "lite_name": "et", - "semantic_type": "timestamp", + "name": "num_tokens", + "lite_name": "nt", + "semantic_type": "string", "json_type": "string", - "index": 2, + "index": 4, "array_depth": 0, - "optional": true, - "default": "now()", - "example": "'1697788800000000000'", + "optional": false, + "example": "'1500.0'", "comment": [ - "The end time to query for in unix nanoseconds" + "The number of tokens to withdraw" ] }, { - "name": "limit", - "lite_name": "l", - "semantic_type": "uint32", - "json_type": "integer", - "index": 3, + "name": "signature", + "lite_name": "s", + "semantic_type": "Signature", + "json_type": "Signature", + "index": 5, "array_depth": 0, - "optional": true, - "default": "500", - "example": "500", + "optional": false, "comment": [ - "The limit to query for. Defaults to 500; Max 1000" + "The signature of the withdrawal" ] }, { - "name": "cursor", - "lite_name": "c1", - "semantic_type": "string", + "name": "event_time", + "lite_name": "et", + "semantic_type": "timestamp", "json_type": "string", - "index": 4, + "index": 6, "array_depth": 0, - "optional": true, - "default": "''", - "example": "''", + "optional": false, + "example": "'1697788800000000000'", "comment": [ - "The cursor to indicate when to start the next query from" + "The timestamp of the withdrawal in unix nanoseconds" ] }, { - "name": "tx_id", - "lite_name": "ti", - "semantic_type": "uint64", + "name": "l_1_hash", + "lite_name": "l1", + "semantic_type": "string", "json_type": "string", - "index": 5, + "index": 7, "array_depth": 0, "optional": true, - "default": "0", - "example": "'1028403'", + "default": "''", + "example": "'0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'", "comment": [ - "The transaction ID to query for" + "The finalized withdrawal transaction hash on L1" ] }, { - "name": "main_account_id", - "lite_name": "ma", - "semantic_type": "address", + "name": "l_2_hash", + "lite_name": "l2", + "semantic_type": "string", "json_type": "string", - "index": 6, + "index": 8, "array_depth": 0, - "optional": true, - "default": "", - "example": "", + "optional": false, + "example": "'0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890'", "comment": [ - "Main account ID being queried. By default, applies the requestor's main account ID." + "The transaction hash on L2" ] } ], - "comment": [ - "The request to get the historical transfers of an account", - "The history is returned in reverse chronological order", - "", - "Pagination works as follows:\u003cul\u003e\u003cli\u003eWe perform a reverse chronological lookup, starting from `end_time`. If `end_time` is not set, we start from the most recent data.\u003c/li\u003e\u003cli\u003eThe lookup is limited to `limit` records. If more data is requested, the response will contain a `next` cursor for you to query the next page.\u003c/li\u003e\u003cli\u003eIf a `cursor` is provided, it will be used to fetch results from that point onwards.\u003c/li\u003e\u003cli\u003ePagination will continue until the `start_time` is reached. If `start_time` is not set, pagination will continue as far back as our data retention policy allows.\u003c/li\u003e\u003c/ul\u003e" - ] + "comment": [] }, { - "name": "ApiTransferHistoryResponse", + "name": "ApiWithdrawalHistoryResponse", "is_root": true, "fields": [ { "name": "result", "lite_name": "r", - "semantic_type": "TransferHistory", - "json_type": "TransferHistory", + "semantic_type": "WithdrawalHistory", + "json_type": "WithdrawalHistory", "index": 0, "array_depth": 1, "optional": false, "comment": [ - "The transfer history matching the request account" + "The withdrawals history matching the request account" ] }, { @@ -11219,296 +12068,401 @@ "comment": [] }, { - "name": "ApiWithdrawalHistoryRequest", + "name": "ApiVaultInvestRequest", "is_root": true, "fields": [ + { + "name": "vault_id", + "lite_name": "vi", + "semantic_type": "uint64", + "json_type": "string", + "index": 1, + "array_depth": 0, + "optional": false, + "example": "'3477045127917224'", + "comment": [ + "The unique identifier of the vault to invest in." + ] + }, { "name": "currency", "lite_name": "c", "semantic_type": "string", "json_type": "string", - "index": 0, - "array_depth": 1, + "index": 2, + "array_depth": 0, "optional": false, - "example": "['USDT', 'USDC']", + "example": "'USDT'", "comment": [ - "The token currency to query for, if nil or empty, return all withdrawals. Otherwise, only entries matching the filter will be returned" + "The currency used for the investment. This should be the vault's quote currency." ] }, { - "name": "start_time", - "lite_name": "st", - "semantic_type": "timestamp", + "name": "num_tokens", + "lite_name": "nt", + "semantic_type": "string", + "json_type": "string", + "index": 3, + "array_depth": 0, + "optional": false, + "example": "1000000", + "comment": [ + "The investment sum, in terms of the token currency specified (i.e., `numTokens` of '1000' with `tokenCurrency` of 'USDT' denotes investment of 1,000 USDT)." + ] + }, + { + "name": "signature", + "lite_name": "s", + "semantic_type": "Signature", + "json_type": "Signature", + "index": 4, + "array_depth": 0, + "optional": false, + "comment": [ + "The digital signature from the investing account.", + "This signature must be generated by the main account ID and is used to verify the authenticity of the request.", + "The signature must comply with AccountPermExternalTransfer permission." + ] + } + ], + "comment": [ + "Request payload for investing in a vault.", + "", + "This API allows a client to invest a specified amount of tokens in a particular vault." + ] + }, + { + "name": "ApiVaultRedeemRequest", + "is_root": true, + "fields": [ + { + "name": "vault_id", + "lite_name": "vi", + "semantic_type": "uint64", "json_type": "string", "index": 1, "array_depth": 0, - "optional": true, - "default": "0", - "example": "'1697788800000000000'", + "optional": false, + "example": "'3477045127917224'", "comment": [ - "The start time to query for in unix nanoseconds" + "The unique identifier of the vault to redeem from." ] }, { - "name": "end_time", - "lite_name": "et", - "semantic_type": "timestamp", + "name": "currency", + "lite_name": "c", + "semantic_type": "string", "json_type": "string", "index": 2, "array_depth": 0, - "optional": true, - "default": "now()", - "example": "'1697788800000000000'", + "optional": false, + "example": "'USDT'", "comment": [ - "The end time to query for in unix nanoseconds" + "The currency used for the redemption. This should be the vault's quote currency." ] }, { - "name": "limit", - "lite_name": "l", - "semantic_type": "uint32", - "json_type": "integer", + "name": "num_tokens", + "lite_name": "nt", + "semantic_type": "string", + "json_type": "string", "index": 3, "array_depth": 0, - "optional": true, - "default": "500", - "example": "500", + "optional": false, + "example": "1000000", "comment": [ - "The limit to query for. Defaults to 500; Max 1000" + "The number of shares to redeem." ] }, { - "name": "cursor", - "lite_name": "c1", - "semantic_type": "string", - "json_type": "string", + "name": "signature", + "lite_name": "s", + "semantic_type": "Signature", + "json_type": "Signature", "index": 4, "array_depth": 0, - "optional": true, - "default": "''", - "example": "''", + "optional": false, "comment": [ - "The cursor to indicate when to start the next query from" + "The digital signature from the investing account.", + "This signature must be generated by the main account ID and is used to verify the authenticity of the request.", + "The signature must comply with AccountPermExternalTransfer permission." ] - }, + } + ], + "comment": [ + "Request payload for redeeming from a vault.", + "", + "This API allows a client to redeem a specified amount of tokens from a particular vault." + ] + }, + { + "name": "ApiVaultRedeemCancelRequest", + "is_root": true, + "fields": [ { - "name": "main_account_id", - "lite_name": "ma", - "semantic_type": "address", + "name": "vault_id", + "lite_name": "vi", + "semantic_type": "uint64", "json_type": "string", - "index": 5, + "index": 1, "array_depth": 0, - "optional": true, - "default": "", - "example": "", + "optional": false, + "example": "'3477045127917224'", + "comment": [ + "The unique identifier of the vault to cancel the redemption from." + ] + } + ], + "comment": [ + "Request payload for canceling a vault redemption.", + "", + "This API allows a client to cancel a previously initiated redemption from a vault." + ] + }, + { + "name": "ApiVaultViewRedemptionQueueRequest", + "is_root": true, + "fields": [ + { + "name": "vault_id", + "lite_name": "vi", + "semantic_type": "uint64", + "json_type": "string", + "index": 1, + "array_depth": 0, + "optional": false, + "example": "'3477045127917224'", "comment": [ - "Main account ID being queried. By default, applies the requestor's main account ID." + "The unique identifier of the vault to fetch the redemption queue for." ] } ], "comment": [ - "The request to get the historical withdrawals of an account", - "The history is returned in reverse chronological order", + "Request payload for a vault manager to view the redemption queue for their vault.", "", - "Pagination works as follows:\u003cul\u003e\u003cli\u003eWe perform a reverse chronological lookup, starting from `end_time`. If `end_time` is not set, we start from the most recent data.\u003c/li\u003e\u003cli\u003eThe lookup is limited to `limit` records. If more data is requested, the response will contain a `next` cursor for you to query the next page.\u003c/li\u003e\u003cli\u003eIf a `cursor` is provided, it will be used to fetch results from that point onwards.\u003c/li\u003e\u003cli\u003ePagination will continue until the `start_time` is reached. If `start_time` is not set, pagination will continue as far back as our data retention policy allows.\u003c/li\u003e\u003c/ul\u003e" + "Fetches the redemption queue for a vault, ordered by descending priority.", + "", + "\u003cb\u003eUrgent\u003c/b\u003e redemption requests, defined as having been pending \u003e90% of the manager-defined maximum redemption period, have top priority (following insertion order).", + "", + "\u003cb\u003eNon-urgent\u003c/b\u003e redemption requests are otherwise prioritized by insertion order, \u003cb\u003eunless\u003c/b\u003e they are \u003e5x the size of the smallest redemption request.", + "", + "E.g., If FIFO ordering (all non-urgent) is 1k -\u003e 50k -\u003e 100k -\u003e 20k -\u003e 10k -\u003e 25k, then priority ordering is 1k -\u003e 10k -\u003e 50k -\u003e 20k -\u003e 100k -\u003e 25k.", + "", + "Only displays redemption requests that are eligible for automated redemption, i.e., have been pending for the manager-defined minimum redemption period." ] }, { - "name": "WithdrawalHistory", + "name": "VaultRedemptionRequest", "is_root": false, "fields": [ { - "name": "tx_id", - "lite_name": "ti", - "semantic_type": "uint64", + "name": "request_time", + "lite_name": "rt", + "semantic_type": "timestamp", "json_type": "string", "index": 0, "array_depth": 0, "optional": false, - "example": "'1028403'", + "example": "'1697788800000000000'", "comment": [ - "The transaction ID of the withdrawal" + "[Filled by GRVT Backend] Time at which the redemption request was received by GRVT in unix nanoseconds" ] }, { - "name": "from_account_id", - "lite_name": "fa", - "semantic_type": "address", + "name": "num_lp_tokens", + "lite_name": "nl", + "semantic_type": "string", "json_type": "string", "index": 1, "array_depth": 0, "optional": false, - "example": "'0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0'", + "example": "'1000000'", "comment": [ - "The subaccount to withdraw from" + "The number of shares to redeem" ] }, { - "name": "to_eth_address", - "lite_name": "te", - "semantic_type": "address", + "name": "max_redemption_period_timestamp", + "lite_name": "mr", + "semantic_type": "timestamp", "json_type": "string", "index": 2, "array_depth": 0, "optional": false, - "example": "'0xc73c0c2538fd9b833d20933ccc88fdaa74fcb0d0'", + "example": "'1727788800000000000'", "comment": [ - "The ethereum address to withdraw to" + "[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be force-redeemed." ] }, { - "name": "currency", - "lite_name": "c", - "semantic_type": "string", - "json_type": "string", + "name": "age_category", + "lite_name": "ac", + "semantic_type": "VaultRedemptionReqAgeCategory", + "json_type": "VaultRedemptionReqAgeCategory", "index": 3, "array_depth": 0, "optional": false, - "example": "'USDT'", + "example": "'NORMAL'", "comment": [ - "The token currency to withdraw" + "Age category of this redemption request." ] }, { - "name": "num_tokens", - "lite_name": "nt", - "semantic_type": "string", - "json_type": "string", + "name": "is_manager", + "lite_name": "im", + "semantic_type": "bool", + "json_type": "boolean", "index": 4, "array_depth": 0, - "optional": false, - "example": "'1500.0'", - "comment": [ - "The number of tokens to withdraw" - ] - }, - { - "name": "signature", - "lite_name": "s", - "semantic_type": "Signature", - "json_type": "Signature", - "index": 5, - "array_depth": 0, - "optional": false, + "optional": true, + "example": "true", "comment": [ - "The signature of the withdrawal" + "`true` if this request belongs to the vault manager, omitted otherwise." ] }, { - "name": "event_time", - "lite_name": "et", + "name": "eligible_for_auto_redemption_timestamp", + "lite_name": "ef", "semantic_type": "timestamp", "json_type": "string", - "index": 6, + "index": 5, "array_depth": 0, "optional": false, - "example": "'1697788800000000000'", + "example": "'1727788800000000000'", "comment": [ - "The timestamp of the withdrawal in unix nanoseconds" + "[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be eligible for automated redemption." ] } ], - "comment": [] + "comment": [ + "Representation of a pending redemption request for a given vault." + ] }, { - "name": "ApiWithdrawalHistoryResponse", - "is_root": true, + "name": "PreMinRedemptions", + "is_root": false, "fields": [ { - "name": "result", + "name": "requests", "lite_name": "r", - "semantic_type": "WithdrawalHistory", - "json_type": "WithdrawalHistory", + "semantic_type": "VaultRedemptionRequest", + "json_type": "VaultRedemptionRequest", "index": 0, "array_depth": 1, "optional": false, "comment": [ - "The withdrawals history matching the request account" + "Pre-minimum-age redemption requests, ordered by age (first element is the oldest request that is pre-minimum-age)." ] }, { - "name": "next", - "lite_name": "n", + "name": "token_count", + "lite_name": "tc", "semantic_type": "string", "json_type": "string", "index": 1, "array_depth": 0, - "optional": true, - "default": "''", - "example": "'Qw0918='", + "optional": false, + "example": "'1000000'", "comment": [ - "The cursor to indicate when to start the next query from" + "Number of shares in the pre-minimum-age section of the vault's redemption queue." ] } ], - "comment": [] + "comment": [ + "Vault redemption queue section hidden from main view. All requests here have yet to age past the vault's minimum redemption period." + ] }, { - "name": "ApiVaultInvestRequest", + "name": "ApiVaultViewRedemptionQueueResponse", "is_root": true, "fields": [ { - "name": "vault_id", - "lite_name": "vi", - "semantic_type": "uint64", + "name": "redemption_queue", + "lite_name": "rq", + "semantic_type": "VaultRedemptionRequest", + "json_type": "VaultRedemptionRequest", + "index": 0, + "array_depth": 1, + "optional": false, + "comment": [ + "Outstanding vault redemption requests, ordered by descending priority. Excludes requests that have not yet aged past the minimum redemption period." + ] + }, + { + "name": "pending_redemption_token_count", + "lite_name": "pr", + "semantic_type": "string", "json_type": "string", "index": 1, "array_depth": 0, "optional": false, - "example": "'3477045127917224'", + "example": "'1000000'", "comment": [ - "The unique identifier of the vault to invest in." + "Number of shares eligible for automated redemption (held in queue for at least the minimum redemption period)." ] }, { - "name": "currency", - "lite_name": "c", + "name": "urgent_redemption_token_count", + "lite_name": "ur", "semantic_type": "string", "json_type": "string", "index": 2, "array_depth": 0, "optional": false, - "example": "'USDT'", + "example": "'0'", "comment": [ - "The currency used for the investment. This should be the vault's quote currency." + "Number of shares nearing the maximum redemption period (\u003e= 90% of maximum redemption period)." ] }, { - "name": "num_tokens", - "lite_name": "nt", + "name": "auto_redeemable_balance", + "lite_name": "ar", "semantic_type": "string", "json_type": "string", "index": 3, "array_depth": 0, "optional": false, - "example": "1000000", + "example": "'0'", "comment": [ - "The investment sum, in terms of the token currency specified (i.e., `numTokens` of '1000' with `tokenCurrency` of 'USDT' denotes investment of 1,000 USDT)." + "Amount available for automated redemption request servicing (in USD)." ] }, { - "name": "signature", - "lite_name": "s", - "semantic_type": "Signature", - "json_type": "Signature", + "name": "share_price", + "lite_name": "sp", + "semantic_type": "string", + "json_type": "string", "index": 4, "array_depth": 0, "optional": false, + "example": "'1.25'", "comment": [ - "The digital signature from the investing account.", - "This signature must be generated by the main account ID and is used to verify the authenticity of the request.", - "The signature must comply with AccountPermExternalTransfer permission." + "Current share price (in USD)." + ] + }, + { + "name": "pre_min", + "lite_name": "pm", + "semantic_type": "PreMinRedemptions", + "json_type": "PreMinRedemptions", + "index": 5, + "array_depth": 0, + "optional": false, + "comment": [ + "Dedicated section for requests yet to wait at least the minimum redemption period." ] } ], "comment": [ - "Request payload for investing in a vault.", + "Response payload for a vault manager to view the redemption queue for their vault, ordered by descending priority.", "", - "This API allows a client to invest a specified amount of tokens in a particular vault." + "Also includes counters for total redemption sizes pending as well as urgent (refer to API integration guide for more detail on redemption request classifications).", + "", + "" ] }, { - "name": "ApiVaultRedeemRequest", + "name": "ApiVaultInvestorSummaryRequest", "is_root": true, "fields": [ { @@ -11521,324 +12475,295 @@ "optional": false, "example": "'3477045127917224'", "comment": [ - "The unique identifier of the vault to redeem from." + "The unique identifier of the vault to fetch the summary for." + ] + } + ], + "comment": [ + "Request payload for fetching the summary of a vault investor.", + "", + "This API allows a client to retrieve the summary of investments in a specific vault." + ] + }, + { + "name": "VaultRedemption", + "is_root": false, + "fields": [ + { + "name": "num_lp_tokens", + "lite_name": "nl", + "semantic_type": "string", + "json_type": "string", + "index": 0, + "array_depth": 0, + "optional": false, + "example": "1000000", + "comment": [ + "The number of LP Tokens requested for redemption." ] }, { - "name": "currency", - "lite_name": "c", + "name": "request_valuation", + "lite_name": "rv", "semantic_type": "string", "json_type": "string", + "index": 1, + "array_depth": 0, + "optional": false, + "example": "1000000", + "comment": [ + "The valuation (in USD) of the redemption request." + ] + }, + { + "name": "request_time", + "lite_name": "rt", + "semantic_type": "timestamp", + "json_type": "string", "index": 2, "array_depth": 0, "optional": false, - "example": "'USDT'", + "example": "'1697788800000000000'", "comment": [ - "The currency used for the redemption. This should be the vault's quote currency." + "[Filled by GRVT Backend] Time at which the redemption request was received by GRVT in unix nanoseconds" ] }, { - "name": "num_tokens", - "lite_name": "nt", - "semantic_type": "string", + "name": "max_redemption_period_timestamp", + "lite_name": "mr", + "semantic_type": "timestamp", "json_type": "string", "index": 3, "array_depth": 0, "optional": false, - "example": "1000000", + "example": "1727788800000000000", "comment": [ - "The number of shares to redeem." + "[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be force-redeemed." ] }, { - "name": "signature", - "lite_name": "s", - "semantic_type": "Signature", - "json_type": "Signature", + "name": "cancel_blocked", + "lite_name": "cb", + "semantic_type": "bool", + "json_type": "boolean", "index": 4, "array_depth": 0, - "optional": false, + "optional": true, + "default": "true", "comment": [ - "The digital signature from the investing account.", - "This signature must be generated by the main account ID and is used to verify the authenticity of the request.", - "The signature must comply with AccountPermExternalTransfer permission." + "Omitted for redemption requests to non-cross exchange vaults. True if cancellation is blocked within the CEV allocation allowance for the user's current tier (e.g. because the user has already transferred out the spot balance underlying the redemption request)." ] } ], "comment": [ - "Request payload for redeeming from a vault.", + "Vault redemption information.", "", - "This API allows a client to redeem a specified amount of tokens from a particular vault." + "This struct contains information about a pending redemption from a vault." ] }, { - "name": "ApiVaultRedeemCancelRequest", - "is_root": true, + "name": "VaultInvestorSummary", + "is_root": false, "fields": [ { - "name": "vault_id", - "lite_name": "vi", + "name": "sub_account_id", + "lite_name": "sa", "semantic_type": "uint64", "json_type": "string", - "index": 1, + "index": 0, "array_depth": 0, "optional": false, - "example": "'3477045127917224'", + "example": "'$GRVT_SUB_ACCOUNT_ID'", "comment": [ - "The unique identifier of the vault to cancel the redemption from." + "The unique identifier of the vault sub account." ] - } - ], - "comment": [ - "Request payload for canceling a vault redemption.", - "", - "This API allows a client to cancel a previously initiated redemption from a vault." - ] - }, - { - "name": "ApiVaultViewRedemptionQueueRequest", - "is_root": true, - "fields": [ + }, { - "name": "vault_id", - "lite_name": "vi", - "semantic_type": "uint64", + "name": "num_lp_tokens", + "lite_name": "nl", + "semantic_type": "string", "json_type": "string", "index": 1, "array_depth": 0, "optional": false, - "example": "'3477045127917224'", + "example": "1000000", "comment": [ - "The unique identifier of the vault to fetch the redemption queue for." + "The number of Vault LP tokens held by the investor." ] - } - ], - "comment": [ - "Request payload for a vault manager to view the redemption queue for their vault.", - "", - "Fetches the redemption queue for a vault, ordered by descending priority.", - "", - "\u003cb\u003eUrgent\u003c/b\u003e redemption requests, defined as having been pending \u003e90% of the manager-defined maximum redemption period, have top priority (following insertion order).", - "", - "\u003cb\u003eNon-urgent\u003c/b\u003e redemption requests are otherwise prioritized by insertion order, \u003cb\u003eunless\u003c/b\u003e they are \u003e5x the size of the smallest redemption request.", - "", - "E.g., If FIFO ordering (all non-urgent) is 1k -\u003e 50k -\u003e 100k -\u003e 20k -\u003e 10k -\u003e 25k, then priority ordering is 1k -\u003e 10k -\u003e 50k -\u003e 20k -\u003e 100k -\u003e 25k.", - "", - "Only displays redemption requests that are eligible for automated redemption, i.e., have been pending for the manager-defined minimum redemption period." - ] - }, - { - "name": "VaultRedemptionRequest", - "is_root": false, - "fields": [ + }, { - "name": "request_time", - "lite_name": "rt", - "semantic_type": "timestamp", + "name": "avg_entry_price", + "lite_name": "ae", + "semantic_type": "string", "json_type": "string", - "index": 0, + "index": 2, "array_depth": 0, "optional": false, - "example": "'1697788800000000000'", + "example": "1000000", "comment": [ - "[Filled by GRVT Backend] Time at which the redemption request was received by GRVT in unix nanoseconds" + "The average entry price (in USD) of the vault LP tokens." ] }, { - "name": "num_lp_tokens", - "lite_name": "nl", + "name": "current_price", + "lite_name": "cp", "semantic_type": "string", "json_type": "string", - "index": 1, + "index": 3, "array_depth": 0, "optional": false, - "example": "'1000000'", + "example": "1000000", "comment": [ - "The number of shares to redeem" + "The current price (in USD) of the vault LP tokens." ] }, { - "name": "max_redemption_period_timestamp", - "lite_name": "mr", - "semantic_type": "timestamp", + "name": "total_equity", + "lite_name": "te", + "semantic_type": "string", "json_type": "string", - "index": 2, + "index": 4, "array_depth": 0, "optional": false, - "example": "'1727788800000000000'", + "example": "1000000", "comment": [ - "[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be force-redeemed." + "The current valuation (in USD) of all held vault LP tokens." ] }, { - "name": "age_category", - "lite_name": "ac", - "semantic_type": "VaultRedemptionReqAgeCategory", - "json_type": "VaultRedemptionReqAgeCategory", - "index": 3, + "name": "all_time_realized_pnl", + "lite_name": "at", + "semantic_type": "string", + "json_type": "string", + "index": 5, "array_depth": 0, "optional": false, - "example": "'NORMAL'", + "example": "1000000", "comment": [ - "Age category of this redemption request." + "The all-time realized PnL (in USD) that the investor has received from the vault." ] }, { - "name": "is_manager", - "lite_name": "im", - "semantic_type": "bool", - "json_type": "boolean", - "index": 4, + "name": "pending_redemption", + "lite_name": "pr", + "semantic_type": "VaultRedemption", + "json_type": "VaultRedemption", + "index": 6, "array_depth": 0, "optional": true, - "example": "true", "comment": [ - "`true` if this request belongs to the vault manager, omitted otherwise." + "The singleton pending redemption (omitted if none)." ] }, { - "name": "eligible_for_auto_redemption_timestamp", - "lite_name": "ef", - "semantic_type": "timestamp", - "json_type": "string", - "index": 5, + "name": "can_burn", + "lite_name": "cb", + "semantic_type": "bool", + "json_type": "boolean", + "index": 7, "array_depth": 0, - "optional": false, - "example": "'1727788800000000000'", + "optional": true, + "default": "true", "comment": [ - "[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be eligible for automated redemption." + "True if the requesting account is authorized to burn tokens on this vault, omitted otherwise." ] } ], "comment": [ - "Representation of a pending redemption request for a given vault." + "Vault investor summary information.", + "", + "This struct contains the summary of investments in a vault." ] }, { - "name": "PreMinRedemptions", - "is_root": false, + "name": "ApiVaultInvestorSummaryResponse", + "is_root": true, "fields": [ { - "name": "requests", - "lite_name": "r", - "semantic_type": "VaultRedemptionRequest", - "json_type": "VaultRedemptionRequest", + "name": "vault_investor_summary", + "lite_name": "vi", + "semantic_type": "VaultInvestorSummary", + "json_type": "VaultInvestorSummary", "index": 0, "array_depth": 1, "optional": false, "comment": [ - "Pre-minimum-age redemption requests, ordered by age (first element is the oldest request that is pre-minimum-age)." - ] - }, - { - "name": "token_count", - "lite_name": "tc", - "semantic_type": "string", - "json_type": "string", - "index": 1, - "array_depth": 0, - "optional": false, - "example": "'1000000'", - "comment": [ - "Number of shares in the pre-minimum-age section of the vault's redemption queue." + "The summary of investments in the vault." ] } ], "comment": [ - "Vault redemption queue section hidden from main view. All requests here have yet to age past the vault's minimum redemption period." + "Response payload for the summary of a vault investor.", + "", + "This API provides the summary of investments in a specific vault." ] }, { - "name": "ApiVaultViewRedemptionQueueResponse", + "name": "ApiVaultBurnTokensRequest", "is_root": true, "fields": [ { - "name": "redemption_queue", - "lite_name": "rq", - "semantic_type": "VaultRedemptionRequest", - "json_type": "VaultRedemptionRequest", - "index": 0, - "array_depth": 1, - "optional": false, - "comment": [ - "Outstanding vault redemption requests, ordered by descending priority. Excludes requests that have not yet aged past the minimum redemption period." - ] - }, - { - "name": "pending_redemption_token_count", - "lite_name": "pr", - "semantic_type": "string", + "name": "vault_id", + "lite_name": "vi", + "semantic_type": "uint64", "json_type": "string", "index": 1, "array_depth": 0, "optional": false, - "example": "'1000000'", + "example": "'3477045127917224'", "comment": [ - "Number of shares eligible for automated redemption (held in queue for at least the minimum redemption period)." + "The unique identifier of the vault to burn tokens from." ] }, { - "name": "urgent_redemption_token_count", - "lite_name": "ur", + "name": "currency", + "lite_name": "c", "semantic_type": "string", "json_type": "string", "index": 2, "array_depth": 0, "optional": false, - "example": "'0'", + "example": "'USDT'", "comment": [ - "Number of shares nearing the maximum redemption period (\u003e= 90% of maximum redemption period)." + "The currency used for the burn. This should be the vault's quote currency." ] }, { - "name": "auto_redeemable_balance", - "lite_name": "ar", + "name": "num_tokens", + "lite_name": "nt", "semantic_type": "string", "json_type": "string", "index": 3, "array_depth": 0, "optional": false, - "example": "'0'", + "example": "1000000", "comment": [ - "Amount available for automated redemption request servicing (in USD)." + "The number of tokens to burn." ] }, { - "name": "share_price", - "lite_name": "sp", - "semantic_type": "string", - "json_type": "string", + "name": "signature", + "lite_name": "s", + "semantic_type": "Signature", + "json_type": "Signature", "index": 4, "array_depth": 0, "optional": false, - "example": "'1.25'", - "comment": [ - "Current share price (in USD)." - ] - }, - { - "name": "pre_min", - "lite_name": "pm", - "semantic_type": "PreMinRedemptions", - "json_type": "PreMinRedemptions", - "index": 5, - "array_depth": 0, - "optional": false, "comment": [ - "Dedicated section for requests yet to wait at least the minimum redemption period." + "The digital signature from the investing account.", + "This signature must be generated by the main account ID and is used to verify the authenticity of the request.", + "The signature must comply with AccountPermExternalTransfer permission." ] } ], "comment": [ - "Response payload for a vault manager to view the redemption queue for their vault, ordered by descending priority.", - "", - "Also includes counters for total redemption sizes pending as well as urgent (refer to API integration guide for more detail on redemption request classifications).", + "Request payload for burning tokens in a vault.", "", - "" + "This API allows a client to burn a specified amount of tokens in a particular vault." ] }, { - "name": "ApiVaultInvestorSummaryRequest", + "name": "ApiCrossExchVaultViewInvestmentQueueRequest", "is_root": true, "fields": [ { @@ -11851,99 +12776,98 @@ "optional": false, "example": "'3477045127917224'", "comment": [ - "The unique identifier of the vault to fetch the summary for." + "The unique identifier of the cross-exchange vault to fetch the investment queue for." ] } ], "comment": [ - "Request payload for fetching the summary of a vault investor.", + "Request payload for a cross-exchange vault manager to view the investment queue for their vault in FIFO order.", "", - "This API allows a client to retrieve the summary of investments in a specific vault." + "This queue gets drained on every equity attestation event submitted by the cross-exchange vault manager.", + "", + "" ] }, { - "name": "VaultRedemption", + "name": "CrossExchVaultPendingInvestment", "is_root": false, "fields": [ { - "name": "num_lp_tokens", - "lite_name": "nl", - "semantic_type": "string", + "name": "request_time", + "lite_name": "rt", + "semantic_type": "timestamp", "json_type": "string", "index": 0, "array_depth": 0, "optional": false, - "example": "1000000", + "example": "'1697788800000000000'", "comment": [ - "The number of LP Tokens requested for redemption." + "[Filled by GRVT Backend] Time at which the investment request was confirmed and enqueued by GRVT in unix nanoseconds" ] }, { - "name": "request_valuation", - "lite_name": "rv", + "name": "currency", + "lite_name": "c", "semantic_type": "string", "json_type": "string", "index": 1, "array_depth": 0, "optional": false, - "example": "1000000", + "example": "'USDT'", "comment": [ - "The valuation (in USD) of the redemption request." + "The currency used for the investment. This should be the vault's quote currency." ] }, { - "name": "request_time", - "lite_name": "rt", - "semantic_type": "timestamp", + "name": "num_tokens", + "lite_name": "nt", + "semantic_type": "string", "json_type": "string", "index": 2, "array_depth": 0, "optional": false, - "example": "'1697788800000000000'", + "example": "1000000", "comment": [ - "[Filled by GRVT Backend] Time at which the redemption request was received by GRVT in unix nanoseconds" + "The investment sum, in terms of the token currency specified (i.e., `numTokens` of '1000' with `tokenCurrency` of 'USDT' denotes investment of 1,000 USDT)." ] }, { - "name": "max_redemption_period_timestamp", - "lite_name": "mr", - "semantic_type": "timestamp", - "json_type": "string", + "name": "is_manager", + "lite_name": "im", + "semantic_type": "bool", + "json_type": "boolean", "index": 3, "array_depth": 0, - "optional": false, - "example": "1727788800000000000", + "optional": true, + "example": "true", "comment": [ - "[Filled by GRVT Backend] Time in unix nanoseconds, beyond which the request will be force-redeemed." + "`true` if this pending investment belongs to the vault manager, omitted otherwise." ] } ], "comment": [ - "Vault redemption information.", - "", - "This struct contains information about a pending redemption from a vault." + "Representation of a pending investment for a given cross-exchange vault." ] }, { - "name": "VaultInvestorSummary", - "is_root": false, + "name": "ApiCrossExchVaultViewInvestmentQueueResponse", + "is_root": true, "fields": [ { - "name": "sub_account_id", - "lite_name": "sa", - "semantic_type": "uint64", - "json_type": "string", + "name": "investment_queue", + "lite_name": "iq", + "semantic_type": "CrossExchVaultPendingInvestment", + "json_type": "CrossExchVaultPendingInvestment", "index": 0, - "array_depth": 0, + "array_depth": 1, "optional": false, - "example": "'$GRVT_SUB_ACCOUNT_ID'", "comment": [ - "The unique identifier of the vault sub account." + "Outstanding cross-exchange vault investment requests in FIFO order." ] }, { - "name": "num_lp_tokens", - "lite_name": "nl", + "name": "total_investment_equity", + "lite_name": "ti", "semantic_type": "string", "json_type": "string", "index": 1, @@ -11951,178 +12875,196 @@ "optional": false, "example": "1000000", "comment": [ - "The number of Vault LP tokens held by the investor." + "The current valuation (in USD) of all pending investments." + ] + } + ], + "comment": [ + "Response payload for a cross-exchange vault manager to view the investment queue for their vault in FIFO order.", + "", + "This queue gets drained on every equity attestation event submitted by the cross-exchange vault manager.", + "", + "" + ] + }, + { + "name": "ApiCrossExchVaultTriggerRedemptionRequest", + "is_root": true, + "fields": [ + { + "name": "vault_id", + "lite_name": "vi", + "semantic_type": "uint64", + "json_type": "string", + "index": 1, + "array_depth": 0, + "optional": false, + "example": "'3477045127917224'", + "comment": [ + "The unique identifier of the cross-exchange vault to redeem from." ] }, { - "name": "avg_entry_price", - "lite_name": "ae", - "semantic_type": "string", + "name": "request_time", + "lite_name": "rt", + "semantic_type": "timestamp", "json_type": "string", "index": 2, "array_depth": 0, "optional": false, - "example": "1000000", + "example": "'1697788800000000000'", "comment": [ - "The average entry price (in USD) of the vault LP tokens." + "Value provided must be equal to the `request_time` field of the first element returned from the View Investment Queue API." + ] + } + ], + "comment": [ + "Request payload for a cross-exchange vault manager to trigger execution of the redemption request at the head of their cross-exchange vault's redemption queue." + ] + }, + { + "name": "ApiCrossExchVaultAttestEquityRequest", + "is_root": true, + "fields": [ + { + "name": "vault_id", + "lite_name": "vi", + "semantic_type": "uint64", + "json_type": "string", + "index": 0, + "array_depth": 0, + "optional": false, + "example": "'3477045127917224'", + "comment": [ + "The unique identifier of the cross-exchange vault." ] }, { - "name": "current_price", - "lite_name": "cp", + "name": "total_equity", + "lite_name": "te", "semantic_type": "string", "json_type": "string", - "index": 3, + "index": 1, "array_depth": 0, "optional": false, "example": "1000000", "comment": [ - "The current price (in USD) of the vault LP tokens." + "[Signed] The total equity implied by `num_lp_tokens * share_price`, in USD, expressed in up to 6 decimal places." ] }, { - "name": "total_equity", - "lite_name": "te", + "name": "num_lp_tokens", + "lite_name": "nl", "semantic_type": "string", "json_type": "string", - "index": 4, + "index": 2, "array_depth": 0, "optional": false, "example": "1000000", "comment": [ - "The current valuation (in USD) of all held vault LP tokens." + "[Signed] The number of shares in circulation for the cross-exchange vault, expressed in up to 6 decimal places." ] }, { - "name": "all_time_realized_pnl", - "lite_name": "at", + "name": "share_price", + "lite_name": "sp", "semantic_type": "string", "json_type": "string", - "index": 5, + "index": 3, "array_depth": 0, "optional": false, "example": "1000000", "comment": [ - "The all-time realized PnL (in USD) that the investor has received from the vault." + "[Signed] The share price of the cross-exchange vault, in USD, expressed in up to 9 decimal places." ] }, { - "name": "pending_redemption", - "lite_name": "pr", - "semantic_type": "VaultRedemption", - "json_type": "VaultRedemption", - "index": 6, + "name": "last_update_timestamp", + "lite_name": "lu", + "semantic_type": "timestamp", + "json_type": "string", + "index": 4, "array_depth": 0, - "optional": true, + "optional": false, + "example": "'1697788800000000000'", "comment": [ - "The singleton pending redemption (omitted if none)." + "[Signed] GRVT timestamp for the latest confirmed attestation event of this vault, in unix-nanoseconds.", + "Should be equal to the `last_update_timestamp` value returned from the Vault Detail API." ] }, { - "name": "can_burn", - "lite_name": "cb", - "semantic_type": "bool", - "json_type": "boolean", - "index": 7, + "name": "signature", + "lite_name": "s", + "semantic_type": "Signature", + "json_type": "Signature", + "index": 5, "array_depth": 0, - "optional": true, - "default": "true", + "optional": false, "comment": [ - "True if the requesting account is authorized to burn tokens on this vault, omitted otherwise." + "The digital signature from the cross-exchange vault manager account.", + "This signature must be generated by the main account ID and is used to verify the authenticity of the request.", + "The signature must comply with AccountPermAdmin permission." ] } ], "comment": [ - "Vault investor summary information.", + "Request payload for a cross-exchange vault maanger to publish an equity attestation event to GRVT systems.", "", - "This struct contains the summary of investments in a vault." + "" ] }, { - "name": "ApiVaultInvestorSummaryResponse", + "name": "ApiCrossExchVaultLockRequest", "is_root": true, "fields": [ { - "name": "vault_investor_summary", - "lite_name": "vi", - "semantic_type": "VaultInvestorSummary", - "json_type": "VaultInvestorSummary", + "name": "cross_exch_vault_id", + "lite_name": "ce", + "semantic_type": "uint64", + "json_type": "string", "index": 0, - "array_depth": 1, + "array_depth": 0, "optional": false, + "example": "'3477045127917224'", "comment": [ - "The summary of investments in the vault." + "The unique identifier of the cross-exchange vault to lock." ] } ], "comment": [ - "Response payload for the summary of a vault investor.", + "Request payload for a cross-exchange vault manager to engage the update lock for their vault.", "", - "This API provides the summary of investments in a specific vault." + "While locked, all operations that could change the vault's share count (e.g. invest / redeem / burn) become disabled.", + "", + "Should be done prior to an equity-attest update to ensure a fixed-reference share count.", + "", + "WARN: Stays locked until the corresponding Unlock API is called, OR a successful equity-attest update.", + "", + "Vault managers leaving their vaults locked for prolonged periods will receive GRVT warning alerts." ] }, { - "name": "ApiVaultBurnTokensRequest", + "name": "ApiCrossExchVaultUnlockRequest", "is_root": true, "fields": [ { - "name": "vault_id", - "lite_name": "vi", + "name": "cross_exch_vault_id", + "lite_name": "ce", "semantic_type": "uint64", "json_type": "string", - "index": 1, + "index": 0, "array_depth": 0, "optional": false, "example": "'3477045127917224'", "comment": [ - "The unique identifier of the vault to burn tokens from." - ] - }, - { - "name": "currency", - "lite_name": "c", - "semantic_type": "string", - "json_type": "string", - "index": 2, - "array_depth": 0, - "optional": false, - "example": "'USDT'", - "comment": [ - "The currency used for the burn. This should be the vault's quote currency." - ] - }, - { - "name": "num_tokens", - "lite_name": "nt", - "semantic_type": "string", - "json_type": "string", - "index": 3, - "array_depth": 0, - "optional": false, - "example": "1000000", - "comment": [ - "The number of tokens to burn." - ] - }, - { - "name": "signature", - "lite_name": "s", - "semantic_type": "Signature", - "json_type": "Signature", - "index": 4, - "array_depth": 0, - "optional": false, - "comment": [ - "The digital signature from the investing account.", - "This signature must be generated by the main account ID and is used to verify the authenticity of the request.", - "The signature must comply with AccountPermExternalTransfer permission." + "The unique identifier of the cross-exchange vault to unlock." ] } ], "comment": [ - "Request payload for burning tokens in a vault.", + "Request payload for a cross-exchange vault manager to disengage the update lock for their vault.", "", - "This API allows a client to burn a specified amount of tokens in a particular vault." + "" ] } ], @@ -12712,6 +13654,13 @@ "comment": [ "the currency is not defined" ] + }, + { + "name": "INVALID_CHAIN_ID", + "value": 38, + "comment": [ + "the chain ID is invalid" + ] } ], "comment": [] @@ -12848,6 +13797,27 @@ "comment": [ "Transfer type for non native bridging withdrawal" ] + }, + { + "name": "ADHOC_INCENTIVE", + "value": 6, + "comment": [ + "Transfer type for adhoc incentive" + ] + }, + { + "name": "REFERRAL_INCENTIVE", + "value": 7, + "comment": [ + "Transfer type for referral incentive" + ] + }, + { + "name": "TRADING_DEPOSIT_YIELD_INCENTIVE", + "value": 8, + "comment": [ + "Transfer type for trading deposit yield incentive" + ] } ], "comment": []