Skip to main content
Version: mainnet (v0.75)

List governance data

GET 

/api/v2/governances

Get a list of proposals

Request

Query Parameters

    proposalState string

    Possible values: [STATE_UNSPECIFIED, STATE_FAILED, STATE_OPEN, STATE_PASSED, STATE_REJECTED, STATE_DECLINED, STATE_ENACTED, STATE_WAITING_FOR_NODE_VOTE]

    Default value: STATE_UNSPECIFIED

    Restrict proposals to those with the given state.

    • STATE_UNSPECIFIED: Default value, always invalid
    • STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed
    • STATE_OPEN: Proposal is open for voting
    • STATE_PASSED: Proposal has gained enough support to be executed
    • STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.
    • STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.
    • STATE_ENACTED: Proposal enacted.
    • STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal
    proposalType string

    Possible values: [TYPE_UNSPECIFIED, TYPE_ALL, TYPE_NEW_MARKET, TYPE_UPDATE_MARKET, TYPE_NETWORK_PARAMETERS, TYPE_NEW_ASSET, TYPE_NEW_FREE_FORM, TYPE_UPDATE_ASSET, TYPE_NEW_SPOT_MARKET, TYPE_UPDATE_SPOT_MARKET, TYPE_NEW_TRANSFER, TYPE_CANCEL_TRANSFER, TYPE_UPDATE_MARKET_STATE, TYPE_UPDATE_REFERRAL_PROGRAM, TYPE_UPDATE_VOLUME_DISCOUNT_PROGRAM]

    Default value: TYPE_UNSPECIFIED

    Restrict proposals to those with the given type.

    • TYPE_ALL: List all proposals
    • TYPE_NEW_MARKET: List new market proposals
    • TYPE_UPDATE_MARKET: List update market proposals
    • TYPE_NETWORK_PARAMETERS: List change Vega network parameter proposals
    • TYPE_NEW_ASSET: New asset proposals
    • TYPE_NEW_FREE_FORM: Proposals for creating a new free form proposal
    • TYPE_UPDATE_ASSET: Update asset proposals
    • TYPE_NEW_SPOT_MARKET: Propose a new spot market
    • TYPE_UPDATE_SPOT_MARKET: Update an existing spot market
    • TYPE_NEW_TRANSFER: Propose a new transfer
    • TYPE_CANCEL_TRANSFER: Proposal to cancel a transfer
    • TYPE_UPDATE_MARKET_STATE: Proposal for updating the state of a market
    • TYPE_UPDATE_REFERRAL_PROGRAM: Proposal to update the referral program
    • TYPE_UPDATE_VOLUME_DISCOUNT_PROGRAM: Proposal to update the volume discount program
    proposerPartyId string

    Restrict proposals to those proposed by the given party ID.

    proposalReference string

    Restrict proposals to those with the given reference.

    pagination.first int32

    Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.

    pagination.after string

    If paging forwards, the cursor string for the last row of the previous page.

    pagination.last int32

    Number of records to be returned that sort less than row identified by cursor supplied in 'before'.

    pagination.before string

    If paging forwards, the cursor string for the first row of the previous page.

    pagination.newestFirst boolean

    Whether to order the results with the newest records first. If not set, the default value is true.

Responses

A successful response.

