Skip to main content
Version: testnet (v0.78)

Get transaction

GET 

/transactions/:hash

Get a transaction from the Vega blockchain

Request

Path Parameters

    hash stringrequired

    Hash of the transaction

Responses

A successful response.

Schema
    transaction object
    block uint64
    code int64
    command object

    Input data for a transaction containing a network command for the Vega network to execute. Once populated the protobuf message should be marshalled into a byte array and included in a transaction message.

    amendAmm object

    Command to amend an existing automated market maker on a market.

    commitmentAmount string

    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.

    base string

    Price that the AMM will quote as its "fair price" when its position is zero.

    leverageAtLowerBound string

    Leverage at lower bound. If not set the markets risk-factors will be used to calculate leverage.

    leverageAtUpperBound string

    Leverage at upper bound. If not set the markets risk-factors will be used to calculate leverage.

    lowerBound string

    Price at which the AMM will stop quoting buy volume. If not supplied the AMM will never hold a long position.

    upperBound string

    Price at which the AMM will stop quoting sell volume. If not supplied the AMM will never hold a short position.

    marketId string

    Market ID for the AMM to be amended.

    proposedFee string

    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.

    slippageTolerance string

    Slippage tolerance for rebasing position when updating the AMM.

    announceNode object

    Command used by a node operator to announce its node as a pending validator.

    avatarUrl string

    URL to the node operator's avatar.

    chainPubKey string

    Public key for the blockchain, currently the node's CometBFT key.

    country string

    Country code (ISO 3166-1 alpha-2) for the location of the node.

    ethereumAddress string

    Ethereum public key of the node being announced.

    ethereumSignature object

    Signature from the node made using the ethereum wallet.

    algo string

    Algorithm used to create the signature.

    value string

    Hex encoded bytes of the signature.

    version int64

    Version of the algorithm used to create the signature.

    fromEpoch uint64

    Epoch from which the node is expected to be ready to validate blocks.

    id string

    Node ID of the validator, which is the node's public master key.

    infoUrl string

    URL to the node operators homepage allowing stake holders to make an informed decision when delegating.

    name string

    Human-readable name of the node.

    submitterAddress string

    Ethereum public key to use as a submitter to allow automatic signature generation.

    vegaPubKey string

    Vega public key of the node being announced.

    vegaPubKeyIndex int64

    Vega public key derivation index.

    vegaSignature object

    Signature from the node made using the Vega wallet.

    algo string

    Algorithm used to create the signature.

    value string

    Hex encoded bytes of the signature.

    version int64

    Version of the algorithm used to create the signature.

    applyReferralCode object

    Command to apply a referral code.

    doNotJoinTeam boolean

    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.

    id string

    Referral code, normally the referral set ID, for the party to join.

    batchMarketInstructions object

    Command to submit a batch of order instructions.

    amendments object[]

    List of order amendments to be processed sequentially.

  • Array [
  • expiresAt int64

    Timestamp, in Unix nanoseconds, for the new expiry time for the order.

    marketId string

    Market ID that the order was originally submitted to.

    orderId string

    ID of the order to amend.

    peggedOffset string

    New pegged offset for the order. This field is an unsigned integer scaled to the market's decimal places.

    peggedReference Pegged reference defines which price point a pegged order is linked to - meaning the price for a pegged order is calculated from the value of the reference price point

    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.

    price string

    New price for the order. This field is an unsigned integer scaled to the market's decimal places.

    size uint64

    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.

    • 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.
    sizeDelta int64

    Amend the size for the order by the delta specified:

    • 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.
    timeInForce Time In Force for an order

    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.

  • Array [
  • marketId string

    Restrict cancellations to those submitted to the given market. If not set, all stop orders across all markets will be cancelled.

    orderId string

    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.

  • Array [
  • marketId string

    Restrict cancellations to those submitted to the given market. If not set, all stop orders across all markets will be cancelled.

    stopOrderId string

    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.

  • Array [
  • fallsBelow object

    Stop order that will be triggered if the price falls below a given trigger price.

    expiresAt int64

    Timestamp, in Unix nanoseconds, for when the stop order should expire. If not set the stop order will not expire.

    expiryStrategy StopOrderExpiryStrategy

    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

    Order to be submitted once the trigger is breached.

    expiresAt int64

    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.

    minimumVisibleSize uint64

    Minimum allowed remaining size of the order before it is replenished back to its peak size.

    peakSize uint64

    Size of the order that is made visible and can be traded with during the execution of a single order.

    marketId string

    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 string

    Offset from the price reference.

    reference Pegged reference defines which price point a pegged order is linked to - meaning the price for a pegged order is calculated from the value of the reference price point

    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.

    postOnly boolean

    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 string

    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.

    reduceOnly boolean

    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.

    reference string

    Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.

    side Side relates to the direction of an order, to Buy, or Sell

    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 uint64

    Size for the order, for example, in a futures market the size equals the number of units.

    timeInForce Time In Force for an order

    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..

    type Type values for an order

    Possible values: [TYPE_UNSPECIFIED, TYPE_LIMIT, TYPE_MARKET, TYPE_NETWORK]

    Default value: TYPE_UNSPECIFIED

    Type of the order.

    price string

    Order will be submitted if the last traded price on the market breaches the given price.

    sizeOverrideSetting Indicates if this order is linked to an order or position to derive the order size

    Possible values: [SIZE_OVERRIDE_SETTING_UNSPECIFIED, SIZE_OVERRIDE_SETTING_NONE, SIZE_OVERRIDE_SETTING_POSITION]

    Default value: SIZE_OVERRIDE_SETTING_UNSPECIFIED

    sizeOverrideValue object
    percentage Scaling percentage of the current position’s size
    trailingPercentOffset string

    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.

    expiresAt int64

    Timestamp, in Unix nanoseconds, for when the stop order should expire. If not set the stop order will not expire.

    expiryStrategy StopOrderExpiryStrategy

    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

    Order to be submitted once the trigger is breached.

    expiresAt int64

    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.

    minimumVisibleSize uint64

    Minimum allowed remaining size of the order before it is replenished back to its peak size.

    peakSize uint64

    Size of the order that is made visible and can be traded with during the execution of a single order.

    marketId string

    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 string

    Offset from the price reference.

    reference Pegged reference defines which price point a pegged order is linked to - meaning the price for a pegged order is calculated from the value of the reference price point

    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.

    postOnly boolean

    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 string

    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.

    reduceOnly boolean

    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.

    reference string

    Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.

    side Side relates to the direction of an order, to Buy, or Sell

    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 uint64

    Size for the order, for example, in a futures market the size equals the number of units.

    timeInForce Time In Force for an order

    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..

    type Type values for an order

    Possible values: [TYPE_UNSPECIFIED, TYPE_LIMIT, TYPE_MARKET, TYPE_NETWORK]

    Default value: TYPE_UNSPECIFIED

    Type of the order.

    price string

    Order will be submitted if the last traded price on the market breaches the given price.

    sizeOverrideSetting Indicates if this order is linked to an order or position to derive the order size

    Possible values: [SIZE_OVERRIDE_SETTING_UNSPECIFIED, SIZE_OVERRIDE_SETTING_NONE, SIZE_OVERRIDE_SETTING_POSITION]

    Default value: SIZE_OVERRIDE_SETTING_UNSPECIFIED

    sizeOverrideValue object
    percentage Scaling percentage of the current position’s size
    trailingPercentOffset string

    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.

  • Array [
  • expiresAt int64

    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.

    minimumVisibleSize uint64

    Minimum allowed remaining size of the order before it is replenished back to its peak size.

    peakSize uint64

    Size of the order that is made visible and can be traded with during the execution of a single order.

    marketId string

    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 string

    Offset from the price reference.

    reference Pegged reference defines which price point a pegged order is linked to - meaning the price for a pegged order is calculated from the value of the reference price point

    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.

    postOnly boolean

    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 string

    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.

    reduceOnly boolean

    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.

    reference string

    Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.

    side Side relates to the direction of an order, to Buy, or Sell

    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 uint64

    Size for the order, for example, in a futures market the size equals the number of units.

    timeInForce Time In Force for an order

    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..

    type Type values for an order

    Possible values: [TYPE_UNSPECIFIED, TYPE_LIMIT, TYPE_MARKET, TYPE_NETWORK]

    Default value: TYPE_UNSPECIFIED

    Type of the order.

  • ]
  • updateMarginMode object[]
  • Array [
  • marginFactor Margin factor to use for margin in isolated mode. It is a multiplier that defines how much margin needs to be set aside
    marketId string

    Market to change margin mode for.

    mode - MODE_UNSPECIFIED: Never valid. - MODE_CROSS_MARGIN: Cross margin mode - margin is dynamically acquired and released as a position is marked to market - MODE_ISOLATED_MARGIN: Isolated margin mode - margin for any newly opened position volume is transferred to the margin account when the trade is executed

    Possible values: [MODE_UNSPECIFIED, MODE_CROSS_MARGIN, MODE_ISOLATED_MARGIN]

    Default value: MODE_UNSPECIFIED

    Margin mode to use.

  • ]
  • batchProposalSubmission object

    Command to submit a batch governance proposal.

    rationale object

    Rationale behind a proposal.

    description string

    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 string

    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.

    reference string

    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.

  • Array [
  • cancelTransfer object

    Proposal change to cancel a governance initiated transfe.

    changes object
    transferId string

    ID of the governance transfer proposal.

    enactmentTimestamp int64

    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.

    maxFaucetAmountMint string

    Maximum amount that can be requested by a party through the built-in asset faucet at a time.

    decimals uint64

    Number of decimal / precision handled by this asset.

    erc20 object

    Ethereum ERC20 asset.

    chainId string

    Chain ID the asset originated from.

    contractAddress string

    Address of the contract for the token, on the ethereum network.

    lifetimeLimit string

    Lifetime limits deposit per address note: this is a temporary measure that can be changed by governance.

    withdrawThreshold string

    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 string

    Name of the asset (e.g: Great British Pound).

    quantum string

    Minimum economically meaningful amount in the asset.

    symbol string

    Symbol of the asset (e.g: GBP).

    newFreeform object

    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.

    decimalPlaces uint64

    Decimal places used for the new futures market, sets the smallest price increment on the book.

    enableTransactionReordering If enabled aggressive orders sent to the market will be delayed by the configured number of blocks
    instrument object

    New futures market instrument configuration.

    code string

    Instrument code, human-readable shortcode used to describe the instrument.

    future object

    Future.

    cap object

    If set, this product creates a capped future market.

    binarySettlement boolean

    If set to true, the settlement price must either be zero, or equal to the max price.

    fullyCollateralised boolean

    If set to true, positions must be fully collateralised so there is no default risk for any party.

    maxPrice string

    Set the maximum price for orders, and settlement data in market decimals.

    dataSourceSpecBinding object

    Binding between the data source spec and the settlement data.

    settlementDataProperty string

    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.

    tradingTerminationProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • quoteName string

    Product quote name.

    settlementAsset string

    Asset ID for the product's settlement asset.

    name string

    Instrument name.

    perpetual object

    Perpetual.

    clampLowerBound string

    Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].

    clampUpperBound string

    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.

    settlementDataProperty string

    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.

    settlementScheduleProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • fundingRateLowerBound string

    Lower bound for the funding-rate such that the funding-rate will never be lower than this value.

    fundingRateScalingFactor string

    Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.

    fundingRateUpperBound string

    Upper bound for the funding-rate such that the funding-rate will never be higher than this value.

    interestRate string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    marginFundingFactor string

    Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].

    quoteName string

    Product quote name.

    settlementAsset string

    Asset ID for the product's settlement asset.

    spot object

    Spot.

    baseAsset string

    Base asset ID.

    quoteAsset string

    Quote asset ID.

    linearSlippageFactor string

    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.

    disposalFraction string

    Fraction of the open position the market will try to close in a single attempt; range 0 through 1.

    disposalSlippageRange string

    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).

    disposalTimeStep int64

    Interval, in seconds, at which the network will attempt to close its position.

    fullDisposalSize uint64

    Size of the position that the network will try to close in a single attempt.

    maxFractionConsumed string

    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.

    feeConstant string

    Constant liquidity fee used when using the constant fee method.

    method vegaLiquidityFeeSettingsMethod

    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.

    auctionExtension int64

    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.

    scalingFactor double

    Specifies scaling factors used in target stake calculation.

    timeWindow int64

    Specifies length of time window expressed in seconds for target stake calculation.

    triggeringRatio string

    Specifies the triggering ratio for entering liquidity auction.

    liquiditySlaParameters object
    commitmentMinTimeFraction string

    Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.

    performanceHysteresisEpochs uint64

    Specifies the number of liquidity epochs over which past performance will continue to affect rewards.

    priceRange string
    slaCompetitionFactor string

    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 double

    Mu parameter, annualised growth rate of the underlying asset.

    r double

    R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.

    sigma double

    Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.

    riskAversionParameter double

    Risk Aversion Parameter.

    riskFactorOverride object

    And optional override for the risk factor calculated by the risk model.

    long string

    Long Risk factor value.

    short string

    Short Risk factor value.

    tau double

    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.

    lpPriceRange string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    metadata string[]

    Optional new futures market metadata, tags.

    positionDecimalPlaces int64

    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[]
  • Array [
  • auctionExtension int64

    Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.

    horizon int64

    Price monitoring projection horizon τ in seconds.

    probability string

    Price monitoring probability level p.

  • ]
  • quadraticSlippageFactor string

    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.

    factorLong double

    Pre-defined risk factor value for long.

    factorShort double

    Pre-defined risk factor value for short.

    maxMoveUp double

    Pre-defined maximum price move up that the model considers as valid.

    minMoveDown double

    Pre-defined minimum price move down that the model considers as valid.

    probabilityOfTrading double

    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.

    insurancePoolFraction string

    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.

    parentMarketId string

    ID of the market that the successor should take over from.

    tickSize The market tick size defines the minimum change in quote price for the market
    newSpotMarket object

    Proposal change for creating new spot market.

    changes object

    Configuration of the new spot market.

    enableTransactionReordering If enabled aggressive orders sent to the market will be delayed by the configured number of blocks
    instrument object

    New spot market instrument configuration.

    code string

    Instrument code, human-readable shortcode used to describe the instrument.

    future object

    Future.

    cap object

    If set, this product creates a capped future market.

    binarySettlement boolean

    If set to true, the settlement price must either be zero, or equal to the max price.

    fullyCollateralised boolean

    If set to true, positions must be fully collateralised so there is no default risk for any party.

    maxPrice string

    Set the maximum price for orders, and settlement data in market decimals.

    dataSourceSpecBinding object

    Binding between the data source spec and the settlement data.

    settlementDataProperty string

    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.

    tradingTerminationProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • quoteName string

    Product quote name.

    settlementAsset string

    Asset ID for the product's settlement asset.

    name string

    Instrument name.

    perpetual object

    Perpetual.

    clampLowerBound string

    Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].

    clampUpperBound string

    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.

    settlementDataProperty string

    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.

    settlementScheduleProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • fundingRateLowerBound string

    Lower bound for the funding-rate such that the funding-rate will never be lower than this value.

    fundingRateScalingFactor string

    Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.

    fundingRateUpperBound string

    Upper bound for the funding-rate such that the funding-rate will never be higher than this value.

    interestRate string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    marginFundingFactor string

    Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].

    quoteName string

    Product quote name.

    settlementAsset string

    Asset ID for the product's settlement asset.

    spot object

    Spot.

    baseAsset string

    Base asset ID.

    quoteAsset string

    Quote asset ID.

    liquidityFeeSettings object

    Specifies how the liquidity fee for the market will be calculated.

    feeConstant string

    Constant liquidity fee used when using the constant fee method.

    method vegaLiquidityFeeSettingsMethod

    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 double

    Mu parameter, annualised growth rate of the underlying asset.

    r double

    R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.

    sigma double

    Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.

    riskAversionParameter double

    Risk Aversion Parameter.

    riskFactorOverride object

    And optional override for the risk factor calculated by the risk model.

    long string

    Long Risk factor value.

    short string

    Short Risk factor value.

    tau double

    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.

    metadata string[]

    Optional new spot market metadata, tags.

    priceDecimalPlaces uint64

    Decimal places used for the new spot market, sets the smallest price increment on the book.

    priceMonitoringParameters object

    Price monitoring parameters.

    triggers object[]
  • Array [
  • auctionExtension int64

    Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.

    horizon int64

    Price monitoring projection horizon τ in seconds.

    probability string

    Price monitoring probability level p.

  • ]
  • simple object

    Simple risk model parameters, valid only if MODEL_SIMPLE is selected.

    factorLong double

    Pre-defined risk factor value for long.

    factorShort double

    Pre-defined risk factor value for short.

    maxMoveUp double

    Pre-defined maximum price move up that the model considers as valid.

    minMoveDown double

    Pre-defined minimum price move down that the model considers as valid.

    probabilityOfTrading double

    Pre-defined constant probability of trading.

    sizeDecimalPlaces int64

    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.

    commitmentMinTimeFraction string

    Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.

    performanceHysteresisEpochs uint64

    Specifies the number of liquidity epochs over which past performance will continue to affect rewards.

    priceRange string
    slaCompetitionFactor string

    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.

    scalingFactor double

    Specifies scaling factors used in target stake calculation.

    timeWindow int64

    Specifies length of time window expressed in seconds for target stake calculation.

    tickSize The market tick size defines the minimum change in quote price for the market
    newTransfer object

    Proposal change for a governance initiated transfer.

    changes object

    Configuration for a new transfer.

    amount Maximum amount to transfer
    asset ID of asset to transfer
    destination Specifies the account to transfer to, depending on the account type: Network treasury: leave empty Party: party's public key Market insurance pool: market ID
    destinationType Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool

    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]

    Default value: ACCOUNT_TYPE_UNSPECIFIED

    • 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'

    Margin account funds will vary as margin requirements on positions change

    • 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

    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

    • 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.
    fractionOfBalance Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance
    oneOff object
    deliverOn int64

    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.

    assetForMetric string

    Asset to use for metric.

    capRewardFeeMultiple string

    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).

    distributionStrategy Controls how the reward is distributed between qualifying parties

    Possible values: [DISTRIBUTION_STRATEGY_UNSPECIFIED, DISTRIBUTION_STRATEGY_PRO_RATA, DISTRIBUTION_STRATEGY_RANK, DISTRIBUTION_STRATEGY_RANK_LOTTERY]

    Default value: DISTRIBUTION_STRATEGY_UNSPECIFIED

    • 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.
    entityScope - ENTITY_SCOPE_INDIVIDUALS: Rewards must be distributed directly to eligible parties. - ENTITY_SCOPE_TEAMS: Rewards must be distributed to directly eligible teams, and then amongst team members

    Possible values: [ENTITY_SCOPE_UNSPECIFIED, ENTITY_SCOPE_INDIVIDUALS, ENTITY_SCOPE_TEAMS]

    Default value: ENTITY_SCOPE_UNSPECIFIED

    Mandatory enum that defines the entities within scope.

    individualScope vegaIndividualScope

    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.

    lockPeriod uint64
    markets string[]

    Optional markets in scope.

    metric - DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that uses the total maker fees paid in the market - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that uses the total maker fees received in the market - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that uses the total LP fees received in the market - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that uses total value of the market if above the required threshold and not paid given proposer bonus yet - DISPATCH_METRIC_RELATIVE_RETURN: Dispatch metric that uses the relative PNL of the party in the market - DISPATCH_METRIC_RETURN_VOLATILITY: Dispatch metric that uses return volatility of the party in the market - DISPATCH_METRIC_VALIDATOR_RANKING: Dispatch metric that uses the validator ranking of the validator as metric - DISPATCH_METRIC_REALISED_RETURN: Dispatch metric that uses the realised return of the party in a market - DISPATCH_METRIC_AVERAGE_NOTIONAL: Dispatch metric that uses the time weighted average notional - DISPATCH_METRIC_ELIGIBLE_ENTITIES: Dispatch metric that uses the eligibility criteria of entities

    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.

    nTopPerformers The proportion of the top performers in the team for a given metric to be averaged for the metric calculation if the scope is team
    notionalTimeWeightedAveragePositionRequirement Minimum notional time-weighted averaged position required for a party to be considered eligible. Defaults to 0
    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.

  • Array [
  • shareRatio int64
    startRank int64
  • ]
  • stakingRequirement Minimum number of governance (e.g. VEGA) tokens staked for a party to be considered eligible. Defaults to 0
    teamScope string[]
    transferInterval int32

    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.

    windowLength uint64
    endEpoch uint64

    Last epoch at which this transfer shall be paid.

    factor string

    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.

    startEpoch uint64
    source If network treasury, field is empty, otherwise uses the market ID
    sourceType Source account type, such as network treasury, market insurance pool

    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]

    Default value: ACCOUNT_TYPE_UNSPECIFIED

    • 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'

    Margin account funds will vary as margin requirements on positions change

    • 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

    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

    • 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.
    transferType "All or nothing" or "best effort": All or nothing: Transfers the specified amount or does not transfer anything Best effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount

    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.

    assetId string

    Asset ID the update is for.

    changes object

    Changes to apply on an existing asset.

    erc20 object

    Ethereum ERC20 asset update.

    lifetimeLimit string

    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.

    withdrawThreshold string

    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.

    quantum string

    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.

    enableTransactionReordering If enabled aggressive orders sent to the market will be delayed by the configured number of blocks
    instrument object

    Updated futures market instrument configuration.

    code string

    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.

    settlementDataProperty string

    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.

    tradingTerminationProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • quoteName string

    Human-readable name/abbreviation of the quote name.

    name Instrument name
    perpetual object

    Perpetual.

    clampLowerBound string

    Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].

    clampUpperBound string

    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.

    settlementDataProperty string

    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.

    settlementScheduleProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • fundingRateLowerBound string

    Lower bound for the funding-rate such that the funding-rate will never be lower than this value.

    fundingRateScalingFactor string

    Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.

    fundingRateUpperBound string

    Upper bound for the funding-rate such that the funding-rate will never be higher than this value.

    interestRate string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    marginFundingFactor string

    Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].

    quoteName string

    Human-readable name/abbreviation of the quote name.

    linearSlippageFactor string

    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.

    disposalFraction string

    Fraction of the open position the market will try to close in a single attempt; range 0 through 1.

    disposalSlippageRange string

    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).

    disposalTimeStep int64

    Interval, in seconds, at which the network will attempt to close its position.

    fullDisposalSize uint64

    Size of the position that the network will try to close in a single attempt.

    maxFractionConsumed string

    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.

    feeConstant string

    Constant liquidity fee used when using the constant fee method.

    method vegaLiquidityFeeSettingsMethod

    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.

    auctionExtension int64

    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.

    scalingFactor double

    Specifies scaling factors used in target stake calculation.

    timeWindow int64

    Specifies length of time window expressed in seconds for target stake calculation.

    triggeringRatio string

    Specifies the triggering ratio for entering liquidity auction.

    liquiditySlaParameters object
    commitmentMinTimeFraction string

    Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.

    performanceHysteresisEpochs uint64

    Specifies the number of liquidity epochs over which past performance will continue to affect rewards.

    priceRange string
    slaCompetitionFactor string

    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 double

    Mu parameter, annualised growth rate of the underlying asset.

    r double

    R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.

    sigma double

    Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.

    riskAversionParameter double

    Risk Aversion Parameter.

    riskFactorOverride object

    And optional override for the risk factor calculated by the risk model.

    long string

    Long Risk factor value.

    short string

    Short Risk factor value.

    tau double

    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.

    lpPriceRange string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    metadata string[]

    Optional futures market metadata, tags.

    priceMonitoringParameters object

    Price monitoring parameters.

    triggers object[]
  • Array [
  • auctionExtension int64

    Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.

    horizon int64

    Price monitoring projection horizon τ in seconds.

    probability string

    Price monitoring probability level p.

  • ]
  • quadraticSlippageFactor string

    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.

    factorLong double

    Pre-defined risk factor value for long.

    factorShort double

    Pre-defined risk factor value for short.

    maxMoveUp double

    Pre-defined maximum price move up that the model considers as valid.

    minMoveDown double

    Pre-defined minimum price move down that the model considers as valid.

    probabilityOfTrading double

    Pre-defined constant probability of trading.

    tickSize The market tick size defines the minimum change in quote price for the market
    marketId string

    Market ID the update is for.

    updateMarketState object

    Proposal change for updating the state of a market.

    changes object
    marketId ID of the market
    price Settlement price, relevant only for market termination for futures markets
    updateType Type of the market update

    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.

    key string

    Unique key of the network parameter.

    value string

    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.

  • Array [
  • minimumEpochs string

    Required number of epochs a party must have been in a referral set to access this tier.

    minimumRunningNotionalTakerVolume string

    Required running notional taker volume in quantum units for parties to access this tier.

    referralDiscountFactor deprecated
    referralDiscountFactors object

    Referral discount factors for the various fees.

    infrastructureDiscountFactor string

    Proportion of the referee's infrastructure fee to be discounted.

    liquidityDiscountFactor string

    Proportion of the referee's liquidity fee to be discounted.

    makerDiscountFactor string

    Proportion of the referee's maker fee to be discounted.

    referralRewardFactor deprecated
    referralRewardFactors object

    Proportion of the referee's fees to be rewarded to the referrer.

    infrastructureRewardFactor string

    Proportion of the referee's infrastructure fees to be rewarded to the referrer.

    liquidityRewardFactor string

    Proportion of the referee's liquidity fees to be rewarded to the referrer.

    makerRewardFactor string

    Proportion of the maker fees to be rewarded.

    tierNumber uint64

    The tier number. It's set by the core, and used in the party fee stats API.

  • ]
  • endOfProgramTimestamp int64

    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.

  • Array [
  • minimumStakedTokens string

    Required number of governance tokens ($VEGA) a referrer must have staked to receive the multiplier.

    referralRewardMultiplier string

    Multiplier applied to the referral reward factor when calculating referral rewards due to the referrer.

  • ]
  • windowLength uint64

    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.

    enableTransactionReordering If enabled aggressive orders sent to the market will be delayed by the configured number of blocks
    instrument object

    Specifies the name and code of the spot instrument.

    code string

    Instrument code, human-readable shortcode used to describe the instrument.

    name Instrument name
    liquidityFeeSettings object

    Specifies how the liquidity fee for the market will be calculated.

    feeConstant string

    Constant liquidity fee used when using the constant fee method.

    method vegaLiquidityFeeSettingsMethod

    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 double

    Mu parameter, annualised growth rate of the underlying asset.

    r double

    R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.

    sigma double

    Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.

    riskAversionParameter double

    Risk Aversion Parameter.

    riskFactorOverride object

    And optional override for the risk factor calculated by the risk model.

    long string

    Long Risk factor value.

    short string

    Short Risk factor value.

    tau double

    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.

    metadata string[]

    Optional spot market metadata, tags.

    priceMonitoringParameters object

    Price monitoring parameters.

    triggers object[]
  • Array [
  • auctionExtension int64

    Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.

    horizon int64

    Price monitoring projection horizon τ in seconds.

    probability string

    Price monitoring probability level p.

  • ]
  • simple object

    Simple risk model parameters, valid only if MODEL_SIMPLE is selected.

    factorLong double

    Pre-defined risk factor value for long.

    factorShort double

    Pre-defined risk factor value for short.

    maxMoveUp double

    Pre-defined maximum price move up that the model considers as valid.

    minMoveDown double

    Pre-defined minimum price move down that the model considers as valid.

    probabilityOfTrading double

    Pre-defined constant probability of trading.

    slaParams object

    Specifies the liquidity provision SLA parameters.

    commitmentMinTimeFraction string

    Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.

    performanceHysteresisEpochs uint64

    Specifies the number of liquidity epochs over which past performance will continue to affect rewards.

    priceRange string
    slaCompetitionFactor string

    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.

    scalingFactor double

    Specifies scaling factors used in target stake calculation.

    timeWindow int64

    Specifies length of time window expressed in seconds for target stake calculation.

    tickSize The market tick size defines the minimum change in quote price for the market
    marketId string

    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.

  • Array [
  • minimumRunningNotionalTakerVolume string

    Required running notional taker volume in quantum units for parties to access this tier.

    tierNumber uint64

    The tier number. It's set by the core, and used in the party fee stats API.

    volumeDiscountFactor deprecated
    volumeDiscountFactors object

    Proportion of the taker fees to be discounted.

    infrastructureDiscountFactor string

    Proportion of the referee's infrastructure fee to be discounted.

    liquidityDiscountFactor string

    Proportion of the referee's liquidity fee to be discounted.

    makerDiscountFactor string

    Proportion of the referee's maker fee to be discounted.

  • ]
  • endOfProgramTimestamp int64

    Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled.

    windowLength uint64

    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.

  • Array [
  • additionalMakerRebate string

    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.

    minimumPartyMakerVolumeFraction string

    Fraction of a party's maker volume required for a party to access this tier.

    tierNumber uint64

    The tier number. It's set by the core, and used in the party fee stats API.

  • ]
  • endOfProgramTimestamp int64

    Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled.

    windowLength uint64

    Number of epochs over which to evaluate a referral set's running volume.

    validationTimestamp int64

    Validation timestamp as Unix time in seconds.

  • ]
  • closingTimestamp int64

    Closing timestamp in Unix time; adheres to minClose and maxClose limits.

    blockHeight uint64

    Block height which has been used to calculate the transaction proof-of-work.

    cancelAmm object

    Command to cancel an automated market maker for a given market.

    marketId string

    Market ID to cancel an AMM for.

    method v1CancelAMMMethod

    Possible values: [METHOD_UNSPECIFIED, METHOD_IMMEDIATE, METHOD_REDUCE_ONLY]

    Default value: METHOD_UNSPECIFIED

    Method to use to cancel the AMM.

    cancelTransfer object

    Command to cancel a recurring transfer.

    transferId string

    Transfer ID of the transfer to cancel.

    chainEvent object

    Validator command sent automatically to notify the Vega chain of an off-chain event.

    builtin object

    Built-in asset event.

    deposit object

    Built-in asset deposit.

    amount string

    Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places.

    partyId string

    Vega party ID i.e. public key.

    vegaAssetId string

    Vega network internal asset ID.

    withdrawal object

    Built-in asset withdrawal.

    amount string

    The amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places.

    partyId string

    Vega network party ID i.e. public key.

    vegaAssetId string

    Vega network internal asset ID.

    contractCall object

    Ethereum contract call event.

    blockHeight uint64

    Ethereum block height.

    blockTime uint64

    Ethereum block time in Unix seconds.

    error string

    Error message if the call failed.

    heartbeat boolean

    If true the event does not correspond to a contract call and is only a notification to core of the last checked block height.

    result byte

    Result of contract call, packed according to the ABI stored in the associated data source spec.

    sourceChainId uint64

    Source chain for this chain event.

    specId string

    ID of the data source spec that triggered this contract call.

    erc20 object

    Ethereum ERC20 event.

    assetDelist object

    De-list an ERC20 asset.

    vegaAssetId string

    Vega network internal asset ID.

    assetLimitsUpdated object

    Update an ERC20 asset.

    lifetimeLimits string

    Updated lifetime limits.

    sourceEthereumAddress string

    Ethereum wallet that initiated the deposit.

    vegaAssetId string

    Vega network internal asset ID.

    withdrawThreshold string

    Updated withdrawal threshold.

    assetList object

    List an ERC20 asset.

    assetSource string

    Ethereum address of the asset.

    vegaAssetId string

    Vega network internal asset ID.

    block uint64

    Block in which the transaction was added.

    bridgeResumed boolean

    Bridge operations has been resumed.

    bridgeStopped boolean

    Bridge operations has been stopped.

    chainId string

    ID of the source chain for this event.

    deposit object

    Deposit ERC20 asset.

    amount string

    Amount to be deposited.

    sourceEthereumAddress string

    Ethereum wallet that initiated the deposit.

    targetPartyId string

    Vega party ID i.e. public key that is the target of the deposit.

    vegaAssetId string

    Vega network internal asset ID.

    index uint64

    Index of the log in the transaction.

    withdrawal object

    Withdraw ERC20 asset.

    referenceNonce string

    Reference nonce used for the transaction.

    targetEthereumAddress string

    Target Ethereum wallet address.

    vegaAssetId string

    Vega network internal asset ID.

    erc20Multisig object

    Ethereum ERC20 multisig event.

    block uint64
    chainId string

    ID of the source chain for this event.

    index uint64
    signerAdded object
    blockTime int64

    Time at which the block was produced will be used to inform the core at what time the stake was made unavailable.

    newSigner Ethereum address of the new signer
    nonce Nonce created by the Vega network used for this new signer
    signerRemoved object
    blockTime int64

    Time at which the block was produced. Will be used to inform the core at what time the stake was made unavailable.

    nonce Nonce created by the Vega network used for this old signer
    oldSigner Ethereum address of the old signer
    thresholdSet object
    blockTime int64

    Time at which the block was produced. Will be used to inform the core at what time the stake was made unavailable.

    newThreshold int64
    nonce Nonce created by the Vega network
    heartbeat object

    Heartbeat showing evidence that a contract is being listened to.

    blockHeight uint64
    blockTime uint64

    Ethereum block time in Unix seconds.

    contractAddress Contract address that is being listened to
    sourceChainId string

    Source chain for this chain event.

    nonce uint64

    Arbitrary one-time integer used to prevent replay attacks.

    stakingEvent object

    Ethereum Staking event.

    block uint64

    Block in which the transaction was added.

    index uint64

    Index of the log in the transaction.

    stakeDeposited object
    amount string

    Amount deposited as an unsigned base 10 integer scaled to the asset's decimal places.

    blockTime int64

    Time at which the block was produced. Will be used to inform the core at what time the stake started to be available.

    ethereumAddress Ethereum Address of the user depositing stake (hex encode with 0x prefix)
    vegaPublicKey string

    Hex encoded public key of the party receiving the stake deposit.

    stakeRemoved object
    amount string

    Amount removed as a base 10 unsigned integer scaled to the asset's decimal places.

    blockTime int64

    The time at which the block was produced will be used to inform the core at what time the stake was made unavailable.

    ethereumAddress string

    Ethereum address of the user removing stake. This should be hex encoded with 0x prefix.

    vegaPublicKey string

    Hex encoded public key of the party from which to remove stake.

    totalSupply object
    tokenAddress Address of the staking asset
    totalSupply string

    Total supply observed for the token as an unsigned based 10 integer scaled to the asset's decimal places.

    txId string

    ID of the transaction on the foreign chain that caused the event.

    createReferralSet object

    Command to create a referral set.

    doNotCreateReferralSet boolean

    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.

    isTeam boolean

    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.

    allowList string[]

    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.

    avatarUrl string

    External link to an avatar for the team.

    closed boolean

    Whether or not the team is closed to new party members.

    name string

    Name of the team.

    teamUrl string

    External link to the team's homepage.

    delayedTransactionsWrapper object

    Internal transactions used to convey delayed transactions to be included in the next block.

    height uint64
    transactions byte[]
    delegateSubmission object

    Command to delegate tokens to a validator.

    amount string

    Amount of stake to delegate, as an unsigned integer scaled to the governance asset's decimal places.

    nodeId string

    Node ID to delegate stake to.

    ethereumKeyRotateSubmission object

    Validator command sent manually by a node operator to rotate their node's Ethereum keys.

    currentAddress string

    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.

    algo string

    Algorithm used to create the signature.

    value string

    Hex encoded bytes of the signature.

    version int64

    Version of the algorithm used to create the signature.

    newAddress string

    Ethereum address that is being rotated to.

    submitterAddress string

    Ethereum public key to use as a submitter to allow automatic signature generation.

    targetBlock uint64

    Block height at which the key rotation will take effect.

    issueSignatures object

    Command to request signatures to amend the multisig-control contract.

    chainId string

    Chain ID of the bridge to generate signatures for.

    kind Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc

    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.

    submitter string

    Ethereum address which will submit the signatures to the smart contract.

    validatorNodeId string

    Node ID of the validator node that will be signed in or out of the smart contract.

    joinTeam object

    Command to join a team.

    id string

    ID of the team to join, this is the same as the referral code used to generate the team.

    keyRotateSubmission object

    Validator command sent manually by a node operator to rotate their node's Vega keys.

    currentPubKeyHash string

    Hash of the node's current Vega public key.

    newPubKey string

    Vega public key that would be rotated to.

    newPubKeyIndex int64

    New Vega public key derivation index.

    targetBlock uint64

    Block height at which the key rotation will take effect.

    liquidityProvisionAmendment object

    Command to amend a liquidity commitment.

    commitmentAmount string

    New commitment amount.

    fee string

    New nominated liquidity fee factor.

    marketId string

    Market that the submitter wants to amend the liquidity commitment for.

    reference string

    New arbitrary reference to be added to every order created out of this liquidity provision submission.

    liquidityProvisionCancellation object

    Command to cancel a liquidity commitment.

    marketId string

    Market that the submitter will stop providing liquidity for.

    liquidityProvisionSubmission object

    Command to submit a liquidity commitment.

    commitmentAmount string

    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.

    fee string

    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.

    marketId string

    Market that the submitter wishes to provide liquidity for.

    reference string

    Arbitrary reference to be added to every order created out of this liquidity provision submission.

    nodeSignature object

    Validator command sent automatically to provide signatures for the Ethereum bridge.

    id string

    ID of the resource that the signature relates to.

    kind Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc

    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

    Kind of resource being signed.

    sig byte

    Signature generated by the node.

    nodeVote object

    Validator command sent automatically to vote on that validity of an external resource.

    reference string

    Reference identifying the resource that has been verified.

    type v1NodeVoteType

    Possible values: [TYPE_UNSPECIFIED, TYPE_STAKE_DEPOSITED, TYPE_STAKE_REMOVED, TYPE_FUNDS_DEPOSITED, TYPE_SIGNER_ADDED, TYPE_SIGNER_REMOVED, TYPE_BRIDGE_STOPPED, TYPE_BRIDGE_RESUMED, TYPE_ASSET_LISTED, TYPE_LIMITS_UPDATED, TYPE_STAKE_TOTAL_SUPPLY, TYPE_SIGNER_THRESHOLD_SET, TYPE_GOVERNANCE_VALIDATE_ASSET, TYPE_ETHEREUM_CONTRACT_CALL_RESULT, TYPE_ETHEREUM_HEARTBEAT]

    Default value: TYPE_UNSPECIFIED

    Type of external event that has been verified.

    nonce uint64

    Arbitrary number used to provide uniqueness to the signature of two otherwise identical input data, preventing replay attacks. Must be set to a different value for all new transactions sent by a party. It is advised to generate this number randomly.

    oracleDataSubmission object

    Command to submit external oracle data.

    payload byte

    Data provided by the data source.

    source Supported oracle sources

    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.

    expiresAt int64

    Timestamp, in Unix nanoseconds, for the new expiry time for the order.

    marketId string

    Market ID that the order was originally submitted to.

    orderId string

    ID of the order to amend.

    peggedOffset string

    New pegged offset for the order. This field is an unsigned integer scaled to the market's decimal places.

    peggedReference Pegged reference defines which price point a pegged order is linked to - meaning the price for a pegged order is calculated from the value of the reference price point

    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.

    price string

    New price for the order. This field is an unsigned integer scaled to the market's decimal places.

    size uint64

    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.

    • 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.
    sizeDelta int64

    Amend the size for the order by the delta specified:

    • 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.
    timeInForce Time In Force for an order

    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.

    marketId string

    Restrict cancellations to those submitted to the given market. If not set, all stop orders across all markets will be cancelled.

    orderId string

    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.

    expiresAt int64

    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.

    minimumVisibleSize uint64

    Minimum allowed remaining size of the order before it is replenished back to its peak size.

    peakSize uint64

    Size of the order that is made visible and can be traded with during the execution of a single order.

    marketId string

    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 string

    Offset from the price reference.

    reference Pegged reference defines which price point a pegged order is linked to - meaning the price for a pegged order is calculated from the value of the reference price point

    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.

    postOnly boolean

    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 string

    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.

    reduceOnly boolean

    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.

    reference string

    Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.

    side Side relates to the direction of an order, to Buy, or Sell

    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 uint64

    Size for the order, for example, in a futures market the size equals the number of units.

    timeInForce Time In Force for an order

    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..

    type Type values for an order

    Possible values: [TYPE_UNSPECIFIED, TYPE_LIMIT, TYPE_MARKET, TYPE_NETWORK]

    Default value: TYPE_UNSPECIFIED

    Type of the order.

    proposalSubmission object

    Command to submit a governance proposal.

    rationale object

    Rationale behind a proposal.

    description string

    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 string

    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.

    reference string

    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
    transferId string

    ID of the governance transfer proposal.

    closingTimestamp int64

    Timestamp as Unix time in seconds when voting closes for this proposal, constrained by minClose and maxClose network parameters.

    enactmentTimestamp int64

    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.

    maxFaucetAmountMint string

    Maximum amount that can be requested by a party through the built-in asset faucet at a time.

    decimals uint64

    Number of decimal / precision handled by this asset.

    erc20 object

    Ethereum ERC20 asset.

    chainId string

    Chain ID the asset originated from.

    contractAddress string

    Address of the contract for the token, on the ethereum network.

    lifetimeLimit string

    Lifetime limits deposit per address note: this is a temporary measure that can be changed by governance.

    withdrawThreshold string

    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 string

    Name of the asset (e.g: Great British Pound).

    quantum string

    Minimum economically meaningful amount in the asset.

    symbol string

    Symbol of the asset (e.g: GBP).

    newFreeform object

    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.

    decimalPlaces uint64

    Decimal places used for the new futures market, sets the smallest price increment on the book.

    enableTransactionReordering If enabled aggressive orders sent to the market will be delayed by the configured number of blocks
    instrument object

    New futures market instrument configuration.

    code string

    Instrument code, human-readable shortcode used to describe the instrument.

    future object

    Future.

    cap object

    If set, this product creates a capped future market.

    binarySettlement boolean

    If set to true, the settlement price must either be zero, or equal to the max price.

    fullyCollateralised boolean

    If set to true, positions must be fully collateralised so there is no default risk for any party.

    maxPrice string

    Set the maximum price for orders, and settlement data in market decimals.

    dataSourceSpecBinding object

    Binding between the data source spec and the settlement data.

    settlementDataProperty string

    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.

    tradingTerminationProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • quoteName string

    Product quote name.

    settlementAsset string

    Asset ID for the product's settlement asset.

    name string

    Instrument name.

    perpetual object

    Perpetual.

    clampLowerBound string

    Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].

    clampUpperBound string

    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.

    settlementDataProperty string

    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.

    settlementScheduleProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • fundingRateLowerBound string

    Lower bound for the funding-rate such that the funding-rate will never be lower than this value.

    fundingRateScalingFactor string

    Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.

    fundingRateUpperBound string

    Upper bound for the funding-rate such that the funding-rate will never be higher than this value.

    interestRate string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    marginFundingFactor string

    Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].

    quoteName string

    Product quote name.

    settlementAsset string

    Asset ID for the product's settlement asset.

    spot object

    Spot.

    baseAsset string

    Base asset ID.

    quoteAsset string

    Quote asset ID.

    linearSlippageFactor string

    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.

    disposalFraction string

    Fraction of the open position the market will try to close in a single attempt; range 0 through 1.

    disposalSlippageRange string

    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).

    disposalTimeStep int64

    Interval, in seconds, at which the network will attempt to close its position.

    fullDisposalSize uint64

    Size of the position that the network will try to close in a single attempt.

    maxFractionConsumed string

    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.

    feeConstant string

    Constant liquidity fee used when using the constant fee method.

    method vegaLiquidityFeeSettingsMethod

    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.

    auctionExtension int64

    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.

    scalingFactor double

    Specifies scaling factors used in target stake calculation.

    timeWindow int64

    Specifies length of time window expressed in seconds for target stake calculation.

    triggeringRatio string

    Specifies the triggering ratio for entering liquidity auction.

    liquiditySlaParameters object
    commitmentMinTimeFraction string

    Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.

    performanceHysteresisEpochs uint64

    Specifies the number of liquidity epochs over which past performance will continue to affect rewards.

    priceRange string
    slaCompetitionFactor string

    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 double

    Mu parameter, annualised growth rate of the underlying asset.

    r double

    R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.

    sigma double

    Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.

    riskAversionParameter double

    Risk Aversion Parameter.

    riskFactorOverride object

    And optional override for the risk factor calculated by the risk model.

    long string

    Long Risk factor value.

    short string

    Short Risk factor value.

    tau double

    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.

    lpPriceRange string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    metadata string[]

    Optional new futures market metadata, tags.

    positionDecimalPlaces int64

    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[]
  • Array [
  • auctionExtension int64

    Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.

    horizon int64

    Price monitoring projection horizon τ in seconds.

    probability string

    Price monitoring probability level p.

  • ]
  • quadraticSlippageFactor string

    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.

    factorLong double

    Pre-defined risk factor value for long.

    factorShort double

    Pre-defined risk factor value for short.

    maxMoveUp double

    Pre-defined maximum price move up that the model considers as valid.

    minMoveDown double

    Pre-defined minimum price move down that the model considers as valid.

    probabilityOfTrading double

    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.

    insurancePoolFraction string

    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.

    parentMarketId string

    ID of the market that the successor should take over from.

    tickSize The market tick size defines the minimum change in quote price for the market
    newSpotMarket object

    Proposal change for creating new spot market on Vega.

    changes object

    Configuration of the new spot market.

    enableTransactionReordering If enabled aggressive orders sent to the market will be delayed by the configured number of blocks
    instrument object

    New spot market instrument configuration.

    code string

    Instrument code, human-readable shortcode used to describe the instrument.

    future object

    Future.

    cap object

    If set, this product creates a capped future market.

    binarySettlement boolean

    If set to true, the settlement price must either be zero, or equal to the max price.

    fullyCollateralised boolean

    If set to true, positions must be fully collateralised so there is no default risk for any party.

    maxPrice string

    Set the maximum price for orders, and settlement data in market decimals.

    dataSourceSpecBinding object

    Binding between the data source spec and the settlement data.

    settlementDataProperty string

    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.

    tradingTerminationProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • quoteName string

    Product quote name.

    settlementAsset string

    Asset ID for the product's settlement asset.

    name string

    Instrument name.

    perpetual object

    Perpetual.

    clampLowerBound string

    Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].

    clampUpperBound string

    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.

    settlementDataProperty string

    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.

    settlementScheduleProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • fundingRateLowerBound string

    Lower bound for the funding-rate such that the funding-rate will never be lower than this value.

    fundingRateScalingFactor string

    Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.

    fundingRateUpperBound string

    Upper bound for the funding-rate such that the funding-rate will never be higher than this value.

    interestRate string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    marginFundingFactor string

    Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].

    quoteName string

    Product quote name.

    settlementAsset string

    Asset ID for the product's settlement asset.

    spot object

    Spot.

    baseAsset string

    Base asset ID.

    quoteAsset string

    Quote asset ID.

    liquidityFeeSettings object

    Specifies how the liquidity fee for the market will be calculated.

    feeConstant string

    Constant liquidity fee used when using the constant fee method.

    method vegaLiquidityFeeSettingsMethod

    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 double

    Mu parameter, annualised growth rate of the underlying asset.

    r double

    R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.

    sigma double

    Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.

    riskAversionParameter double

    Risk Aversion Parameter.

    riskFactorOverride object

    And optional override for the risk factor calculated by the risk model.

    long string

    Long Risk factor value.

    short string

    Short Risk factor value.

    tau double

    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.

    metadata string[]

    Optional new spot market metadata, tags.

    priceDecimalPlaces uint64

    Decimal places used for the new spot market, sets the smallest price increment on the book.

    priceMonitoringParameters object

    Price monitoring parameters.

    triggers object[]
  • Array [
  • auctionExtension int64

    Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.

    horizon int64

    Price monitoring projection horizon τ in seconds.

    probability string

    Price monitoring probability level p.

  • ]
  • simple object

    Simple risk model parameters, valid only if MODEL_SIMPLE is selected.

    factorLong double

    Pre-defined risk factor value for long.

    factorShort double

    Pre-defined risk factor value for short.

    maxMoveUp double

    Pre-defined maximum price move up that the model considers as valid.

    minMoveDown double

    Pre-defined minimum price move down that the model considers as valid.

    probabilityOfTrading double

    Pre-defined constant probability of trading.

    sizeDecimalPlaces int64

    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.

    commitmentMinTimeFraction string

    Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.

    performanceHysteresisEpochs uint64

    Specifies the number of liquidity epochs over which past performance will continue to affect rewards.

    priceRange string
    slaCompetitionFactor string

    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.

    scalingFactor double

    Specifies scaling factors used in target stake calculation.

    timeWindow int64

    Specifies length of time window expressed in seconds for target stake calculation.

    tickSize The market tick size defines the minimum change in quote price for the market
    newTransfer object

    Proposal change for a governance transfer.

    changes object

    Configuration for a new transfer.

    amount Maximum amount to transfer
    asset ID of asset to transfer
    destination Specifies the account to transfer to, depending on the account type: Network treasury: leave empty Party: party's public key Market insurance pool: market ID
    destinationType Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool

    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]

    Default value: ACCOUNT_TYPE_UNSPECIFIED

    • 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'

    Margin account funds will vary as margin requirements on positions change

    • 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

    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

    • 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.
    fractionOfBalance Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance
    oneOff object
    deliverOn int64

    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.

    assetForMetric string

    Asset to use for metric.

    capRewardFeeMultiple string

    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).

    distributionStrategy Controls how the reward is distributed between qualifying parties

    Possible values: [DISTRIBUTION_STRATEGY_UNSPECIFIED, DISTRIBUTION_STRATEGY_PRO_RATA, DISTRIBUTION_STRATEGY_RANK, DISTRIBUTION_STRATEGY_RANK_LOTTERY]

    Default value: DISTRIBUTION_STRATEGY_UNSPECIFIED

    • 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.
    entityScope - ENTITY_SCOPE_INDIVIDUALS: Rewards must be distributed directly to eligible parties. - ENTITY_SCOPE_TEAMS: Rewards must be distributed to directly eligible teams, and then amongst team members

    Possible values: [ENTITY_SCOPE_UNSPECIFIED, ENTITY_SCOPE_INDIVIDUALS, ENTITY_SCOPE_TEAMS]

    Default value: ENTITY_SCOPE_UNSPECIFIED

    Mandatory enum that defines the entities within scope.

    individualScope vegaIndividualScope

    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.

    lockPeriod uint64
    markets string[]

    Optional markets in scope.

    metric - DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that uses the total maker fees paid in the market - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that uses the total maker fees received in the market - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that uses the total LP fees received in the market - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that uses total value of the market if above the required threshold and not paid given proposer bonus yet - DISPATCH_METRIC_RELATIVE_RETURN: Dispatch metric that uses the relative PNL of the party in the market - DISPATCH_METRIC_RETURN_VOLATILITY: Dispatch metric that uses return volatility of the party in the market - DISPATCH_METRIC_VALIDATOR_RANKING: Dispatch metric that uses the validator ranking of the validator as metric - DISPATCH_METRIC_REALISED_RETURN: Dispatch metric that uses the realised return of the party in a market - DISPATCH_METRIC_AVERAGE_NOTIONAL: Dispatch metric that uses the time weighted average notional - DISPATCH_METRIC_ELIGIBLE_ENTITIES: Dispatch metric that uses the eligibility criteria of entities

    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.

    nTopPerformers The proportion of the top performers in the team for a given metric to be averaged for the metric calculation if the scope is team
    notionalTimeWeightedAveragePositionRequirement Minimum notional time-weighted averaged position required for a party to be considered eligible. Defaults to 0
    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.

  • Array [
  • shareRatio int64
    startRank int64
  • ]
  • stakingRequirement Minimum number of governance (e.g. VEGA) tokens staked for a party to be considered eligible. Defaults to 0
    teamScope string[]
    transferInterval int32

    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.

    windowLength uint64
    endEpoch uint64

    Last epoch at which this transfer shall be paid.

    factor string

    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.

    startEpoch uint64
    source If network treasury, field is empty, otherwise uses the market ID
    sourceType Source account type, such as network treasury, market insurance pool

    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]

    Default value: ACCOUNT_TYPE_UNSPECIFIED

    • 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'

    Margin account funds will vary as margin requirements on positions change

    • 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

    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

    • 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.
    transferType "All or nothing" or "best effort": All or nothing: Transfers the specified amount or does not transfer anything Best effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount

    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.

    assetId string

    Asset ID the update is for.

    changes object

    Changes to apply on an existing asset.

    erc20 object

    Ethereum ERC20 asset update.

    lifetimeLimit string

    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.

    withdrawThreshold string

    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.

    quantum string

    Minimum economically meaningful amount in the asset.

    updateMarket object

    Proposal change for modifying an existing futures market on Vega.

    changes object

    Updated configuration of the futures market.

    enableTransactionReordering If enabled aggressive orders sent to the market will be delayed by the configured number of blocks
    instrument object

    Updated futures market instrument configuration.

    code string

    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.

    settlementDataProperty string

    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.

    tradingTerminationProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • quoteName string

    Human-readable name/abbreviation of the quote name.

    name Instrument name
    perpetual object

    Perpetual.

    clampLowerBound string

    Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].

    clampUpperBound string

    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.

    settlementDataProperty string

    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.

    settlementScheduleProperty string

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • fundingRateLowerBound string

    Lower bound for the funding-rate such that the funding-rate will never be lower than this value.

    fundingRateScalingFactor string

    Factor applied to funding-rates. This scales the impact that spot price deviations have on funding payments.

    fundingRateUpperBound string

    Upper bound for the funding-rate such that the funding-rate will never be higher than this value.

    interestRate string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    marginFundingFactor string

    Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].

    quoteName string

    Human-readable name/abbreviation of the quote name.

    linearSlippageFactor string

    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.

    disposalFraction string

    Fraction of the open position the market will try to close in a single attempt; range 0 through 1.

    disposalSlippageRange string

    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).

    disposalTimeStep int64

    Interval, in seconds, at which the network will attempt to close its position.

    fullDisposalSize uint64

    Size of the position that the network will try to close in a single attempt.

    maxFractionConsumed string

    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.

    feeConstant string

    Constant liquidity fee used when using the constant fee method.

    method vegaLiquidityFeeSettingsMethod

    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.

    auctionExtension int64

    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.

    scalingFactor double

    Specifies scaling factors used in target stake calculation.

    timeWindow int64

    Specifies length of time window expressed in seconds for target stake calculation.

    triggeringRatio string

    Specifies the triggering ratio for entering liquidity auction.

    liquiditySlaParameters object
    commitmentMinTimeFraction string

    Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.

    performanceHysteresisEpochs uint64

    Specifies the number of liquidity epochs over which past performance will continue to affect rewards.

    priceRange string
    slaCompetitionFactor string

    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 double

    Mu parameter, annualised growth rate of the underlying asset.

    r double

    R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.

    sigma double

    Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.

    riskAversionParameter double

    Risk Aversion Parameter.

    riskFactorOverride object

    And optional override for the risk factor calculated by the risk model.

    long string

    Long Risk factor value.

    short string

    Short Risk factor value.

    tau double

    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.

    lpPriceRange string

    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.

    cashAmount string

    Cash amount, in asset decimals, used for the calculation of the mark price from the order book.

    compositePriceType vegaCompositePriceType

    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.

  • Array [
  • 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.

    abi string

    The ABI of that contract.

    address string

    Ethereum address of the contract to call.

    args object[]

    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[]
  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • ]
  • method string

    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.

  • Array [
  • expression string
    name string
  • ]
  • requiredConfirmations uint64
    sourceChainId uint64

    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.

    every uint64

    Repeat the call every n seconds after the initial call. If no time for initial call was specified, begin repeating immediately.

    initial uint64

    Trigger when the Ethereum time is greater or equal to this time, in Unix seconds.

    until uint64

    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).

  • Array [
  • conditions object[]

    Conditions that should be matched by the data to be considered of interest.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • key object

    Data source's data property key targeted by the filter.

    name string

    Name of the property.

    numberDecimalPlaces uint64
    type v1PropertyKeyType

    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.

  • Array [
  • ethAddress object

    In case of an open oracle - Ethereum address will be submitted.

    address string
    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.

    key string
  • ]
  • 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.

  • Array [
  • operator ConditionOperator

    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 string

    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.

  • Array [
  • operator ConditionOperator

    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 string

    Value to be compared with by the operator.

  • ]
  • triggers object[]
  • Array [
  • every int64

    Repeat the trigger every n seconds after the initial. If no time for initial was specified, begin repeating immediately.

    initial int64

    Trigger when the vega time is greater or equal to this time, in Unix seconds.

  • ]
  • ]
  • dataSourcesSpecBinding object[]
  • Array [
  • priceSourceProperty string

    The property name of price.

  • ]
  • decayPower uint64

    Decay power used for the calculation of mark price.

    decayWeight string

    Decay weight used for calculation of mark price.

    sourceStalenessTolerance string[]

    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.

    sourceWeights string[]

    Weights for each composite price data source.

    metadata string[]

    Optional futures market metadata, tags.

    priceMonitoringParameters object

    Price monitoring parameters.

    triggers object[]
  • Array [
  • auctionExtension int64

    Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.

    horizon int64

    Price monitoring projection horizon τ in seconds.

    probability string

    Price monitoring probability level p.

  • ]
  • quadraticSlippageFactor string

    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.

    factorLong double

    Pre-defined risk factor value for long.

    factorShort double

    Pre-defined risk factor value for short.

    maxMoveUp double

    Pre-defined maximum price move up that the model considers as valid.

    minMoveDown double

    Pre-defined minimum price move down that the model considers as valid.

    probabilityOfTrading double

    Pre-defined constant probability of trading.

    tickSize The market tick size defines the minimum change in quote price for the market
    marketId string

    Market ID the update is for.

    updateMarketState object

    Proposal change for updating the state of a market.

    changes object
    marketId ID of the market
    price Settlement price, relevant only for market termination for futures markets
    updateType Type of the market update

    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.

    key string

    Unique key of the network parameter.

    value string

    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.

  • Array [
  • minimumEpochs string

    Required number of epochs a party must have been in a referral set to access this tier.

    minimumRunningNotionalTakerVolume string

    Required running notional taker volume in quantum units for parties to access this tier.

    referralDiscountFactor deprecated
    referralDiscountFactors object

    Referral discount factors for the various fees.

    infrastructureDiscountFactor string

    Proportion of the referee's infrastructure fee to be discounted.

    liquidityDiscountFactor string

    Proportion of the referee's liquidity fee to be discounted.

    makerDiscountFactor string

    Proportion of the referee's maker fee to be discounted.

    referralRewardFactor deprecated
    referralRewardFactors object

    Proportion of the referee's fees to be rewarded to the referrer.

    infrastructureRewardFactor string

    Proportion of the referee's infrastructure fees to be rewarded to the referrer.

    liquidityRewardFactor string

    Proportion of the referee's liquidity fees to be rewarded to the referrer.

    makerRewardFactor string

    Proportion of the maker fees to be rewarded.

    tierNumber uint64

    The tier number. It's set by the core, and used in the party fee stats API.

  • ]
  • endOfProgramTimestamp int64

    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.

  • Array [
  • minimumStakedTokens string

    Required number of governance tokens ($VEGA) a referrer must have staked to receive the multiplier.

    referralRewardMultiplier string

    Multiplier applied to the referral reward factor when calculating referral rewards due to the referrer.

  • ]
  • windowLength uint64

    Number of epochs over which to evaluate a referral set's running volume.

    updateSpotMarket object

    Proposal change for modifying an existing spot market on Vega.

    changes object

    Updated configuration of the spot market.

    enableTransactionReordering If enabled aggressive orders sent to the market will be delayed by the configured number of blocks
    instrument object

    Specifies the name and code of the spot instrument.

    code string

    Instrument code, human-readable shortcode used to describe the instrument.

    name Instrument name
    liquidityFeeSettings object

    Specifies how the liquidity fee for the market will be calculated.

    feeConstant string

    Constant liquidity fee used when using the constant fee method.

    method vegaLiquidityFeeSettingsMethod

    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 double

    Mu parameter, annualised growth rate of the underlying asset.

    r double

    R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.

    sigma double

    Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.

    riskAversionParameter double

    Risk Aversion Parameter.

    riskFactorOverride object

    And optional override for the risk factor calculated by the risk model.

    long string

    Long Risk factor value.

    short string

    Short Risk factor value.

    tau double

    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.

    metadata string[]

    Optional spot market metadata, tags.

    priceMonitoringParameters object

    Price monitoring parameters.

    triggers object[]
  • Array [
  • auctionExtension int64

    Price monitoring auction extension duration in seconds should the price breach its theoretical level over the specified horizon at the specified probability level.

    horizon int64

    Price monitoring projection horizon τ in seconds.

    probability string

    Price monitoring probability level p.

  • ]
  • simple object

    Simple risk model parameters, valid only if MODEL_SIMPLE is selected.

    factorLong double

    Pre-defined risk factor value for long.

    factorShort double

    Pre-defined risk factor value for short.

    maxMoveUp double

    Pre-defined maximum price move up that the model considers as valid.

    minMoveDown double

    Pre-defined minimum price move down that the model considers as valid.

    probabilityOfTrading double

    Pre-defined constant probability of trading.

    slaParams object

    Specifies the liquidity provision SLA parameters.

    commitmentMinTimeFraction string

    Specifies the minimum fraction of time LPs must spend "on the book" providing their committed liquidity.

    performanceHysteresisEpochs uint64

    Specifies the number of liquidity epochs over which past performance will continue to affect rewards.

    priceRange string
    slaCompetitionFactor string

    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.

    scalingFactor double

    Specifies scaling factors used in target stake calculation.

    timeWindow int64

    Specifies length of time window expressed in seconds for target stake calculation.

    tickSize The market tick size defines the minimum change in quote price for the market
    marketId string

    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.

  • Array [
  • minimumRunningNotionalTakerVolume string

    Required running notional taker volume in quantum units for parties to access this tier.

    tierNumber uint64

    The tier number. It's set by the core, and used in the party fee stats API.

    volumeDiscountFactor deprecated
    volumeDiscountFactors object

    Proportion of the taker fees to be discounted.

    infrastructureDiscountFactor string

    Proportion of the referee's infrastructure fee to be discounted.

    liquidityDiscountFactor string

    Proportion of the referee's liquidity fee to be discounted.

    makerDiscountFactor string

    Proportion of the referee's maker fee to be discounted.

  • ]
  • endOfProgramTimestamp int64

    Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled.

    windowLength uint64

    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.

  • Array [
  • additionalMakerRebate string

    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.

    minimumPartyMakerVolumeFraction string

    Fraction of a party's maker volume required for a party to access this tier.

    tierNumber uint64

    The tier number. It's set by the core, and used in the party fee stats API.

  • ]
  • endOfProgramTimestamp int64

    Timestamp as Unix time in seconds, after which when the current epoch ends, the program will end and benefits will be disabled.

    windowLength uint64

    Number of epochs over which to evaluate a referral set's running volume.

    validationTimestamp int64

    Validation timestamp as Unix time in seconds.

    protocolUpgradeProposal object

    Validator command sent manually to propose a protocol upgrade.

    upgradeBlockHeight uint64

    Block height at which to perform the upgrade.

    vegaReleaseTag string

    Release tag for the Vega binary.

    stateVariableProposal object

    Validator command sent automatically to reach consensus on floating point values.

    proposal object

    Details of the state variable being proposed.

    eventId string

    Event ID.

    kvb object[]

    Key value tolerance triplets.

  • Array [
  • key string
    tolerance string
    value object
    matrixVal object
    value object[]
  • Array [
  • value string[]
  • ]
  • scalarVal object
    value string
    vectorVal object
    value string[]
  • ]
  • stateVarId string

    State variable ID.

    stopOrdersCancellation object

    A command that instructs the network to cancel untriggered stop orders that were submitted by the sender of this transaction. If any cancelled stop order is part of an OCO, both stop orders will be cancelled. It is not possible to cancel another party's stop orders with this command.

    marketId string

    Restrict cancellations to those submitted to the given market. If not set, all stop orders across all markets will be cancelled.

    stopOrderId string

    Restrict cancellations to a stop order with the given ID. If set, then a market ID must also be provided.

    stopOrdersSubmission object

    A command that allows a party to submit a stop order for a given market. A stop order is a normal order that remains off the order book and is only submitted if a given trigger is breached from a particular direction. If both rises-above and falls-below are configured, then if one is triggered the other will be cancelled (OCO).

    fallsBelow object

    Stop order that will be triggered if the price falls below a given trigger price.

    expiresAt int64

    Timestamp, in Unix nanoseconds, for when the stop order should expire. If not set the stop order will not expire.

    expiryStrategy StopOrderExpiryStrategy

    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

    Order to be submitted once the trigger is breached.

    expiresAt int64

    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.

    minimumVisibleSize uint64

    Minimum allowed remaining size of the order before it is replenished back to its peak size.

    peakSize uint64

    Size of the order that is made visible and can be traded with during the execution of a single order.

    marketId string

    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 string

    Offset from the price reference.

    reference Pegged reference defines which price point a pegged order is linked to - meaning the price for a pegged order is calculated from the value of the reference price point

    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.

    postOnly boolean

    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 string

    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.

    reduceOnly boolean

    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.

    reference string

    Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.

    side Side relates to the direction of an order, to Buy, or Sell

    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 uint64

    Size for the order, for example, in a futures market the size equals the number of units.

    timeInForce Time In Force for an order

    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..

    type Type values for an order

    Possible values: [TYPE_UNSPECIFIED, TYPE_LIMIT, TYPE_MARKET, TYPE_NETWORK]

    Default value: TYPE_UNSPECIFIED

    Type of the order.

    price string

    Order will be submitted if the last traded price on the market breaches the given price.

    sizeOverrideSetting Indicates if this order is linked to an order or position to derive the order size

    Possible values: [SIZE_OVERRIDE_SETTING_UNSPECIFIED, SIZE_OVERRIDE_SETTING_NONE, SIZE_OVERRIDE_SETTING_POSITION]

    Default value: SIZE_OVERRIDE_SETTING_UNSPECIFIED

    sizeOverrideValue object
    percentage Scaling percentage of the current position’s size
    trailingPercentOffset string

    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.

    expiresAt int64

    Timestamp, in Unix nanoseconds, for when the stop order should expire. If not set the stop order will not expire.

    expiryStrategy StopOrderExpiryStrategy

    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

    Order to be submitted once the trigger is breached.

    expiresAt int64

    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.

    minimumVisibleSize uint64

    Minimum allowed remaining size of the order before it is replenished back to its peak size.

    peakSize uint64

    Size of the order that is made visible and can be traded with during the execution of a single order.

    marketId string

    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 string

    Offset from the price reference.

    reference Pegged reference defines which price point a pegged order is linked to - meaning the price for a pegged order is calculated from the value of the reference price point

    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.

    postOnly boolean

    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 string

    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.

    reduceOnly boolean

    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.

    reference string

    Arbitrary optional reference for the order, to be used as a human-readable non-unique identifier for the order.

    side Side relates to the direction of an order, to Buy, or Sell

    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 uint64

    Size for the order, for example, in a futures market the size equals the number of units.

    timeInForce Time In Force for an order

    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..

    type Type values for an order

    Possible values: [TYPE_UNSPECIFIED, TYPE_LIMIT, TYPE_MARKET, TYPE_NETWORK]

    Default value: TYPE_UNSPECIFIED

    Type of the order.

    price string

    Order will be submitted if the last traded price on the market breaches the given price.

    sizeOverrideSetting Indicates if this order is linked to an order or position to derive the order size

    Possible values: [SIZE_OVERRIDE_SETTING_UNSPECIFIED, SIZE_OVERRIDE_SETTING_NONE, SIZE_OVERRIDE_SETTING_POSITION]

    Default value: SIZE_OVERRIDE_SETTING_UNSPECIFIED

    sizeOverrideValue object
    percentage Scaling percentage of the current position’s size
    trailingPercentOffset string

    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.

    submitAmm object

    Command to create an automated market maker for a given market.

    commitmentAmount string

    Amount to be committed to the AMM.

    concentratedLiquidityParameters object

    Concentrated liquidity parameters defining the shape of the AMM's volume curves.

    base string

    Price that the AMM will quote as its "fair price" when its position is zero.

    leverageAtLowerBound string

    Leverage at lower bound. If not set the markets risk-factors will be used to calculate leverage.

    leverageAtUpperBound string

    Leverage at upper bound. If not set the markets risk-factors will be used to calculate leverage.

    lowerBound string

    Price at which the AMM will stop quoting buy volume. If not supplied the AMM will never hold a long position.

    upperBound string

    Price at which the AMM will stop quoting sell volume. If not supplied the AMM will never hold a short position.

    marketId string

    Market ID for which to create an AMM.

    proposedFee string

    Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market.

    slippageTolerance Slippage tolerance used for rebasing the AMM if its base price crosses with existing order
    transfer object

    Command to submit a transfer.

    amount string

    Amount to be taken from the source account, as an unsigned integer scaled to the asset's decimal places.

    asset string

    Asset ID of the asset to be transferred.

    from string

    AMM key from which assets are to be transferred, if applicable. The submitter of the transaction must be the owner of this AMM key. If provided, the 'from_account_type' must be REWARDS_VESTED, and the asset in this account must match the asset specified in the transfer.

    fromAccountType Various collateral/account types as used by Vega

    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]

    Default value: ACCOUNT_TYPE_UNSPECIFIED

    Account type from which the funds of the party should be taken.

    oneOff object

    Details of a one-off transfer that is executed once at a specified time.

    deliverOn int64

    Timestamp, in Unix nanoseconds, for when the transfer should be executed, i.e., assets transferred into the receiver's account.

    recurring object

    Details of a transfer that is executed once every epoch until stopped.

    dispatchStrategy object

    Optional parameter defining how a transfer is dispatched.

    assetForMetric string

    Asset to use for metric.

    capRewardFeeMultiple string

    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).

    distributionStrategy Controls how the reward is distributed between qualifying parties

    Possible values: [DISTRIBUTION_STRATEGY_UNSPECIFIED, DISTRIBUTION_STRATEGY_PRO_RATA, DISTRIBUTION_STRATEGY_RANK, DISTRIBUTION_STRATEGY_RANK_LOTTERY]

    Default value: DISTRIBUTION_STRATEGY_UNSPECIFIED

    • 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.
    entityScope - ENTITY_SCOPE_INDIVIDUALS: Rewards must be distributed directly to eligible parties. - ENTITY_SCOPE_TEAMS: Rewards must be distributed to directly eligible teams, and then amongst team members

    Possible values: [ENTITY_SCOPE_UNSPECIFIED, ENTITY_SCOPE_INDIVIDUALS, ENTITY_SCOPE_TEAMS]

    Default value: ENTITY_SCOPE_UNSPECIFIED

    Mandatory enum that defines the entities within scope.

    individualScope vegaIndividualScope

    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.

    lockPeriod uint64
    markets string[]

    Optional markets in scope.

    metric - DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that uses the total maker fees paid in the market - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that uses the total maker fees received in the market - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that uses the total LP fees received in the market - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that uses total value of the market if above the required threshold and not paid given proposer bonus yet - DISPATCH_METRIC_RELATIVE_RETURN: Dispatch metric that uses the relative PNL of the party in the market - DISPATCH_METRIC_RETURN_VOLATILITY: Dispatch metric that uses return volatility of the party in the market - DISPATCH_METRIC_VALIDATOR_RANKING: Dispatch metric that uses the validator ranking of the validator as metric - DISPATCH_METRIC_REALISED_RETURN: Dispatch metric that uses the realised return of the party in a market - DISPATCH_METRIC_AVERAGE_NOTIONAL: Dispatch metric that uses the time weighted average notional - DISPATCH_METRIC_ELIGIBLE_ENTITIES: Dispatch metric that uses the eligibility criteria of entities

    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.

    nTopPerformers The proportion of the top performers in the team for a given metric to be averaged for the metric calculation if the scope is team
    notionalTimeWeightedAveragePositionRequirement Minimum notional time-weighted averaged position required for a party to be considered eligible. Defaults to 0
    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.

  • Array [
  • shareRatio int64
    startRank int64
  • ]
  • stakingRequirement Minimum number of governance (e.g. VEGA) tokens staked for a party to be considered eligible. Defaults to 0
    teamScope string[]
    transferInterval int32

    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.

    windowLength uint64
    endEpoch uint64

    Last epoch at which this transfer shall be executed.

    factor string

    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.

    startEpoch uint64

    First epoch from which this transfer shall be executed.

    reference string

    Reference to be attached to the transfer.

    to string

    Public key of the destination account.

    toAccountType Various collateral/account types as used by Vega

    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]

    Default value: ACCOUNT_TYPE_UNSPECIFIED

    Type of the destination account.

    undelegateSubmission object

    Command to remove tokens delegated to a validator.

    amount string

    Amount to undelegate, as an unsigned integer scaled to the governance asset's decimal places. If not set, then all delegations to the given validator node will be removed.

    method v1UndelegateSubmissionMethod

    Possible values: [METHOD_UNSPECIFIED, METHOD_NOW, METHOD_AT_END_OF_EPOCH]

    Default value: METHOD_UNSPECIFIED

    Method of delegation.

    nodeId string

    Node ID to undelegate stake from.

    updateMarginMode object

    Command to update the margin mode of a party in a market.

    marginFactor Margin factor to use for margin in isolated mode. It is a multiplier that defines how much margin needs to be set aside
    marketId string

    Market to change margin mode for.

    mode - MODE_UNSPECIFIED: Never valid. - MODE_CROSS_MARGIN: Cross margin mode - margin is dynamically acquired and released as a position is marked to market - MODE_ISOLATED_MARGIN: Isolated margin mode - margin for any newly opened position volume is transferred to the margin account when the trade is executed

    Possible values: [MODE_UNSPECIFIED, MODE_CROSS_MARGIN, MODE_ISOLATED_MARGIN]

    Default value: MODE_UNSPECIFIED

    Margin mode to use.

    updatePartyProfile object

    Command to update a party's profile.

    alias string

    Alias given to the party. It must be unique network-wide.

    metadata object[]

    Freeform data to associate to the party. Support a maximum of 10 entries.

  • Array [
  • key string

    Key of the metadata.

    value string

    Value of the metadata.

  • ]
  • updateReferralSet object

    Command to update a referral set.

    id string

    ID of the referral set to update.

    isTeam boolean

    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.

    allowList string[]

    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.

    avatarUrl string

    New link to an avatar for the team.

    closed boolean

    Whether or not the team is closed to new party members. When closed, only parties specified in the allow list can join the team.

    name string

    New name of the team.

    teamUrl string

    New link to the team's homepage.

    validatorHeartbeat object

    Validator command sent automatically to signal regular participation in the network.

    ethereumSignature object

    Signature from the validator made using their Ethereum wallet.

    algo string

    Algorithm used to create the signature.

    value string

    Hex encoded bytes of the signature.

    version int64

    Version of the algorithm used to create the signature.

    message string

    Message which has been signed.

    nodeId string

    Node ID of the validator emitting the heartbeat.

    vegaSignature object

    Signature from the validator made using their Vega wallet.

    algo string

    Algorithm used to create the signature.

    value string

    Hex encoded bytes of the signature.

    version int64

    Version of the algorithm used to create the signature.

    voteSubmission object

    Command to submit a vote on a governance proposal.

    proposalId string

    Submit vote for the specified proposal ID.

    value Vote value

    Possible values: [VALUE_UNSPECIFIED, VALUE_NO, VALUE_YES]

    Default value: VALUE_UNSPECIFIED

    Actual value of the vote.

    withdrawSubmission object

    Command to submit a withdrawal.

    amount string

    Amount to be withdrawn, as an unsigned integer scaled to the asset's decimal places.

    asset string

    Asset to be withdrawn.

    ext object

    Details specific to the foreign chain, such as the receiver address.

    erc20 object

    ERC20 withdrawal details.

    receiverAddress string

    Address into which the bridge will release the funds.

    createdAt string

    Timestamp when the transaction happened, using RFC3399 format.

    cursor Cursor for this transaction. This is used for paginating results
    error Optional error happening when processing / checking the transaction This should be set if error code is not 0
    hash Hash of the transaction
    index int64
    pow object

    Components needed for the network to verify proof-of-work.

    nonce uint64

    Number which, combined with the transaction identifier, will produce a hash with the required number of leading zeros to be accepted by the network.

    tid string

    Unique transaction identifier used to seed the proof-of-work hash.

    signature object

    Signature definition that allows the network to authenticate external data.

    algo string

    Algorithm used to create the signature.

    value string

    Hex encoded bytes of the signature.

    version int64

    Version of the algorithm used to create the signature.

    submitter Vega public key of the transaction's submitter
    type Type of transaction
    version Version format of the transaction

    Possible values: [TX_VERSION_UNSPECIFIED, TX_VERSION_V2, TX_VERSION_V3]

    Default value: TX_VERSION_UNSPECIFIED

    Transaction versions to maintain backwards compatibility of transaction formats.

    • TX_VERSION_UNSPECIFIED: Transaction version is unspecified.
    • TX_VERSION_V2: Transaction requires the addition of a proof-of-work calculation.
    • TX_VERSION_V3: Transaction input data contains a prepended chain ID to prevent use of a single transaction across multiple networks.
Loading...