Observe transaction results
GET/api/v2/stream/transaction-results
Subscribe to a stream of transaction results, optionally filtered by party/hash/status
Request
Query Parameters
Restrict the transaction results streamed to those made by the given parties.
Restrict the transaction results streamed to those with given hashes.
Restrict the transaction results streamed to those with given status true/false (success/failure).
Responses
- 200
- 500
- default
A successful response.(streaming responses)
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- If no scheme is provided,
https
is assumed. - An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
- Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
- ]
- Array [
- OrderCancellation
- OrderAmendment
- OrderSubmission
- StopOrderSubmission where the maximum allow of instructions in a batch is controlled by the network parameter "spam.protection.max.batchSize".
- Array [
- Specifying a size smaller than the current size leaves the order at its current order book position.
- Specifying a size larger than the current size removes and reinserts the order at the back of the price level.
- Specifying a size that results in the remaining part of the order being reduced to zero cancels the order. This field is an unsigned integer scaled to the market's decimal places. If specified, size_delta must be set to 0.
- To reduce the size from the current value set a negative integer value
- To increase the size from the current value, set a positive integer value
- To leave the size unchanged set a value of zero This field needs to be scaled using the market's position decimal places. If specified, size must not be set.
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ACCOUNT_TYPE_UNSPECIFIED: Default value
- ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market
- ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market
- ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions. Each party will have a margin account for each market they have traded in. Required initial margin is allocated to each market from user's general account. Collateral in the margin account can't be withdrawn or used as margin on another market until it is released back to the general account. Vega protocol uses an internal accounting system to segregate funds held as margin from other funds to ensure they are never lost or 'double spent'
- ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will have multiple general accounts, one for each asset they want to trade with
- ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega
- ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets
- ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book and are then matched with an incoming order to create a trade - These fees reward parties who provide the best priced liquidity that actually allows trading to take place
- ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments
- ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)
- ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset
- ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset
- ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)
- ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers
- ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers
- ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers
- ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold
- ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds
- ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.
- ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.
- ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury
- ACCOUNT_TYPE_VESTING_REWARDS: Account holding user's rewards for the vesting period
- ACCOUNT_TYPE_VESTED_REWARDS: Account holding user's rewards after the vesting period
- ACCOUNT_TYPE_REWARD_RELATIVE_RETURN: Per asset market reward account given for relative return
- ACCOUNT_TYPE_REWARD_RETURN_VOLATILITY: Per asset market reward account given for return volatility
- ACCOUNT_TYPE_REWARD_VALIDATOR_RANKING: Per asset market reward account given to validators by their ranking
- ACCOUNT_TYPE_PENDING_FEE_REFERRAL_REWARD: Per asset account for pending fee referral reward payouts
- ACCOUNT_TYPE_ORDER_MARGIN: Per asset market account for party in isolated margin mode
- ACCOUNT_TYPE_REWARD_REALISED_RETURN: Per asset market reward account for realised return
- ACCOUNT_TYPE_BUY_BACK_FEES: Per asset account for paid buy-back fees
- ACCOUNT_TYPE_REWARD_AVERAGE_NOTIONAL: Per asset market reward account given for average notional
- ACCOUNT_TYPE_REWARD_ELIGIBLE_ENTITIES: Reward account for the eligible entities metric.
- ACCOUNT_TYPE_LOCKED_FOR_STAKING: Account for assets that are locked for staking.
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ACCOUNT_TYPE_UNSPECIFIED: Default value
- ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market
- ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market
- ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions. Each party will have a margin account for each market they have traded in. Required initial margin is allocated to each market from user's general account. Collateral in the margin account can't be withdrawn or used as margin on another market until it is released back to the general account. Vega protocol uses an internal accounting system to segregate funds held as margin from other funds to ensure they are never lost or 'double spent'
- ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will have multiple general accounts, one for each asset they want to trade with
- ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega
- ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets
- ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book and are then matched with an incoming order to create a trade - These fees reward parties who provide the best priced liquidity that actually allows trading to take place
- ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments
- ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)
- ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset
- ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset
- ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)
- ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers
- ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers
- ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers
- ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold
- ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds
- ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.
- ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.
- ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury
- ACCOUNT_TYPE_VESTING_REWARDS: Account holding user's rewards for the vesting period
- ACCOUNT_TYPE_VESTED_REWARDS: Account holding user's rewards after the vesting period
- ACCOUNT_TYPE_REWARD_RELATIVE_RETURN: Per asset market reward account given for relative return
- ACCOUNT_TYPE_REWARD_RETURN_VOLATILITY: Per asset market reward account given for return volatility
- ACCOUNT_TYPE_REWARD_VALIDATOR_RANKING: Per asset market reward account given to validators by their ranking
- ACCOUNT_TYPE_PENDING_FEE_REFERRAL_REWARD: Per asset account for pending fee referral reward payouts
- ACCOUNT_TYPE_ORDER_MARGIN: Per asset market account for party in isolated margin mode
- ACCOUNT_TYPE_REWARD_REALISED_RETURN: Per asset market reward account for realised return
- ACCOUNT_TYPE_BUY_BACK_FEES: Per asset account for paid buy-back fees
- ACCOUNT_TYPE_REWARD_AVERAGE_NOTIONAL: Per asset market reward account given for average notional
- ACCOUNT_TYPE_REWARD_ELIGIBLE_ENTITIES: Reward account for the eligible entities metric.
- ACCOUNT_TYPE_LOCKED_FOR_STAKING: Account for assets that are locked for staking.
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- ACCOUNT_TYPE_UNSPECIFIED: Default value
- ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market
- ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market
- ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions. Each party will have a margin account for each market they have traded in. Required initial margin is allocated to each market from user's general account. Collateral in the margin account can't be withdrawn or used as margin on another market until it is released back to the general account. Vega protocol uses an internal accounting system to segregate funds held as margin from other funds to ensure they are never lost or 'double spent'
- ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will have multiple general accounts, one for each asset they want to trade with
- ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega
- ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets
- ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book and are then matched with an incoming order to create a trade - These fees reward parties who provide the best priced liquidity that actually allows trading to take place
- ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments
- ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)
- ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset
- ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset
- ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)
- ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers
- ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers
- ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers
- ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold
- ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds
- ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.
- ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.
- ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury
- ACCOUNT_TYPE_VESTING_REWARDS: Account holding user's rewards for the vesting period
- ACCOUNT_TYPE_VESTED_REWARDS: Account holding user's rewards after the vesting period
- ACCOUNT_TYPE_REWARD_RELATIVE_RETURN: Per asset market reward account given for relative return
- ACCOUNT_TYPE_REWARD_RETURN_VOLATILITY: Per asset market reward account given for return volatility
- ACCOUNT_TYPE_REWARD_VALIDATOR_RANKING: Per asset market reward account given to validators by their ranking
- ACCOUNT_TYPE_PENDING_FEE_REFERRAL_REWARD: Per asset account for pending fee referral reward payouts
- ACCOUNT_TYPE_ORDER_MARGIN: Per asset market account for party in isolated margin mode
- ACCOUNT_TYPE_REWARD_REALISED_RETURN: Per asset market reward account for realised return
- ACCOUNT_TYPE_BUY_BACK_FEES: Per asset account for paid buy-back fees
- ACCOUNT_TYPE_REWARD_AVERAGE_NOTIONAL: Per asset market reward account given for average notional
- ACCOUNT_TYPE_REWARD_ELIGIBLE_ENTITIES: Reward account for the eligible entities metric.
- ACCOUNT_TYPE_LOCKED_FOR_STAKING: Account for assets that are locked for staking.
- DISTRIBUTION_STRATEGY_PRO_RATA: Rewards funded using the pro-rata strategy should be distributed pro-rata by each entity's reward metric, scaled by any active multipliers that party has.
- DISTRIBUTION_STRATEGY_RANK: Rewards funded using the party rank.
- DISTRIBUTION_STRATEGY_RANK_LOTTERY: Rewards funded using the ranked lottery.
- Array [
- ]
- ACCOUNT_TYPE_UNSPECIFIED: Default value
- ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market
- ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market
- ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions. Each party will have a margin account for each market they have traded in. Required initial margin is allocated to each market from user's general account. Collateral in the margin account can't be withdrawn or used as margin on another market until it is released back to the general account. Vega protocol uses an internal accounting system to segregate funds held as margin from other funds to ensure they are never lost or 'double spent'
- ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will have multiple general accounts, one for each asset they want to trade with
- ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega
- ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets
- ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book and are then matched with an incoming order to create a trade - These fees reward parties who provide the best priced liquidity that actually allows trading to take place
- ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments
- ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)
- ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset
- ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset
- ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)
- ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers
- ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers
- ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers
- ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold
- ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds
- ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.
- ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.
- ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury
- ACCOUNT_TYPE_VESTING_REWARDS: Account holding user's rewards for the vesting period
- ACCOUNT_TYPE_VESTED_REWARDS: Account holding user's rewards after the vesting period
- ACCOUNT_TYPE_REWARD_RELATIVE_RETURN: Per asset market reward account given for relative return
- ACCOUNT_TYPE_REWARD_RETURN_VOLATILITY: Per asset market reward account given for return volatility
- ACCOUNT_TYPE_REWARD_VALIDATOR_RANKING: Per asset market reward account given to validators by their ranking
- ACCOUNT_TYPE_PENDING_FEE_REFERRAL_REWARD: Per asset account for pending fee referral reward payouts
- ACCOUNT_TYPE_ORDER_MARGIN: Per asset market account for party in isolated margin mode
- ACCOUNT_TYPE_REWARD_REALISED_RETURN: Per asset market reward account for realised return
- ACCOUNT_TYPE_BUY_BACK_FEES: Per asset account for paid buy-back fees
- ACCOUNT_TYPE_REWARD_AVERAGE_NOTIONAL: Per asset market reward account given for average notional
- ACCOUNT_TYPE_REWARD_ELIGIBLE_ENTITIES: Reward account for the eligible entities metric.
- ACCOUNT_TYPE_LOCKED_FOR_STAKING: Account for assets that are locked for staking.
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
- Specifying a size smaller than the current size leaves the order at its current order book position.
- Specifying a size larger than the current size removes and reinserts the order at the back of the price level.
- Specifying a size that results in the remaining part of the order being reduced to zero cancels the order. This field is an unsigned integer scaled to the market's decimal places. If specified, size_delta must be set to 0.
- To reduce the size from the current value set a negative integer value
- To increase the size from the current value, set a positive integer value
- To leave the size unchanged set a value of zero This field needs to be scaled using the market's position decimal places. If specified, size must not be set.
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
error object
details object[]
A URL/resource name that uniquely identifies the type of the serialized
protocol buffer message. This string must contain at least
one "/" character. The last segment of the URL's path must represent
the fully qualified name of the type (as in
path/google.protobuf.Duration
). The name should be in a canonical form
(e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they
expect it to use in the context of Any. However, for URLs which use the
scheme http
, https
, or no scheme, one can optionally set up a type
server that maps type URLs to message definitions as follows:
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than http
, https
(or the empty scheme) might be
used with implementation specific semantics.
result object
transactionResults object[]
List of 0 or more transaction results.
amendAmm object
Command to amend an existing automated market maker on a market.
Amount to be committed to the AMM. If not supplied the commitment will remain unchanged.
concentratedLiquidityParameters object
Concentrated liquidity parameters defining the shape of the AMM's volume curves. If not supplied the parameters will remain unchanged.
Price that the AMM will quote as its "fair price" when its position is zero.
ID of a data source already used by the market which will be used as the base price for the AMM.
Leverage at lower bound. If not set the markets risk-factors will be used to calculate leverage.
Leverage at upper bound. If not set the markets risk-factors will be used to calculate leverage.
Price at which the AMM will stop quoting buy volume. If not supplied the AMM will never hold a long position.
Price at which the AMM will stop quoting sell volume. If not supplied the AMM will never hold a short position.
Market ID for the AMM to be amended.
An AMM with an oracle driven base price will only be updated if abs(new-base-price / old-base-price - 1) >= minimum_price_change_trigger.
Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market. If not supplied the proposed fee will remain unchanged.
Slippage tolerance for rebasing position when updating the AMM.
announceNode object
A command that allows a new node operator to announce themselves to the network as a new validator.
URL to the node operator's avatar.
Public key for the blockchain, currently the node's CometBFT key.
Country code (ISO 3166-1 alpha-2) for the location of the node.
Ethereum public key of the node being announced.
ethereumSignature object
Signature from the node made using the ethereum wallet.
Algorithm used to create the signature.
Hex encoded bytes of the signature.
Version of the algorithm used to create the signature.
Epoch from which the node is expected to be ready to validate blocks.
Node ID of the validator, which is the node's public master key.
URL to the node operators homepage allowing stake holders to make an informed decision when delegating.
Human-readable name of the node.
Ethereum public key to use as a submitter to allow automatic signature generation.
Vega public key of the node being announced.
Vega public key derivation index.
vegaSignature object
Signature from the node made using the Vega wallet.
Algorithm used to create the signature.
Hex encoded bytes of the signature.
Version of the algorithm used to create the signature.
applyReferralCode object
Command that allows the submitter to join a referral set and earn a collective reduction in fees based on the activity of all members of that set. A party that joins a referral set is called a referee. A referee can only be a member of one referral set and cannot themselves be or become a referrer. To switch to another referral set, a subsequent command can be sent and the switch will take effect at the end of the epoch.
Should the key applying the referral code also join the team. the default is false so the existing behaviour is kept if older versions of the protobufs are used.
Referral code, normally the referral set ID, for the party to join.
batchMarketInstructions object
A command that allows the submission of a batch market instruction which wraps up multiple market instructions into a single transaction. These instructions are then processed sequentially in the following order:
amendments object[]
List of order amendments to be processed sequentially.
Timestamp, in Unix nanoseconds, for the new expiry time for the order.
Market ID that the order was originally submitted to.
ID of the order to amend.
New pegged offset for the order. This field is an unsigned integer scaled to the market's decimal places.
Possible values: [PEGGED_REFERENCE_UNSPECIFIED
, PEGGED_REFERENCE_MID
, PEGGED_REFERENCE_BEST_BID
, PEGGED_REFERENCE_BEST_ASK
]
Default value: PEGGED_REFERENCE_UNSPECIFIED
New pegged reference for the order.
New price for the order. This field is an unsigned integer scaled to the market's decimal places.
New size for the order. Amending the size causes the size and remaining part of the order to be changed by the difference between the original and amended size.
Amend the size for the order by the delta specified:
Possible values: [TIME_IN_FORCE_UNSPECIFIED
, TIME_IN_FORCE_GTC
, TIME_IN_FORCE_GTT
, TIME_IN_FORCE_IOC
, TIME_IN_FORCE_FOK
, TIME_IN_FORCE_GFA
, TIME_IN_FORCE_GFN
]
Default value: TIME_IN_FORCE_UNSPECIFIED
New time in force for the order.
cancellations object[]
List of order cancellations to be processed sequentially.
Restrict cancellations to those submitted to the given market. If not set, all stop orders across all markets will be cancelled.
Restrict cancellations to an order with the given ID. If set, then a market ID must also be provided.
stopOrdersCancellation object[]
List of stop order cancellations to be processed sequentially.
Restrict cancellations to those submitted to the given market. If not set, all stop orders across all markets will be cancelled.
Restrict cancellations to a stop order with the given ID. If set, then a market ID must also be provided.
stopOrdersSubmission object[]
List of stop order submissions to be processed sequentially.
fallsBelow object
Stop order that will be triggered if the price falls below a given trigger price.
Timestamp, in Unix nanoseconds, for when the stop order should expire. If not set the stop order will not expire.
Possible values: [EXPIRY_STRATEGY_UNSPECIFIED
, EXPIRY_STRATEGY_CANCELS
, EXPIRY_STRATEGY_SUBMIT
]
Default value: EXPIRY_STRATEGY_UNSPECIFIED
Strategy to adopt if the expiry time is reached.
orderSubmission object
A command that submits an order to the Vega network for a given market.
Timestamp, in Unix nanoseconds, for when the order will expire. Can only be set when the order's time-in-force is GTT.
icebergOpts object
Iceberg order details. If set, the order will exist on the order book in chunks.
Minimum allowed remaining size of the order before it is replenished back to its peak size.
Size of the order that is made visible and can be traded with during the execution of a single order.
Market ID to submit the order to.
peggedOrder object
Pegged order details. If set, the order's price will be offset from a particular reference price of the order book at all times.
Offset from the price reference.
Possible values: [PEGGED_REFERENCE_UNSPECIFIED
, PEGGED_REFERENCE_MID
, PEGGED_REFERENCE_BEST_BID
, PEGGED_REFERENCE_BEST_ASK
]
Default value: PEGGED_REFERENCE_UNSPECIFIED
Price point the order is linked to.
If set, the order will only be executed if it would not trade on entry to the order book. Only valid for limit orders.
Price for the order, the price is an integer, for example 123456
is a correctly
formatted price of 1.23456
assuming market configured to 5 decimal places,
required field for limit orders, however it is not required for market orders.
This field is an unsigned integer scaled to the market's decimal places.
If set, the order will only be executed if the outcome of the trade moves the trader's position closer to 0. Only valid for non-persistent orders.
Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.
Possible values: [SIDE_UNSPECIFIED
, SIDE_BUY
, SIDE_SELL
]
Default value: SIDE_UNSPECIFIED
Which side of the order book the order is for, e.g. buy or sell.
Size for the order, for example, in a futures market the size equals the number of units.
Possible values: [TIME_IN_FORCE_UNSPECIFIED
, TIME_IN_FORCE_GTC
, TIME_IN_FORCE_GTT
, TIME_IN_FORCE_IOC
, TIME_IN_FORCE_FOK
, TIME_IN_FORCE_GFA
, TIME_IN_FORCE_GFN
]
Default value: TIME_IN_FORCE_UNSPECIFIED
Time in force indicates how long an order will remain active before it is executed or expires..
Possible values: [TYPE_UNSPECIFIED
, TYPE_LIMIT
, TYPE_MARKET
, TYPE_NETWORK
]
Default value: TYPE_UNSPECIFIED
Type of the order.
Order will be submitted if the last traded price on the market breaches the given price.
Possible values: [SIZE_OVERRIDE_SETTING_UNSPECIFIED
, SIZE_OVERRIDE_SETTING_NONE
, SIZE_OVERRIDE_SETTING_POSITION
]
Default value: SIZE_OVERRIDE_SETTING_UNSPECIFIED
sizeOverrideValue object
Order will be submitted if the last traded price has moved the given percent from the highest/lowest mark price since the stop order was submitted.
risesAbove object
Stop order that will be triggered if the price rises above a given trigger price.
Timestamp, in Unix nanoseconds, for when the stop order should expire. If not set the stop order will not expire.
Possible values: [EXPIRY_STRATEGY_UNSPECIFIED
, EXPIRY_STRATEGY_CANCELS
, EXPIRY_STRATEGY_SUBMIT
]
Default value: EXPIRY_STRATEGY_UNSPECIFIED
Strategy to adopt if the expiry time is reached.
orderSubmission object
A command that submits an order to the Vega network for a given market.
Timestamp, in Unix nanoseconds, for when the order will expire. Can only be set when the order's time-in-force is GTT.
icebergOpts object
Iceberg order details. If set, the order will exist on the order book in chunks.
Minimum allowed remaining size of the order before it is replenished back to its peak size.
Size of the order that is made visible and can be traded with during the execution of a single order.
Market ID to submit the order to.
peggedOrder object
Pegged order details. If set, the order's price will be offset from a particular reference price of the order book at all times.
Offset from the price reference.
Possible values: [PEGGED_REFERENCE_UNSPECIFIED
, PEGGED_REFERENCE_MID
, PEGGED_REFERENCE_BEST_BID
, PEGGED_REFERENCE_BEST_ASK
]
Default value: PEGGED_REFERENCE_UNSPECIFIED
Price point the order is linked to.
If set, the order will only be executed if it would not trade on entry to the order book. Only valid for limit orders.
Price for the order, the price is an integer, for example 123456
is a correctly
formatted price of 1.23456
assuming market configured to 5 decimal places,
required field for limit orders, however it is not required for market orders.
This field is an unsigned integer scaled to the market's decimal places.
If set, the order will only be executed if the outcome of the trade moves the trader's position closer to 0. Only valid for non-persistent orders.
Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.
Possible values: [SIDE_UNSPECIFIED
, SIDE_BUY
, SIDE_SELL
]
Default value: SIDE_UNSPECIFIED
Which side of the order book the order is for, e.g. buy or sell.
Size for the order, for example, in a futures market the size equals the number of units.
Possible values: [TIME_IN_FORCE_UNSPECIFIED
, TIME_IN_FORCE_GTC
, TIME_IN_FORCE_GTT
, TIME_IN_FORCE_IOC
, TIME_IN_FORCE_FOK
, TIME_IN_FORCE_GFA
, TIME_IN_FORCE_GFN
]
Default value: TIME_IN_FORCE_UNSPECIFIED
Time in force indicates how long an order will remain active before it is executed or expires..
Possible values: [TYPE_UNSPECIFIED
, TYPE_LIMIT
, TYPE_MARKET
, TYPE_NETWORK
]
Default value: TYPE_UNSPECIFIED
Type of the order.
Order will be submitted if the last traded price on the market breaches the given price.
Possible values: [SIZE_OVERRIDE_SETTING_UNSPECIFIED
, SIZE_OVERRIDE_SETTING_NONE
, SIZE_OVERRIDE_SETTING_POSITION
]
Default value: SIZE_OVERRIDE_SETTING_UNSPECIFIED
sizeOverrideValue object
Order will be submitted if the last traded price has moved the given percent from the highest/lowest mark price since the stop order was submitted.
submissions object[]
List of order submissions to be processed sequentially.
Timestamp, in Unix nanoseconds, for when the order will expire. Can only be set when the order's time-in-force is GTT.
icebergOpts object
Iceberg order details. If set, the order will exist on the order book in chunks.
Minimum allowed remaining size of the order before it is replenished back to its peak size.
Size of the order that is made visible and can be traded with during the execution of a single order.
Market ID to submit the order to.
peggedOrder object
Pegged order details. If set, the order's price will be offset from a particular reference price of the order book at all times.
Offset from the price reference.
Possible values: [PEGGED_REFERENCE_UNSPECIFIED
, PEGGED_REFERENCE_MID
, PEGGED_REFERENCE_BEST_BID
, PEGGED_REFERENCE_BEST_ASK
]
Default value: PEGGED_REFERENCE_UNSPECIFIED
Price point the order is linked to.
If set, the order will only be executed if it would not trade on entry to the order book. Only valid for limit orders.
Price for the order, the price is an integer, for example 123456
is a correctly
formatted price of 1.23456
assuming market configured to 5 decimal places,
required field for limit orders, however it is not required for market orders.
This field is an unsigned integer scaled to the market's decimal places.
If set, the order will only be executed if the outcome of the trade moves the trader's position closer to 0. Only valid for non-persistent orders.
Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.
Possible values: [SIDE_UNSPECIFIED
, SIDE_BUY
, SIDE_SELL
]
Default value: SIDE_UNSPECIFIED
Which side of the order book the order is for, e.g. buy or sell.
Size for the order, for example, in a futures market the size equals the number of units.
Possible values: [TIME_IN_FORCE_UNSPECIFIED
, TIME_IN_FORCE_GTC
, TIME_IN_FORCE_GTT
, TIME_IN_FORCE_IOC
, TIME_IN_FORCE_FOK
, TIME_IN_FORCE_GFA
, TIME_IN_FORCE_GFN
]
Default value: TIME_IN_FORCE_UNSPECIFIED
Time in force indicates how long an order will remain active before it is executed or expires..
Possible values: [TYPE_UNSPECIFIED
, TYPE_LIMIT
, TYPE_MARKET
, TYPE_NETWORK
]
Default value: TYPE_UNSPECIFIED
Type of the order.
updateMarginMode object[]
Market to change margin mode for.
Possible values: [MODE_UNSPECIFIED
, MODE_CROSS_MARGIN
, MODE_ISOLATED_MARGIN
]
Default value: MODE_UNSPECIFIED
Margin mode to use.
batchProposal object
Command that allows a token holder to submit a batch governance proposal that can be voted on by any other token holders, and eventually enacted on the Vega network. For example this command can be used to propose a new market and a network parameter change with it.
rationale object
Rationale behind a proposal.
Description to show a short title / something in case the link goes offline. This is to be between 0 and 20k unicode characters. This is mandatory for all proposals.
Title to be used to give a short description of the proposal in lists. This is to be between 0 and 100 unicode characters. This is mandatory for all proposals.
Arbitrary human-readable reference identifying the proposal.
terms object
Proposal terms containing the type and details of the proposal, as well as time spans for voting and enactment.
changes object[]
List of individual changes included in the batch proposal.
cancelTransfer object
Proposal change to cancel a governance initiated transfe.
changes object
ID of the governance transfer proposal.
Timestamp as Unix time in seconds when proposal terms gets enacted if proposal passed the vote,
constrained by minEnact
and maxEnact
network parameters.
newAsset object
Proposal change for adding a new asset.
changes object
Configuration of the new asset.
builtinAsset object
Vega built-in asset.
Maximum amount that can be requested by a party through the built-in asset faucet at a time.
Number of decimal / precision handled by this asset.
erc20 object
Ethereum ERC20 asset.
Chain ID the asset originated from.
Address of the contract for the token, on the ethereum network.
Lifetime limits deposit per address note: this is a temporary measure that can be changed by governance.
Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay. There’s no limit on the size of a withdrawal note: this is a temporary measure that can be changed by governance.
Name of the asset (e.g: Great British Pound).
Minimum economically meaningful amount in the asset.
Symbol of the asset (e.g: GBP).
Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system, and can be used to gauge community sentiment.
newMarket object
Proposal change for creating new futures market.
changes object
Configuration of the new market.
Number of allowed price levels between an AMM's fair price and its quote prices. An AMM definition that exceeds this will be rejected at submission.
Decimal places used for the new futures market, sets the smallest price increment on the book.
instrument object
New futures market instrument configuration.
Instrument code, human-readable shortcode used to describe the instrument.
future object
Future.
cap object
If set, this product creates a capped future market.
If set to true, the settlement price must either be zero, or equal to the max price.
If set to true, positions must be fully collateralised so there is no default risk for any party.
Set the maximum price for orders, and settlement data in market decimals.
dataSourceSpecBinding object
Binding between the data source spec and the settlement data.
Name of the property in the source data that should be used as settlement data. If it is set to "prices.BTC.value", then the Future will use the value of this property as settlement data.
Name of the property in the data source data that signals termination of trading.
dataSourceSpecForSettlementData object
Data source spec describing the data source for settlement.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourceSpecForTradingTermination object
The external data source spec describing the data source of trading termination.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
Product quote name.
Asset ID for the product's settlement asset.
Instrument name.
perpetual object
Perpetual.
Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].
Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].
dataSourceSpecBinding object
Binding between the data source spec and the settlement data.
Name of the property in the source data that should be used for settlement data. If it is set to "prices.BTC.value" for example, then the perpetual market will use the value of this property to get settlement data.
Name of the property in the source data that should be used to determine the perpetual's settlement schedule.
dataSourceSpecForSettlementData object
Data source spec describing the data source for settlement.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourceSpecForSettlementSchedule object
Data source spec describing the data source for settlement schedule.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
Lower bound for the funding-rate such that the funding-rate will never be lower than this value.
Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.
Upper bound for the funding-rate such that the funding-rate will never be higher than this value.
Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1].
internalCompositePriceConfiguration object
Composite price configuration to drive the calculation of the internal composite price used for funding payments. If undefined the default mark price of the market is used.
Cash amount, in asset decimals, used for the calculation of the mark price from the order book.
Possible values: [COMPOSITE_PRICE_TYPE_UNSPECIFIED
, COMPOSITE_PRICE_TYPE_WEIGHTED
, COMPOSITE_PRICE_TYPE_MEDIAN
, COMPOSITE_PRICE_TYPE_LAST_TRADE
]
Default value: COMPOSITE_PRICE_TYPE_UNSPECIFIED
Which method is used for the calculation of the composite price for the market.
dataSourcesSpec object[]
Additional price sources to be used for internal composite price calculation.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourcesSpecBinding object[]
The property name of price.
Decay power used for the calculation of mark price.
Decay weight used for calculation of mark price.
For how long a price source is considered valid. One entry for each data source such that the first is for the trade based mark price, the second is for the book based price the third is for the first oracle, followed by more oracle data source staleness tolerance.
Weights for each composite price data source.
Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].
Product quote name.
Asset ID for the product's settlement asset.
spot object
Spot.
Base asset ID.
Quote asset ID.
Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume.
liquidationStrategy object
Liquidation strategy for this market.
Fraction of the open position the market will try to close in a single attempt; range 0 through 1.
Decimal > 0 specifying the range range above and below the mid price within which the network will trade to dispose of its position. The value can be > 1. For example, if set to 1.5, the minimum price will be 0, ie max(0, mid_price * (1 - 1.5)), and the maximum price will be mid_price * (1 + 1.5).
Interval, in seconds, at which the network will attempt to close its position.
Size of the position that the network will try to close in a single attempt.
Max fraction of the total volume of the orderbook, within liquidity bounds, that the network can use to close its position; range 0 through 1.
liquidityFeeSettings object
Specifies how the liquidity fee for the market will be calculated.
Constant liquidity fee used when using the constant fee method.
Possible values: [METHOD_UNSPECIFIED
, METHOD_MARGINAL_COST
, METHOD_WEIGHTED_AVERAGE
, METHOD_CONSTANT
]
Default value: METHOD_UNSPECIFIED
Method used to calculate the market's liquidity fee.
liquidityMonitoringParameters object
Liquidity monitoring parameters.
Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction.
targetStakeParameters object
Specifies parameters related to target stake calculation.
Specifies scaling factors used in target stake calculation.
Specifies length of time window expressed in seconds for target stake calculation.
Specifies the triggering ratio for entering liquidity auction.
liquiditySlaParameters object
Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.
Specifies the number of liquidity epochs over which past performance will continue to affect rewards.
Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers that achieved a higher SLA performance than them.
logNormal object
Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.
params object
Risk model parameters for log normal.
Mu parameter, annualised growth rate of the underlying asset.
R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.
Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.
Risk Aversion Parameter.
riskFactorOverride object
And optional override for the risk factor calculated by the risk model.
Long Risk factor value.
Short Risk factor value.
Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall calculation to obtain the maintenance margin, must be a strictly non-negative real number.
DEPRECATED: Use liquidity SLA parameters instead. Percentage move up and down from the mid price which specifies the range of price levels over which automated liquidity provisions will be deployed.
markPriceConfiguration object
Mark price configuration.
Cash amount, in asset decimals, used for the calculation of the mark price from the order book.
Possible values: [COMPOSITE_PRICE_TYPE_UNSPECIFIED
, COMPOSITE_PRICE_TYPE_WEIGHTED
, COMPOSITE_PRICE_TYPE_MEDIAN
, COMPOSITE_PRICE_TYPE_LAST_TRADE
]
Default value: COMPOSITE_PRICE_TYPE_UNSPECIFIED
Which method is used for the calculation of the composite price for the market.
dataSourcesSpec object[]
Additional price sources to be used for internal composite price calculation.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourcesSpecBinding object[]
The property name of price.
Decay power used for the calculation of mark price.
Decay weight used for calculation of mark price.
For how long a price source is considered valid. One entry for each data source such that the first is for the trade based mark price, the second is for the book based price the third is for the first oracle, followed by more oracle data source staleness tolerance.
Weights for each composite price data source.
Optional new futures market metadata, tags.
Decimal places for order sizes, sets what size the smallest order / position on the futures market can be.
priceMonitoringParameters object
Price monitoring parameters.
triggers object[]
Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.
Price monitoring projection horizon τ in seconds.
Price monitoring probability level p.
Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume.
simple object
Simple risk model parameters, valid only if MODEL_SIMPLE is selected.
Pre-defined risk factor value for long.
Pre-defined risk factor value for short.
Pre-defined maximum price move up that the model considers as valid.
Pre-defined minimum price move down that the model considers as valid.
Pre-defined constant probability of trading.
successor object
Successor configuration. If this proposal is meant to succeed a given market, then this should be set.
A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor.
ID of the market that the successor should take over from.
newProtocolAutomatedPurchase object
changes object
auctionSchedule object
Represents the top level object that handles data sources. Data source definition can be external or internal, with whatever number of data sources are defined for each type in the child objects below.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
auctionVolumeSnapshotSchedule object
Represents the top level object that handles data sources. Data source definition can be external or internal, with whatever number of data sources are defined for each type in the child objects below.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
automatedPurchaseSpecBinding object
Describes which properties of the data source data are to be used for automated purchase.
Name of the property in the source data that should be used to determine the automated purchase schedule.
Name of the property in the source data that should be used to determine the schedule of the automated purchase auction.
Timestamp in Unix seconds, when the automated purchase is stopped. If an auction is in action it will be removed when the auction is finished.
Possible values: [ACCOUNT_TYPE_UNSPECIFIED
, ACCOUNT_TYPE_INSURANCE
, ACCOUNT_TYPE_SETTLEMENT
, ACCOUNT_TYPE_MARGIN
, ACCOUNT_TYPE_GENERAL
, ACCOUNT_TYPE_FEES_INFRASTRUCTURE
, ACCOUNT_TYPE_FEES_LIQUIDITY
, ACCOUNT_TYPE_FEES_MAKER
, ACCOUNT_TYPE_BOND
, ACCOUNT_TYPE_EXTERNAL
, ACCOUNT_TYPE_GLOBAL_INSURANCE
, ACCOUNT_TYPE_GLOBAL_REWARD
, ACCOUNT_TYPE_PENDING_TRANSFERS
, ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES
, ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES
, ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES
, ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS
, ACCOUNT_TYPE_HOLDING
, ACCOUNT_TYPE_LP_LIQUIDITY_FEES
, ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION
, ACCOUNT_TYPE_NETWORK_TREASURY
, ACCOUNT_TYPE_VESTING_REWARDS
, ACCOUNT_TYPE_VESTED_REWARDS
, ACCOUNT_TYPE_REWARD_RELATIVE_RETURN
, ACCOUNT_TYPE_REWARD_RETURN_VOLATILITY
, ACCOUNT_TYPE_REWARD_VALIDATOR_RANKING
, ACCOUNT_TYPE_PENDING_FEE_REFERRAL_REWARD
, ACCOUNT_TYPE_ORDER_MARGIN
, ACCOUNT_TYPE_REWARD_REALISED_RETURN
, ACCOUNT_TYPE_BUY_BACK_FEES
, ACCOUNT_TYPE_REWARD_AVERAGE_NOTIONAL
, ACCOUNT_TYPE_REWARD_ELIGIBLE_ENTITIES
, ACCOUNT_TYPE_LOCKED_FOR_STAKING
]
Default value: ACCOUNT_TYPE_UNSPECIFIED
Margin account funds will vary as margin requirements on positions change
General accounts are where funds are initially deposited or withdrawn from, it is also the account where funds are taken to fulfil fees and initial margin requirements
Maximum number of tokens to be sold (specified in asset decimals). If more than this are available in the account at the last snapshot before auction, this maximum value will be used instead, and the remainder will be rolled over to the next scheduled auction.
Minimum number of tokens to be sold (specified in asset decimals). If less than this are available in the account at the last snapshot before auction, no auction will occur and the balance will roll over to the next scheduled auction.
priceOracle object
Represents the top level object that handles data sources. Data source definition can be external or internal, with whatever number of data sources are defined for each type in the child objects below.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
priceOracleSpecBinding object
Describes which property of the data source data is to be used for price source.
The property name of price.
Possible values: [ACCOUNT_TYPE_UNSPECIFIED
, ACCOUNT_TYPE_INSURANCE
, ACCOUNT_TYPE_SETTLEMENT
, ACCOUNT_TYPE_MARGIN
, ACCOUNT_TYPE_GENERAL
, ACCOUNT_TYPE_FEES_INFRASTRUCTURE
, ACCOUNT_TYPE_FEES_LIQUIDITY
, ACCOUNT_TYPE_FEES_MAKER
, ACCOUNT_TYPE_BOND
, ACCOUNT_TYPE_EXTERNAL
, ACCOUNT_TYPE_GLOBAL_INSURANCE
, ACCOUNT_TYPE_GLOBAL_REWARD
, ACCOUNT_TYPE_PENDING_TRANSFERS
, ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES
, ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES
, ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES
, ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS
, ACCOUNT_TYPE_HOLDING
, ACCOUNT_TYPE_LP_LIQUIDITY_FEES
, ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION
, ACCOUNT_TYPE_NETWORK_TREASURY
, ACCOUNT_TYPE_VESTING_REWARDS
, ACCOUNT_TYPE_VESTED_REWARDS
, ACCOUNT_TYPE_REWARD_RELATIVE_RETURN
, ACCOUNT_TYPE_REWARD_RETURN_VOLATILITY
, ACCOUNT_TYPE_REWARD_VALIDATOR_RANKING
, ACCOUNT_TYPE_PENDING_FEE_REFERRAL_REWARD
, ACCOUNT_TYPE_ORDER_MARGIN
, ACCOUNT_TYPE_REWARD_REALISED_RETURN
, ACCOUNT_TYPE_BUY_BACK_FEES
, ACCOUNT_TYPE_REWARD_AVERAGE_NOTIONAL
, ACCOUNT_TYPE_REWARD_ELIGIBLE_ENTITIES
, ACCOUNT_TYPE_LOCKED_FOR_STAKING
]
Default value: ACCOUNT_TYPE_UNSPECIFIED
Margin account funds will vary as margin requirements on positions change
General accounts are where funds are initially deposited or withdrawn from, it is also the account where funds are taken to fulfil fees and initial margin requirements
newSpotMarket object
Proposal change for creating new spot market.
changes object
Configuration of the new spot market.
instrument object
New spot market instrument configuration.
Instrument code, human-readable shortcode used to describe the instrument.
future object
Future.
cap object
If set, this product creates a capped future market.
If set to true, the settlement price must either be zero, or equal to the max price.
If set to true, positions must be fully collateralised so there is no default risk for any party.
Set the maximum price for orders, and settlement data in market decimals.
dataSourceSpecBinding object
Binding between the data source spec and the settlement data.
Name of the property in the source data that should be used as settlement data. If it is set to "prices.BTC.value", then the Future will use the value of this property as settlement data.
Name of the property in the data source data that signals termination of trading.
dataSourceSpecForSettlementData object
Data source spec describing the data source for settlement.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourceSpecForTradingTermination object
The external data source spec describing the data source of trading termination.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
Product quote name.
Asset ID for the product's settlement asset.
Instrument name.
perpetual object
Perpetual.
Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].
Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].
dataSourceSpecBinding object
Binding between the data source spec and the settlement data.
Name of the property in the source data that should be used for settlement data. If it is set to "prices.BTC.value" for example, then the perpetual market will use the value of this property to get settlement data.
Name of the property in the source data that should be used to determine the perpetual's settlement schedule.
dataSourceSpecForSettlementData object
Data source spec describing the data source for settlement.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourceSpecForSettlementSchedule object
Data source spec describing the data source for settlement schedule.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
Lower bound for the funding-rate such that the funding-rate will never be lower than this value.
Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.
Upper bound for the funding-rate such that the funding-rate will never be higher than this value.
Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1].
internalCompositePriceConfiguration object
Composite price configuration to drive the calculation of the internal composite price used for funding payments. If undefined the default mark price of the market is used.
Cash amount, in asset decimals, used for the calculation of the mark price from the order book.
Possible values: [COMPOSITE_PRICE_TYPE_UNSPECIFIED
, COMPOSITE_PRICE_TYPE_WEIGHTED
, COMPOSITE_PRICE_TYPE_MEDIAN
, COMPOSITE_PRICE_TYPE_LAST_TRADE
]
Default value: COMPOSITE_PRICE_TYPE_UNSPECIFIED
Which method is used for the calculation of the composite price for the market.
dataSourcesSpec object[]
Additional price sources to be used for internal composite price calculation.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourcesSpecBinding object[]
The property name of price.
Decay power used for the calculation of mark price.
Decay weight used for calculation of mark price.
For how long a price source is considered valid. One entry for each data source such that the first is for the trade based mark price, the second is for the book based price the third is for the first oracle, followed by more oracle data source staleness tolerance.
Weights for each composite price data source.
Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].
Product quote name.
Asset ID for the product's settlement asset.
spot object
Spot.
Base asset ID.
Quote asset ID.
liquidityFeeSettings object
Specifies how the liquidity fee for the market will be calculated.
Constant liquidity fee used when using the constant fee method.
Possible values: [METHOD_UNSPECIFIED
, METHOD_MARGINAL_COST
, METHOD_WEIGHTED_AVERAGE
, METHOD_CONSTANT
]
Default value: METHOD_UNSPECIFIED
Method used to calculate the market's liquidity fee.
logNormal object
Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.
params object
Risk model parameters for log normal.
Mu parameter, annualised growth rate of the underlying asset.
R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.
Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.
Risk Aversion Parameter.
riskFactorOverride object
And optional override for the risk factor calculated by the risk model.
Long Risk factor value.
Short Risk factor value.
Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall calculation to obtain the maintenance margin, must be a strictly non-negative real number.
Optional new spot market metadata, tags.
Decimal places used for the new spot market, sets the smallest price increment on the book.
priceMonitoringParameters object
Price monitoring parameters.
triggers object[]
Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.
Price monitoring projection horizon τ in seconds.
Price monitoring probability level p.
simple object
Simple risk model parameters, valid only if MODEL_SIMPLE is selected.
Pre-defined risk factor value for long.
Pre-defined risk factor value for short.
Pre-defined maximum price move up that the model considers as valid.
Pre-defined minimum price move down that the model considers as valid.
Pre-defined constant probability of trading.
Decimal places for order sizes, sets what size the smallest order / position on the spot market can be.
slaParams object
Specifies the liquidity provision SLA parameters.
Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.
Specifies the number of liquidity epochs over which past performance will continue to affect rewards.
Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers that achieved a higher SLA performance than them.
targetStakeParameters object
Specifies parameters related to target stake calculation.
Specifies scaling factors used in target stake calculation.
Specifies length of time window expressed in seconds for target stake calculation.
newTransfer object
Proposal change for a governance initiated transfer.
changes object
Configuration for a new transfer.
Possible values: [ACCOUNT_TYPE_UNSPECIFIED
, ACCOUNT_TYPE_INSURANCE
, ACCOUNT_TYPE_SETTLEMENT
, ACCOUNT_TYPE_MARGIN
, ACCOUNT_TYPE_GENERAL
, ACCOUNT_TYPE_FEES_INFRASTRUCTURE
, ACCOUNT_TYPE_FEES_LIQUIDITY
, ACCOUNT_TYPE_FEES_MAKER
, ACCOUNT_TYPE_BOND
, ACCOUNT_TYPE_EXTERNAL
, ACCOUNT_TYPE_GLOBAL_INSURANCE
, ACCOUNT_TYPE_GLOBAL_REWARD
, ACCOUNT_TYPE_PENDING_TRANSFERS
, ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES
, ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES
, ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES
, ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS
, ACCOUNT_TYPE_HOLDING
, ACCOUNT_TYPE_LP_LIQUIDITY_FEES
, ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION
, ACCOUNT_TYPE_NETWORK_TREASURY
, ACCOUNT_TYPE_VESTING_REWARDS
, ACCOUNT_TYPE_VESTED_REWARDS
, ACCOUNT_TYPE_REWARD_RELATIVE_RETURN
, ACCOUNT_TYPE_REWARD_RETURN_VOLATILITY
, ACCOUNT_TYPE_REWARD_VALIDATOR_RANKING
, ACCOUNT_TYPE_PENDING_FEE_REFERRAL_REWARD
, ACCOUNT_TYPE_ORDER_MARGIN
, ACCOUNT_TYPE_REWARD_REALISED_RETURN
, ACCOUNT_TYPE_BUY_BACK_FEES
, ACCOUNT_TYPE_REWARD_AVERAGE_NOTIONAL
, ACCOUNT_TYPE_REWARD_ELIGIBLE_ENTITIES
, ACCOUNT_TYPE_LOCKED_FOR_STAKING
]
Default value: ACCOUNT_TYPE_UNSPECIFIED
Margin account funds will vary as margin requirements on positions change
General accounts are where funds are initially deposited or withdrawn from, it is also the account where funds are taken to fulfil fees and initial margin requirements
oneOff object
Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account.
recurring object
dispatchStrategy object
Optional parameter defining how a transfer is dispatched.
Asset to use for metric.
If set, the actual amount of rewards transferred to each public key during distribution for this transfer will be `min(calculated_reward_in_quantum, cap_reward_fee_multiple × fees_paid_this_epoch_in_quantum).
Possible values: [DISTRIBUTION_STRATEGY_UNSPECIFIED
, DISTRIBUTION_STRATEGY_PRO_RATA
, DISTRIBUTION_STRATEGY_RANK
, DISTRIBUTION_STRATEGY_RANK_LOTTERY
]
Default value: DISTRIBUTION_STRATEGY_UNSPECIFIED
A list of party keys to constrain the potential receivers of a reward transfer.
Possible values: [ENTITY_SCOPE_UNSPECIFIED
, ENTITY_SCOPE_INDIVIDUALS
, ENTITY_SCOPE_TEAMS
]
Default value: ENTITY_SCOPE_UNSPECIFIED
Mandatory enum that defines the entities within scope.
Possible values: [INDIVIDUAL_SCOPE_UNSPECIFIED
, INDIVIDUAL_SCOPE_ALL
, INDIVIDUAL_SCOPE_IN_TEAM
, INDIVIDUAL_SCOPE_NOT_IN_TEAM
, INDIVIDUAL_SCOPE_AMM
]
Default value: INDIVIDUAL_SCOPE_UNSPECIFIED
Optional enum if the entity scope defined is for individuals, which determines the subset of individuals that are eligible to be rewarded.
Optional markets in scope.
Possible values: [DISPATCH_METRIC_UNSPECIFIED
, DISPATCH_METRIC_MAKER_FEES_PAID
, DISPATCH_METRIC_MAKER_FEES_RECEIVED
, DISPATCH_METRIC_LP_FEES_RECEIVED
, DISPATCH_METRIC_MARKET_VALUE
, DISPATCH_METRIC_RELATIVE_RETURN
, DISPATCH_METRIC_RETURN_VOLATILITY
, DISPATCH_METRIC_VALIDATOR_RANKING
, DISPATCH_METRIC_REALISED_RETURN
, DISPATCH_METRIC_AVERAGE_NOTIONAL
, DISPATCH_METRIC_ELIGIBLE_ENTITIES
]
Default value: DISPATCH_METRIC_UNSPECIFIED
Metric to apply.
rankTable object[]
Ordered list, using start rank, defining the rank bands and share ratio for each band. Mandatory for the rank and rank lottery distribution strategies.
Number of epochs between transfers, i.e. when 4, funds will be transferred every 4 epochs with the first transfer occurring 4 epochs after the transaction is processed.
Last epoch at which this transfer shall be paid.
Factor that the initial transfer amount is multiplied by for each epoch that it is executed. For example if the initial transfer amount is 1000 and the factor is 0.5, then the amounts transferred per epoch will be 1000, 500, 250, 125, etc.
Possible values: [ACCOUNT_TYPE_UNSPECIFIED
, ACCOUNT_TYPE_INSURANCE
, ACCOUNT_TYPE_SETTLEMENT
, ACCOUNT_TYPE_MARGIN
, ACCOUNT_TYPE_GENERAL
, ACCOUNT_TYPE_FEES_INFRASTRUCTURE
, ACCOUNT_TYPE_FEES_LIQUIDITY
, ACCOUNT_TYPE_FEES_MAKER
, ACCOUNT_TYPE_BOND
, ACCOUNT_TYPE_EXTERNAL
, ACCOUNT_TYPE_GLOBAL_INSURANCE
, ACCOUNT_TYPE_GLOBAL_REWARD
, ACCOUNT_TYPE_PENDING_TRANSFERS
, ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES
, ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES
, ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES
, ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS
, ACCOUNT_TYPE_HOLDING
, ACCOUNT_TYPE_LP_LIQUIDITY_FEES
, ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION
, ACCOUNT_TYPE_NETWORK_TREASURY
, ACCOUNT_TYPE_VESTING_REWARDS
, ACCOUNT_TYPE_VESTED_REWARDS
, ACCOUNT_TYPE_REWARD_RELATIVE_RETURN
, ACCOUNT_TYPE_REWARD_RETURN_VOLATILITY
, ACCOUNT_TYPE_REWARD_VALIDATOR_RANKING
, ACCOUNT_TYPE_PENDING_FEE_REFERRAL_REWARD
, ACCOUNT_TYPE_ORDER_MARGIN
, ACCOUNT_TYPE_REWARD_REALISED_RETURN
, ACCOUNT_TYPE_BUY_BACK_FEES
, ACCOUNT_TYPE_REWARD_AVERAGE_NOTIONAL
, ACCOUNT_TYPE_REWARD_ELIGIBLE_ENTITIES
, ACCOUNT_TYPE_LOCKED_FOR_STAKING
]
Default value: ACCOUNT_TYPE_UNSPECIFIED
Margin account funds will vary as margin requirements on positions change
General accounts are where funds are initially deposited or withdrawn from, it is also the account where funds are taken to fulfil fees and initial margin requirements
Possible values: [GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED
, GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING
, GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT
]
Default value: GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED
updateAsset object
Proposal change for updating an asset.
Asset ID the update is for.
changes object
Changes to apply on an existing asset.
erc20 object
Ethereum ERC20 asset update.
Lifetime limits deposit per address. This will be interpreted against the asset decimals. note: this is a temporary measure that can be changed by governance.
Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay. There’s no limit on the size of a withdrawal note: this is a temporary measure that can be changed by governance.
Minimum economically meaningful amount in the asset.
updateMarket object
Proposal change for modifying an existing futures market.
changes object
Updated configuration of the futures market.
Number of allowed price levels between an AMM's fair price and its quote prices. An AMM definition that exceeds this will be rejected at submission.
instrument object
Updated futures market instrument configuration.
Instrument code, human-readable shortcode used to describe the instrument.
future object
Future.
dataSourceSpecBinding object
The binding between the data source spec and the settlement data.
Name of the property in the source data that should be used as settlement data. If it is set to "prices.BTC.value", then the Future will use the value of this property as settlement data.
Name of the property in the data source data that signals termination of trading.
dataSourceSpecForSettlementData object
Represents the top level object that handles data sources. Data source definition can be external or internal, with whatever number of data sources are defined for each type in the child objects below.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourceSpecForTradingTermination object
Represents the top level object that handles data sources. Data source definition can be external or internal, with whatever number of data sources are defined for each type in the child objects below.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
Human-readable name/abbreviation of the quote name.
perpetual object
Perpetual.
Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].
Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].
dataSourceSpecBinding object
Binding between the data source spec and the settlement data.
Name of the property in the source data that should be used for settlement data. If it is set to "prices.BTC.value" for example, then the perpetual market will use the value of this property to get settlement data.
Name of the property in the source data that should be used to determine the perpetual's settlement schedule.
dataSourceSpecForSettlementData object
Represents the top level object that handles data sources. Data source definition can be external or internal, with whatever number of data sources are defined for each type in the child objects below.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourceSpecForSettlementSchedule object
Represents the top level object that handles data sources. Data source definition can be external or internal, with whatever number of data sources are defined for each type in the child objects below.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
Lower bound for the funding-rate such that the funding-rate will never be lower than this value.
Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.
Upper bound for the funding-rate such that the funding-rate will never be higher than this value.
Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1].
internalCompositePriceConfiguration object
Configuration for the internal composite price used in funding payment calculation.
Cash amount, in asset decimals, used for the calculation of the mark price from the order book.
Possible values: [COMPOSITE_PRICE_TYPE_UNSPECIFIED
, COMPOSITE_PRICE_TYPE_WEIGHTED
, COMPOSITE_PRICE_TYPE_MEDIAN
, COMPOSITE_PRICE_TYPE_LAST_TRADE
]
Default value: COMPOSITE_PRICE_TYPE_UNSPECIFIED
Which method is used for the calculation of the composite price for the market.
dataSourcesSpec object[]
Additional price sources to be used for internal composite price calculation.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourcesSpecBinding object[]
The property name of price.
Decay power used for the calculation of mark price.
Decay weight used for calculation of mark price.
For how long a price source is considered valid. One entry for each data source such that the first is for the trade based mark price, the second is for the book based price the third is for the first oracle, followed by more oracle data source staleness tolerance.
Weights for each composite price data source.
Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].
Human-readable name/abbreviation of the quote name.
Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume.
liquidationStrategy object
Liquidation strategy used when the network holds a position resulting from position resolution.
Fraction of the open position the market will try to close in a single attempt; range 0 through 1.
Decimal > 0 specifying the range range above and below the mid price within which the network will trade to dispose of its position. The value can be > 1. For example, if set to 1.5, the minimum price will be 0, ie max(0, mid_price * (1 - 1.5)), and the maximum price will be mid_price * (1 + 1.5).
Interval, in seconds, at which the network will attempt to close its position.
Size of the position that the network will try to close in a single attempt.
Max fraction of the total volume of the orderbook, within liquidity bounds, that the network can use to close its position; range 0 through 1.
liquidityFeeSettings object
Specifies how the liquidity fee for the market will be calculated.
Constant liquidity fee used when using the constant fee method.
Possible values: [METHOD_UNSPECIFIED
, METHOD_MARGINAL_COST
, METHOD_WEIGHTED_AVERAGE
, METHOD_CONSTANT
]
Default value: METHOD_UNSPECIFIED
Method used to calculate the market's liquidity fee.
liquidityMonitoringParameters object
Liquidity monitoring parameters.
Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction.
targetStakeParameters object
Specifies parameters related to target stake calculation.
Specifies scaling factors used in target stake calculation.
Specifies length of time window expressed in seconds for target stake calculation.
Specifies the triggering ratio for entering liquidity auction.
liquiditySlaParameters object
Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.
Specifies the number of liquidity epochs over which past performance will continue to affect rewards.
Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers that achieved a higher SLA performance than them.
logNormal object
Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.
params object
Risk model parameters for log normal.
Mu parameter, annualised growth rate of the underlying asset.
R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.
Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.
Risk Aversion Parameter.
riskFactorOverride object
And optional override for the risk factor calculated by the risk model.
Long Risk factor value.
Short Risk factor value.
Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall calculation to obtain the maintenance margin, must be a strictly non-negative real number.
DEPRECATED: Use liquidity SLA parameters instead. Percentage move up and down from the mid price which specifies the range of price levels over which automated liquidity provisions will be deployed.
markPriceConfiguration object
Mark price configuration.
Cash amount, in asset decimals, used for the calculation of the mark price from the order book.
Possible values: [COMPOSITE_PRICE_TYPE_UNSPECIFIED
, COMPOSITE_PRICE_TYPE_WEIGHTED
, COMPOSITE_PRICE_TYPE_MEDIAN
, COMPOSITE_PRICE_TYPE_LAST_TRADE
]
Default value: COMPOSITE_PRICE_TYPE_UNSPECIFIED
Which method is used for the calculation of the composite price for the market.
dataSourcesSpec object[]
Additional price sources to be used for internal composite price calculation.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourcesSpecBinding object[]
The property name of price.
Decay power used for the calculation of mark price.
Decay weight used for calculation of mark price.
For how long a price source is considered valid. One entry for each data source such that the first is for the trade based mark price, the second is for the book based price the third is for the first oracle, followed by more oracle data source staleness tolerance.
Weights for each composite price data source.
Optional futures market metadata, tags.
priceMonitoringParameters object
Price monitoring parameters.
triggers object[]
Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.
Price monitoring projection horizon τ in seconds.
Price monitoring probability level p.
Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume.
simple object
Simple risk model parameters, valid only if MODEL_SIMPLE is selected.
Pre-defined risk factor value for long.
Pre-defined risk factor value for short.
Pre-defined maximum price move up that the model considers as valid.
Pre-defined minimum price move down that the model considers as valid.
Pre-defined constant probability of trading.
Market ID the update is for.
updateMarketState object
Proposal change for updating the state of a market.
changes object
Possible values: [MARKET_STATE_UPDATE_TYPE_UNSPECIFIED
, MARKET_STATE_UPDATE_TYPE_TERMINATE
, MARKET_STATE_UPDATE_TYPE_SUSPEND
, MARKET_STATE_UPDATE_TYPE_RESUME
]
Default value: MARKET_STATE_UPDATE_TYPE_UNSPECIFIED
updateNetworkParameter object
Proposal change for updating Vega network parameters.
changes object
The network parameter to update.
Unique key of the network parameter.
Value for the network parameter.
updateReferralProgram object
Proposal change for updating the referral program.
changes object
Configuration for change to update a referral program.
benefitTiers object[]
Defined benefit tiers in increasing order. First element will give Tier 1, second element will give Tier 2, and so on. Determines the level of benefit a party can expect based on performance criteria.
Required number of epochs a party must have been in a referral set to access this tier.
Required running notional taker volume in quantum units for parties to access this tier.
referralDiscountFactors object
Referral discount factors for the various fees.
Proportion of the referee's infrastructure fee to be discounted.
Proportion of the referee's liquidity fee to be discounted.
Proportion of the referee's maker fee to be discounted.
referralRewardFactors object
Proportion of the referee's fees to be rewarded to the referrer.
Proportion of the referee's infrastructure fees to be rewarded to the referrer.
Proportion of the referee's liquidity fees to be rewarded to the referrer.
Proportion of the maker fees to be rewarded.
The tier number. It's set by the core, and used in the party fee stats API.
Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled.
stakingTiers object[]
Defined staking tiers in increasing order. First element will give Tier 1, second element will give Tier 2, and so on. Determines the level of benefit a party can expect based on their staking.
Required number of governance tokens ($VEGA) a referrer must have staked to receive the multiplier.
Multiplier applied to the referral reward factor when calculating referral rewards due to the referrer.
Number of epochs over which to evaluate a referral set's running volume.
updateSpotMarket object
Proposal change for modifying an existing spot market.
changes object
Updated configuration of the spot market.
instrument object
Specifies the name and code of the spot instrument.
Instrument code, human-readable shortcode used to describe the instrument.
liquidityFeeSettings object
Specifies how the liquidity fee for the market will be calculated.
Constant liquidity fee used when using the constant fee method.
Possible values: [METHOD_UNSPECIFIED
, METHOD_MARGINAL_COST
, METHOD_WEIGHTED_AVERAGE
, METHOD_CONSTANT
]
Default value: METHOD_UNSPECIFIED
Method used to calculate the market's liquidity fee.
logNormal object
Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.
params object
Risk model parameters for log normal.
Mu parameter, annualised growth rate of the underlying asset.
R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.
Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.
Risk Aversion Parameter.
riskFactorOverride object
And optional override for the risk factor calculated by the risk model.
Long Risk factor value.
Short Risk factor value.
Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall calculation to obtain the maintenance margin, must be a strictly non-negative real number.
Optional spot market metadata, tags.
priceMonitoringParameters object
Price monitoring parameters.
triggers object[]
Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.
Price monitoring projection horizon τ in seconds.
Price monitoring probability level p.
simple object
Simple risk model parameters, valid only if MODEL_SIMPLE is selected.
Pre-defined risk factor value for long.
Pre-defined risk factor value for short.
Pre-defined maximum price move up that the model considers as valid.
Pre-defined minimum price move down that the model considers as valid.
Pre-defined constant probability of trading.
slaParams object
Specifies the liquidity provision SLA parameters.
Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.
Specifies the number of liquidity epochs over which past performance will continue to affect rewards.
Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers that achieved a higher SLA performance than them.
targetStakeParameters object
Specifies parameters related to target stake calculation.
Specifies scaling factors used in target stake calculation.
Specifies length of time window expressed in seconds for target stake calculation.
Market ID the update is for.
updateVolumeDiscountProgram object
Proposal change for updating the volume discount program.
changes object
benefitTiers object[]
Defined benefit tiers in increasing order. First element will give Tier 1, second element will give Tier 2, and so on. Determines the level of benefit a party can expect based on performance criteria.
Required running notional taker volume in quantum units for parties to access this tier.
The tier number. It's set by the core, and used in the party fee stats API.
volumeDiscountFactors object
Proportion of the taker fees to be discounted.
Proportion of the referee's infrastructure fee to be discounted.
Proportion of the referee's liquidity fee to be discounted.
Proportion of the referee's maker fee to be discounted.
Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled.
Number of epochs over which to evaluate a referral set's running volume.
updateVolumeRebateProgram object
Proposal change for updating the volume rebate program.
changes object
benefitTiers object[]
Defined benefit tiers in increasing order. First element will give Tier 1, second element will give Tier 2, and so on. Determines the level of benefit a party can expect based on performance criteria.
Additional rebate factor, based on the 'trade value for fee purposes', that a party at this tier will receive when they are the maker side of a trade.
Fraction of a party's maker volume required for a party to access this tier.
The tier number. It's set by the core, and used in the party fee stats API.
Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled.
Number of epochs over which to evaluate a referral set's running volume.
Validation timestamp as Unix time in seconds.
Closing timestamp in Unix time; adheres to minClose
and maxClose
limits.
cancelAmm object
Command to cancel an automated market maker for a given market.
Market ID to cancel an AMM for.
Possible values: [METHOD_UNSPECIFIED
, METHOD_IMMEDIATE
, METHOD_REDUCE_ONLY
]
Default value: METHOD_UNSPECIFIED
Method to use to cancel the AMM.
cancelTransfer object
Command that can be used by the party that initiated a transfer to instruct the network to stop an active recurring transaction.
Transfer ID of the transfer to cancel.
createReferralSet object
Command that a party can use to instruct the network to create a new referral set on the network. The submitter of this command will become the referrer of the new set and cannot be the referrer or a referee of another set. A referrer can use the referral set ID as a referral code to attract others to the Vega network and have fees reduced for the referral set.
Should a referral set be created as well or only a team. the default is false so the existing behaviour is kept if older versions of the protobufs are used.
Whether or not the referral set should be considered a team that can participate in team games on the network.
team object
Team details, if the referral set is to be considered a team.
List of public keys that are allowed to join the team. Only applicable to closed teams. Removing a party from the allow list does not remove the party from the team.
External link to an avatar for the team.
Whether or not the team is closed to new party members.
Name of the team.
External link to the team's homepage.
delegateSubmission object
Command to allow a token holder to delegate their tokens to a validator to help secure the network. A token holder delegating to a validator will earn rewards based on the amount they have delegated, and the performance of the chosen validator.
Amount of stake to delegate, as an unsigned integer scaled to the governance asset's decimal places.
Node ID to delegate stake to.
ethereumKeyRotateSubmission object
A validator command sent manually that allows a node operator to indicate to the network that their node's Ethereum key will be rotated.
Ethereum address of the node's current Ethereum keys.
ethereumSignature object
Signature signed by the new Ethereum key that can be verified to prove ownership.
Algorithm used to create the signature.
Hex encoded bytes of the signature.
Version of the algorithm used to create the signature.
Ethereum address that is being rotated to.
Ethereum public key to use as a submitter to allow automatic signature generation.
Block height at which the key rotation will take effect.
failure object
errors object[]
Map of the detailed errors, if any.
The errors mapped to this key.
The key.
issueSignatures object
Command that can be used by a validator to instruct the network to generate signatures to add or remove validators from the multisig-control contract. Signatures can only be generated for validator nodes that have been promoted or demoted from the consensus validator set, and any attempt to generate signatures for another node will be rejected. The generated signatures can only be submitted to the contract by the Ethereum addresses included in the command.
Chain ID of the bridge to generate signatures for.
Possible values: [NODE_SIGNATURE_KIND_UNSPECIFIED
, NODE_SIGNATURE_KIND_ASSET_NEW
, NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL
, NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED
, NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED
, NODE_SIGNATURE_KIND_ASSET_UPDATE
]
Default value: NODE_SIGNATURE_KIND_UNSPECIFIED
What kind of signatures to generate, namely for whether a signer is being added or removed.
Ethereum address which will submit the signatures to the smart contract.
Node ID of the validator node that will be signed in or out of the smart contract.
joinTeam object
Command that allows the submitter to join a team or change teams if they are already a member of a team.
ID of the team to join, this is the same as the referral code used to generate the team.
keyRotateSubmission object
A validator command sent manually that allows a node operator to indicate to the network that their node's Vega key will be rotated.
Hash of the node's current Vega public key.
Vega public key that would be rotated to.
New Vega public key derivation index.
Block height at which the key rotation will take effect.
liquidityProvisionAmendment object
Command that allows a liquidity provider to update the details of their existing liquidity commitment. Any field that is left unset or as a default value indicates that this field on the original submission will be left unchanged.
New commitment amount.
New nominated liquidity fee factor.
Market that the submitter wants to amend the liquidity commitment for.
New arbitrary reference to be added to every order created out of this liquidity provision submission.
liquidityProvisionCancellation object
Command that allows a liquidity provider to inform the network that they will stop providing liquidity for a market.
Market that the submitter will stop providing liquidity for.
liquidityProvisionSubmission object
A command that indicates to the network the party's intention to supply liquidity to the given market and become a liquidity provider. An active liquidity provider for a market will earn fees based on the trades that occur in the market.
Amount that the submitter will commit as liquidity to the market, specified as a unitless number in the settlement asset of the market. This field is an unsigned integer scaled using the asset's decimal places.
Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers.
Market that the submitter wishes to provide liquidity for.
Arbitrary reference to be added to every order created out of this liquidity provision submission.
oracleDataSubmission object
Data provided by the data source.
Possible values: [ORACLE_SOURCE_UNSPECIFIED
, ORACLE_SOURCE_OPEN_ORACLE
, ORACLE_SOURCE_JSON
, ORACLE_SOURCE_ETHEREUM
]
Default value: ORACLE_SOURCE_UNSPECIFIED
Source from which the data is coming from.
orderAmendment object
A command that allows a party to update the details of an existing order. Any field that is left unset or as a default value indicates that this field on the original order will be left unchanged. It is not possible to change an order's type through this command.
Timestamp, in Unix nanoseconds, for the new expiry time for the order.
Market ID that the order was originally submitted to.
ID of the order to amend.
New pegged offset for the order. This field is an unsigned integer scaled to the market's decimal places.
Possible values: [PEGGED_REFERENCE_UNSPECIFIED
, PEGGED_REFERENCE_MID
, PEGGED_REFERENCE_BEST_BID
, PEGGED_REFERENCE_BEST_ASK
]
Default value: PEGGED_REFERENCE_UNSPECIFIED
New pegged reference for the order.
New price for the order. This field is an unsigned integer scaled to the market's decimal places.
New size for the order. Amending the size causes the size and remaining part of the order to be changed by the difference between the original and amended size.
Amend the size for the order by the delta specified:
Possible values: [TIME_IN_FORCE_UNSPECIFIED
, TIME_IN_FORCE_GTC
, TIME_IN_FORCE_GTT
, TIME_IN_FORCE_IOC
, TIME_IN_FORCE_FOK
, TIME_IN_FORCE_GFA
, TIME_IN_FORCE_GFN
]
Default value: TIME_IN_FORCE_UNSPECIFIED
New time in force for the order.
orderCancellation object
A command that instructs the network to cancel orders, active or partially filled, that were previously submitted by the sender of this transaction. It is not possible to cancel another party's order with this command.
Restrict cancellations to those submitted to the given market. If not set, all stop orders across all markets will be cancelled.
Restrict cancellations to an order with the given ID. If set, then a market ID must also be provided.
orderSubmission object
A command that submits an order to the Vega network for a given market.
Timestamp, in Unix nanoseconds, for when the order will expire. Can only be set when the order's time-in-force is GTT.
icebergOpts object
Iceberg order details. If set, the order will exist on the order book in chunks.
Minimum allowed remaining size of the order before it is replenished back to its peak size.
Size of the order that is made visible and can be traded with during the execution of a single order.
Market ID to submit the order to.
peggedOrder object
Pegged order details. If set, the order's price will be offset from a particular reference price of the order book at all times.
Offset from the price reference.
Possible values: [PEGGED_REFERENCE_UNSPECIFIED
, PEGGED_REFERENCE_MID
, PEGGED_REFERENCE_BEST_BID
, PEGGED_REFERENCE_BEST_ASK
]
Default value: PEGGED_REFERENCE_UNSPECIFIED
Price point the order is linked to.
If set, the order will only be executed if it would not trade on entry to the order book. Only valid for limit orders.
Price for the order, the price is an integer, for example 123456
is a correctly
formatted price of 1.23456
assuming market configured to 5 decimal places,
required field for limit orders, however it is not required for market orders.
This field is an unsigned integer scaled to the market's decimal places.
If set, the order will only be executed if the outcome of the trade moves the trader's position closer to 0. Only valid for non-persistent orders.
Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.
Possible values: [SIDE_UNSPECIFIED
, SIDE_BUY
, SIDE_SELL
]
Default value: SIDE_UNSPECIFIED
Which side of the order book the order is for, e.g. buy or sell.
Size for the order, for example, in a futures market the size equals the number of units.
Possible values: [TIME_IN_FORCE_UNSPECIFIED
, TIME_IN_FORCE_GTC
, TIME_IN_FORCE_GTT
, TIME_IN_FORCE_IOC
, TIME_IN_FORCE_FOK
, TIME_IN_FORCE_GFA
, TIME_IN_FORCE_GFN
]
Default value: TIME_IN_FORCE_UNSPECIFIED
Time in force indicates how long an order will remain active before it is executed or expires..
Possible values: [TYPE_UNSPECIFIED
, TYPE_LIMIT
, TYPE_MARKET
, TYPE_NETWORK
]
Default value: TYPE_UNSPECIFIED
Type of the order.
proposal object
Command that allows a token holder to submit a governance proposal that can be voted on by any other token holders, and eventually enacted on the Vega network. For example this command can be used to propose a new market.
rationale object
Rationale behind a proposal.
Description to show a short title / something in case the link goes offline. This is to be between 0 and 20k unicode characters. This is mandatory for all proposals.
Title to be used to give a short description of the proposal in lists. This is to be between 0 and 100 unicode characters. This is mandatory for all proposals.
Arbitrary human-readable reference identifying the proposal.
terms object
Proposal terms containing the type and details of the proposal, as well as time spans for voting and enactment.
cancelTransfer object
Cancel a governance transfer.
changes object
ID of the governance transfer proposal.
Timestamp as Unix time in seconds when voting closes for this proposal,
constrained by minClose
and maxClose
network parameters.
Timestamp as Unix time in seconds when proposal gets enacted if passed,
constrained by minEnact
and maxEnact
network parameters.
newAsset object
Proposal change for creating new assets on Vega.
changes object
Configuration of the new asset.
builtinAsset object
Vega built-in asset.
Maximum amount that can be requested by a party through the built-in asset faucet at a time.
Number of decimal / precision handled by this asset.
erc20 object
Ethereum ERC20 asset.
Chain ID the asset originated from.
Address of the contract for the token, on the ethereum network.
Lifetime limits deposit per address note: this is a temporary measure that can be changed by governance.
Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay. There’s no limit on the size of a withdrawal note: this is a temporary measure that can be changed by governance.
Name of the asset (e.g: Great British Pound).
Minimum economically meaningful amount in the asset.
Symbol of the asset (e.g: GBP).
Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system, and can be used to gauge community sentiment.
newMarket object
Proposal change for creating new futures market on Vega.
changes object
Configuration of the new market.
Number of allowed price levels between an AMM's fair price and its quote prices. An AMM definition that exceeds this will be rejected at submission.
Decimal places used for the new futures market, sets the smallest price increment on the book.
instrument object
New futures market instrument configuration.
Instrument code, human-readable shortcode used to describe the instrument.
future object
Future.
cap object
If set, this product creates a capped future market.
If set to true, the settlement price must either be zero, or equal to the max price.
If set to true, positions must be fully collateralised so there is no default risk for any party.
Set the maximum price for orders, and settlement data in market decimals.
dataSourceSpecBinding object
Binding between the data source spec and the settlement data.
Name of the property in the source data that should be used as settlement data. If it is set to "prices.BTC.value", then the Future will use the value of this property as settlement data.
Name of the property in the data source data that signals termination of trading.
dataSourceSpecForSettlementData object
Data source spec describing the data source for settlement.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourceSpecForTradingTermination object
The external data source spec describing the data source of trading termination.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
Product quote name.
Asset ID for the product's settlement asset.
Instrument name.
perpetual object
Perpetual.
Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].
Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].
dataSourceSpecBinding object
Binding between the data source spec and the settlement data.
Name of the property in the source data that should be used for settlement data. If it is set to "prices.BTC.value" for example, then the perpetual market will use the value of this property to get settlement data.
Name of the property in the source data that should be used to determine the perpetual's settlement schedule.
dataSourceSpecForSettlementData object
Data source spec describing the data source for settlement.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourceSpecForSettlementSchedule object
Data source spec describing the data source for settlement schedule.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
Lower bound for the funding-rate such that the funding-rate will never be lower than this value.
Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.
Upper bound for the funding-rate such that the funding-rate will never be higher than this value.
Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1].
internalCompositePriceConfiguration object
Composite price configuration to drive the calculation of the internal composite price used for funding payments. If undefined the default mark price of the market is used.
Cash amount, in asset decimals, used for the calculation of the mark price from the order book.
Possible values: [COMPOSITE_PRICE_TYPE_UNSPECIFIED
, COMPOSITE_PRICE_TYPE_WEIGHTED
, COMPOSITE_PRICE_TYPE_MEDIAN
, COMPOSITE_PRICE_TYPE_LAST_TRADE
]
Default value: COMPOSITE_PRICE_TYPE_UNSPECIFIED
Which method is used for the calculation of the composite price for the market.
dataSourcesSpec object[]
Additional price sources to be used for internal composite price calculation.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourcesSpecBinding object[]
The property name of price.
Decay power used for the calculation of mark price.
Decay weight used for calculation of mark price.
For how long a price source is considered valid. One entry for each data source such that the first is for the trade based mark price, the second is for the book based price the third is for the first oracle, followed by more oracle data source staleness tolerance.
Weights for each composite price data source.
Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].
Product quote name.
Asset ID for the product's settlement asset.
spot object
Spot.
Base asset ID.
Quote asset ID.
Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume.
liquidationStrategy object
Liquidation strategy for this market.
Fraction of the open position the market will try to close in a single attempt; range 0 through 1.
Decimal > 0 specifying the range range above and below the mid price within which the network will trade to dispose of its position. The value can be > 1. For example, if set to 1.5, the minimum price will be 0, ie max(0, mid_price * (1 - 1.5)), and the maximum price will be mid_price * (1 + 1.5).
Interval, in seconds, at which the network will attempt to close its position.
Size of the position that the network will try to close in a single attempt.
Max fraction of the total volume of the orderbook, within liquidity bounds, that the network can use to close its position; range 0 through 1.
liquidityFeeSettings object
Specifies how the liquidity fee for the market will be calculated.
Constant liquidity fee used when using the constant fee method.
Possible values: [METHOD_UNSPECIFIED
, METHOD_MARGINAL_COST
, METHOD_WEIGHTED_AVERAGE
, METHOD_CONSTANT
]
Default value: METHOD_UNSPECIFIED
Method used to calculate the market's liquidity fee.
liquidityMonitoringParameters object
Liquidity monitoring parameters.
Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction.
targetStakeParameters object
Specifies parameters related to target stake calculation.
Specifies scaling factors used in target stake calculation.
Specifies length of time window expressed in seconds for target stake calculation.
Specifies the triggering ratio for entering liquidity auction.
liquiditySlaParameters object
Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.
Specifies the number of liquidity epochs over which past performance will continue to affect rewards.
Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers that achieved a higher SLA performance than them.
logNormal object
Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.
params object
Risk model parameters for log normal.
Mu parameter, annualised growth rate of the underlying asset.
R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.
Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.
Risk Aversion Parameter.
riskFactorOverride object
And optional override for the risk factor calculated by the risk model.
Long Risk factor value.
Short Risk factor value.
Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall calculation to obtain the maintenance margin, must be a strictly non-negative real number.
DEPRECATED: Use liquidity SLA parameters instead. Percentage move up and down from the mid price which specifies the range of price levels over which automated liquidity provisions will be deployed.
markPriceConfiguration object
Mark price configuration.
Cash amount, in asset decimals, used for the calculation of the mark price from the order book.
Possible values: [COMPOSITE_PRICE_TYPE_UNSPECIFIED
, COMPOSITE_PRICE_TYPE_WEIGHTED
, COMPOSITE_PRICE_TYPE_MEDIAN
, COMPOSITE_PRICE_TYPE_LAST_TRADE
]
Default value: COMPOSITE_PRICE_TYPE_UNSPECIFIED
Which method is used for the calculation of the composite price for the market.
dataSourcesSpec object[]
Additional price sources to be used for internal composite price calculation.
external object
DataSourceDefinitionExternal is the top level object used for all external
data sources. It contains one of any of the defined SourceType
variants.
ethOracle object
Contains the data specification that is received from Ethereum sources.
The ABI of that contract.
Ethereum address of the contract to call.
List of arguments to pass to method call. Protobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum type according to the ABI.
filters object[]
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
Name of the method on the contract to call.
normalisers object[]
Normalisers are used to convert the data returned from the contract method into a standard format. The key of the map is the name of the property, which identifies the specific piece of data to other parts of the data sourcing framework, for example filters. The value is a JSONPath expression for expressing where in the contract call result the required data is located, for example $[0] indicates the first result. $[1].price would look in the second result returned from the contract for a structure with a key called 'price' and use that if it exists.
The ID of the EVM based chain which is to be used to source the oracle data.
trigger object
Conditions for determining when to call the contract method.
timeTrigger object
Trigger for an Ethereum call based on the Ethereum block timestamp. Can be one-off or repeating.
Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.
Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.
If repeating, stop once Ethereum time is greater than this time, in Unix seconds. If not set, then repeat indefinitely.
oracle object
All types of external data sources use the same configuration set for meeting requirements in order for the data to be useful for Vega - valid signatures and matching filters.
filters object[]
Filters describes which source data are considered of interest or not for the product (or the risk model).
conditions object[]
Conditions that should be matched by the data to be considered of interest.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
key object
Data source's data property key targeted by the filter.
Name of the property.
Possible values: [TYPE_UNSPECIFIED
, TYPE_EMPTY
, TYPE_INTEGER
, TYPE_STRING
, TYPE_BOOLEAN
, TYPE_DECIMAL
, TYPE_TIMESTAMP
]
Default value: TYPE_UNSPECIFIED
Data type of the property.
signers object[]
Signers is the list of authorized signatures that signed the data for this source. All the signatures in the data source data should be contained in this external source. All the signatures in the data should be contained in this list.
ethAddress object
In case of an open oracle - Ethereum address will be submitted.
pubKey object
List of authorized public keys that signed the data for this source. All the public keys in the data should be contained in these public keys.
internal object
Top level object used for all internal data sources. It contains one of any of the defined source type variants.
time object
Internal data source used for emitting timestamps.
conditions object[]
Conditions that the timestamps should meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
timeTrigger object
Internal data source used for emitting timestamps automatically using predefined intervals and conditions.
conditions object[]
Conditions that the timestamps need to meet in order to be considered.
Possible values: [OPERATOR_UNSPECIFIED
, OPERATOR_EQUALS
, OPERATOR_GREATER_THAN
, OPERATOR_GREATER_THAN_OR_EQUAL
, OPERATOR_LESS_THAN
, OPERATOR_LESS_THAN_OR_EQUAL
]
Default value: OPERATOR_UNSPECIFIED
Type of comparison to make on the value.
Value to be compared with by the operator.
triggers object[]
Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.
Trigger when the vega time is greater or equal to this time, in Unix seconds.
dataSourcesSpecBinding object[]
The property name of price.
Decay power used for the calculation of mark price.
Decay weight used for calculation of mark price.
For how long a price source is considered valid. One entry for each data source such that the first is for the trade based mark price, the second is for the book based price the third is for the first oracle, followed by more oracle data source staleness tolerance.
Weights for each composite price data source.
Optional new futures market metadata, tags.
Decimal places for order sizes, sets what size the smallest order / position on the futures market can be.
priceMonitoringParameters object
Price monitoring parameters.
triggers object[]
Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.
Price monitoring projection horizon τ in seconds.
Price monitoring probability level p.
Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume.
simple object
Simple risk model parameters, valid only if MODEL_SIMPLE is selected.
Pre-defined risk factor value for long.
Pre-defined risk factor value for short.
Pre-defined maximum price move up that the model considers as valid.
Pre-defined minimum price move down that the model considers as valid.
Pre-defined constant probability of trading.
successor object
Successor configuration. If this proposal is meant to succeed a given market, then this should be set.
A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor.
ID of the market that the successor should take over from.