Schema
    connection object

    Page of governance data and corresponding page information.

    edges object[]

    Page of governance data and their corresponding cursors.

  • Array [
  • cursor string

    Cursor that can be used to fetch further pages.

    node object

    Governance data content, i.e. proposal and votes for and against.

    no object[]

    All NO votes against the proposal above.

  • Array [
  • elsPerMarket object[]

    The per market weight of the vote compared to the total amount of equity-like share on the market.. It is only populated if the vote is for a batch type proposal.

  • Array [
  • els string

    The equity-like share weight for this market.

    marketId string

    The market ID.

  • ]
  • partyId string

    Voter's party ID.

    proposalId string

    Proposal ID being voted on.

    timestamp int64

    Timestamp in Unix nanoseconds when the vote was acknowledged by the network.

    totalEquityLikeShareWeight string

    The weight of the vote compared to the total amount of equity-like share on the market. It is only populated if the vote is for a single type proposal.

    totalGovernanceTokenBalance string

    Total number of governance token for the party that cast the vote.

    totalGovernanceTokenWeight string

    The weight of this vote based on the total number of governance tokens.

    value Vote value

    Possible values: [VALUE_UNSPECIFIED, VALUE_NO, VALUE_YES]

    Default value: VALUE_UNSPECIFIED

    Which way the party voted.

  • ]
  • noParty object

    All latest NO votes by party which is guaranteed to be unique, where key (string) is the party ID i.e. public key and value (Vote) is the vote cast by the given party.

    property name* Governance vote
    elsPerMarket object[]

    The per market weight of the vote compared to the total amount of equity-like share on the market.. It is only populated if the vote is for a batch type proposal.

  • Array [
  • els string

    The equity-like share weight for this market.

    marketId string

    The market ID.

  • ]
  • partyId string

    Voter's party ID.

    proposalId string

    Proposal ID being voted on.

    timestamp int64

    Timestamp in Unix nanoseconds when the vote was acknowledged by the network.

    totalEquityLikeShareWeight string

    The weight of the vote compared to the total amount of equity-like share on the market. It is only populated if the vote is for a single type proposal.

    totalGovernanceTokenBalance string

    Total number of governance token for the party that cast the vote.

    totalGovernanceTokenWeight string

    The weight of this vote based on the total number of governance tokens.

    value Vote value

    Possible values: [VALUE_UNSPECIFIED, VALUE_NO, VALUE_YES]

    Default value: VALUE_UNSPECIFIED

    Which way the party voted.

    proposal object

    Governance proposal that is being voted on.

    batchId string

    ID of a batch proposal that this proposal is part of.

    batchTerms object

    Batch proposal terms.

    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.

    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.

    instrument object

    New futures market instrument configuration.

    code string

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

    future object

    Future.

    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.

    name string

    Product name.

    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.

    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.

    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.

    decimalPlaces uint64

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

    instrument object

    New spot market instrument configuration.

    code string

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

    future object

    Future.

    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.

    name string

    Product name.

    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.

    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.

    positionDecimalPlaces int64

    Decimal places for order sizes, sets what size the smallest order / position on the spot 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.

  • ]
  • 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
    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_AVERAGE_POSITION, 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]

    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_AVERAGE_POSITION: Per asset market reward account given for average position
    • 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
    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]

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

    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_AVERAGE_POSITION: Dispatch metric that uses the time weighted average position - 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

    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_AVERAGE_POSITION, DISPATCH_METRIC_RELATIVE_RETURN, DISPATCH_METRIC_RETURN_VOLATILITY, DISPATCH_METRIC_VALIDATOR_RANKING]

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

  • 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[]
    windowLength uint64
    endEpoch uint64

    Last epoch at which this transfer shall be paid.

    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_AVERAGE_POSITION, 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]

    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_AVERAGE_POSITION: Per asset market reward account given for average position
    • 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
    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.

    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.

    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.

    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 string

    Proportion of the referee's taker fees to be discounted.

    referralRewardFactor string

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

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

    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.

    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.

    volumeDiscountFactor string

    Proportion of the taker fees 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.

  • ]
  • closingTimestamp int64

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

    proposalParams object

    Specific parameters defining the proposal's characteristics used for validation.

    maxClose int64

    Represents the maximum time that a proposal can be open for voting.

    maxEnact int64

    Represents the maximum time before an enacted proposal must take effect.

    minClose int64

    Represents the minimum time before a proposal can be closed for voting.

    minEnact int64

    Represents the minimum time before an enacted proposal takes effect.

    minEquityLikeShare string

    Specifies the minimum share that is akin to equity, which a participant must hold for their vote to be eligible.

    minProposerBalance string

    Specifies the minimum governance token balance a proposer must hold to initiate a proposal.

    minVoterBalance string

    Specifies the minimum governance token balance a voter must hold to participate in voting.

    requiredMajority string

    Specifies the required percentage of votes a proposal needs to be approved.

    requiredMajorityLp string

    Specifies the required majority percentage from liquidity providers for a proposal to be approved.

    requiredParticipation string

    Specifies the required percentage of eligible participants that must partake in the proposal for it to be valid.

    requiredParticipationLp string

    Specifies the required percentage of participation from liquidity providers for the proposal to be valid.

    errorDetails string

    Detailed error associated to the reason.

    id string

    Unique proposal ID.

    partyId string

    Party ID i.e. public key of the party submitting the 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.

    reason List of possible errors that can cause a proposal to be in state rejected or failed

    Possible values: [PROPOSAL_ERROR_UNSPECIFIED, PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON, PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE, PROPOSAL_ERROR_ENACT_TIME_TOO_SOON, PROPOSAL_ERROR_ENACT_TIME_TOO_LATE, PROPOSAL_ERROR_INSUFFICIENT_TOKENS, PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY, PROPOSAL_ERROR_NO_PRODUCT, PROPOSAL_ERROR_UNSUPPORTED_PRODUCT, PROPOSAL_ERROR_NO_TRADING_MODE, PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE, PROPOSAL_ERROR_NODE_VALIDATION_FAILED, PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD, PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS, PROPOSAL_ERROR_INVALID_ASSET, PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS, PROPOSAL_ERROR_NO_RISK_PARAMETERS, PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY, PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE, PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED, PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL, PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE, PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET, PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT, PROPOSAL_ERROR_INVALID_RISK_PARAMETER, PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED, PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED, PROPOSAL_ERROR_INVALID_ASSET_DETAILS, PROPOSAL_ERROR_UNKNOWN_TYPE, PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE, PROPOSAL_ERROR_INVALID_FREEFORM, PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE, PROPOSAL_ERROR_INVALID_MARKET, PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES, PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS, PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE, PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE, PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE, PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE, PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE, PROPOSAL_ERROR_INVALID_SPOT, PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED, PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET, PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED, PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID, PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID, PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE, PROPOSAL_ERROR_INVALID_SLA_PARAMS, PROPOSAL_ERROR_MISSING_SLA_PARAMS, PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT, PROPOSAL_ERROR_INVALID_REFERRAL_PROGRAM, PROPOSAL_ERROR_INVALID_VOLUME_DISCOUNT_PROGRAM, PROPOSAL_ERROR_PROPOSAL_IN_BATCH_REJECTED, PROPOSAL_ERROR_PROPOSAL_IN_BATCH_DECLINED]

    Default value: PROPOSAL_ERROR_UNSPECIFIED

    Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses.

    reference string

    Proposal reference.

    requiredLiquidityProviderMajority string

    Required majority from liquidity providers, optional but is required for market update proposal.

    requiredLiquidityProviderParticipation string

    Required participation from liquidity providers, optional but is required for market update proposal.

    requiredMajority string

    Required majority for this proposal.

    requiredParticipation string

    Required vote participation for this proposal.

    state Proposal state transition: Open -> - Passed -> Enacted. - Passed -> Failed. - Declined Rejected Proposal can enter Failed state from any other state

    Possible values: [STATE_UNSPECIFIED, STATE_FAILED, STATE_OPEN, STATE_PASSED, STATE_REJECTED, STATE_DECLINED, STATE_ENACTED, STATE_WAITING_FOR_NODE_VOTE]

    Default value: STATE_UNSPECIFIED

    Current state of the proposal, i.e. open, passed, failed etc.

    terms object

    Proposal configuration and the actual change that is meant to be executed when proposal is enacted. Single proposal term.

    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.

    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.

    instrument object

    New futures market instrument configuration.

    code string

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

    future object

    Future.

    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.

    name string

    Product name.

    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.

    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.

    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.

    decimalPlaces uint64

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

    instrument object

    New spot market instrument configuration.

    code string

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

    future object

    Future.

    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.

    name string

    Product name.

    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.

    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.

    positionDecimalPlaces int64

    Decimal places for order sizes, sets what size the smallest order / position on the spot 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.

  • ]
  • 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
    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_AVERAGE_POSITION, 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]

    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_AVERAGE_POSITION: Per asset market reward account given for average position
    • 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
    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]

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

    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_AVERAGE_POSITION: Dispatch metric that uses the time weighted average position - 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

    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_AVERAGE_POSITION, DISPATCH_METRIC_RELATIVE_RETURN, DISPATCH_METRIC_RETURN_VOLATILITY, DISPATCH_METRIC_VALIDATOR_RANKING]

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

  • 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[]
    windowLength uint64
    endEpoch uint64

    Last epoch at which this transfer shall be paid.

    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_AVERAGE_POSITION, 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]

    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_AVERAGE_POSITION: Per asset market reward account given for average position
    • 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
    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.

    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[]