VMP-47 - 1000PEPE/USDT (Perpetual market)

Create Perpetual market 1000PEPE/USDT

While a plan is agreed on by the community and the market maker (Upcoming protocol release and Arbitrum asset bridge), I would like to propose a new future market using the arbitrum USDT asset as settlement.

Also because everyone has been waiting for it, I’d like to propose a PEPE market. Because pepe price is so small this market would be for a 1000 PEPE per contract. The following contract deployed on gnosis (0x2BA6654FdB605637994047ecA217a02E224c4828) will be used a oracle price source for the external price used for funding payment, it takes any asset a return the price multiplied by the second parameters passed to the contract call (1000 in this case).

Also, to encourage market maker to support this new market, a small reward will be associated with this market for an initial duration of 3 months using the community funds.

Here’s the market proposal:

{
  "proposalSubmission": {
    "rationale": {
      "title": "VMP-47 - Create 1000PEPE/USDT Perpetual Market",
      "description": "This proposal requests to create a PEPE (PEPE) Perpetual Market settled in USDT (https://community.vega.xyz/t/vmp-47-1000pepe-usdt-future-market/4500)"
    },
    "reference": "",
    "terms": {
      "closingTimestamp": "/*TODO*/",
      "enactmentTimestamp": "/*TODO*/",
      "validationTimestamp": "0",
      "newMarket": {
        "changes": {
          "instrument": {
            "code": "1000PEPE/USDT",
            "name": "1000 PEPE / Tether USD (Perpetual)",
            "decimalPlaces": "7",
            "positionDecimalPlaces": "-3",
            "tickSize": "100",
            "perpetual": {
              "settlementAsset": "2a1f29de786c49d7d4234410bf2e7196a6d173730288ffe44b1f7e282efb92b1",
              "quoteName": "USDT",
              "marginFundingFactor": "0.9",
              "interestRate": "0.1095",
              "clampLowerBound": "-0.0005",
              "clampUpperBound": "0.0005",
              "dataSourceSpecForSettlementSchedule": {
                "internal": {
                  "timeTrigger": {
                    "conditions": [
                      {
                        "operator": "OPERATOR_GREATER_THAN",
                        "value": "0"
                      }
                    ],
                    "triggers": [
                      {
                        "every": "28800"
                      }
                    ]
                  }
                }
              },
              "dataSourceSpecForSettlementData": {
                "external": {
                  "ethOracle": {
                    "address": "0x2BA6654FdB605637994047ecA217a02E224c4828",
                    "abi": "[{\"inputs\": [{\"internalType\": \"bytes32\", \"name\": \"id\", \"type\": \"bytes32\"}, {\"internalType\": \"int32\", \"name\": \"multiplier\", \"type\": \"int32\"}], \"name\": \"getPrice\", \"outputs\": [{\"internalType\": \"int256\", \"name\": \"\", \"type\": \"int256\" }], \"stateMutability\": \"view\", \"type\": \"function\"}]",
                    "method": "getPrice",
                    "args": [
                      "0xd69731a2e74ac1ce884fc3890f7ee324b6deb66147055249568869ed700882e4",
                      1000
                    ],
                    "trigger": {
                      "timeTrigger": {
                        "every": "60"
                      }
                    },
                    "requiredConfirmations": "3",
                    "filters": [
                      {
                        "key": {
                          "name": "pepe.price",
                          "type": "TYPE_INTEGER",
                          "numberDecimalPlaces": "18"
                        },
                        "conditions": [
                          {
                            "operator": "OPERATOR_GREATER_THAN",
                            "value": "0"
                          }
                        ]
                      }
                    ],
                    "normalisers": [
                      {
                        "name": "pepe.price",
                        "expression": "$[0]"
                      }
                    ],
                    "sourceChainId": "100"
                  }
                }
              },
              "dataSourceSpecBinding": {
                "settlementDataProperty": "pepe.price",
                "settlementScheduleProperty": "vegaprotocol.builtin.timetrigger"
              },
              "fundingRateScalingFactor": "1",
              "fundingRateLowerBound": "-0.001",
              "fundingRateUpperBound": "0.001",
              "internalCompositePriceConfiguration": {
                "decayWeight": "1",
                "decayPower": "1",
                "cashAmount": "50000000",
                "sourceWeights": [
                  "0",
                  "0.999",
                  "0.001",
                  "0"
                ],
                "sourceStalenessTolerance": [
                  "1m0s",
                  "1m0s",
                  "10m0s",
                  "10m0s"
                ],
                "compositePriceType": "COMPOSITE_PRICE_TYPE_WEIGHTED",
                "dataSourcesSpec": [
                  {
                    "external": {
                      "ethOracle": {
                        "address": "0x2BA6654FdB605637994047ecA217a02E224c4828",
                        "abi": "[{\"inputs\": [{\"internalType\": \"bytes32\", \"name\": \"id\", \"type\": \"bytes32\"}, {\"internalType\": \"int32\", \"name\": \"multiplier\", \"type\": \"int32\"}], \"name\": \"getPrice\", \"outputs\": [{\"internalType\": \"int256\", \"name\": \"\", \"type\": \"int256\" }], \"stateMutability\": \"view\", \"type\": \"function\"}]",
                        "method": "getPrice",
                        "args": [
                          "0xd69731a2e74ac1ce884fc3890f7ee324b6deb66147055249568869ed700882e4",
                          1000
                        ],
                        "trigger": {
                          "timeTrigger": {
                            "every": "60"
                          }
                        },
                        "requiredConfirmations": "3",
                        "filters": [
                          {
                            "key": {
                              "name": "pepe.price",
                              "type": "TYPE_INTEGER",
                              "numberDecimalPlaces": "18"
                            },
                            "conditions": [
                              {
                                "operator": "OPERATOR_GREATER_THAN",
                                "value": "0"
                              }
                            ]
                          }
                        ],
                        "normalisers": [
                          {
                            "name": "pepe.price",
                            "expression": "$[0]"
                          }
                        ],
                        "sourceChainId": "100"
                      }
                    }
                  }
                ],
                "dataSourcesSpecBinding": [
                  {
                    "priceSourceProperty": "pepe.price"
                  }
                ]
              }
            }
          },
          "metadata": [
            "base:PEPE",
            "quote:USDT",
            "oracle:pyth",
            "oracleChain:gnosis",
            "class:fx/crypto",
            "perpetual",
            "sector:defi",
            "enactment:2024-02-04T15:00:00Z",
            "domain:https://www.pepe.vip/"
          ],
          "priceMonitoringParameters": {
            "triggers": [
              {
                "horizon": "120",
                "probability": "0.9999999",
                "auctionExtension": "60"
              },
              {
                "horizon": "120",
                "probability": "0.9999999",
                "auctionExtension": "60"
              },
              {
                "horizon": "120",
                "probability": "0.9999999",
                "auctionExtension": "60"
              },
              {
                "horizon": "120",
                "probability": "0.9999999",
                "auctionExtension": "60"
              },
              {
                "horizon": "120",
                "probability": "0.9999999",
                "auctionExtension": "60"
              },
              {
                "horizon": "200",
                "probability": "0.9999999",
                "auctionExtension": "300"
              },
              {
                "horizon": "200",
                "probability": "0.9999999",
                "auctionExtension": "300"
              },
              {
                "horizon": "200",
                "probability": "0.9999999",
                "auctionExtension": "300"
              },
              {
                "horizon": "200",
                "probability": "0.9999999",
                "auctionExtension": "300"
              },
              {
                "horizon": "200",
                "probability": "0.9999999",
                "auctionExtension": "300"
              },
              {
                "horizon": "400",
                "probability": "0.9999999",
                "auctionExtension": "900"
              },
              {
                "horizon": "400",
                "probability": "0.9999999",
                "auctionExtension": "900"
              },
              {
                "horizon": "400",
                "probability": "0.9999999",
                "auctionExtension": "900"
              },
              {
                "horizon": "400",
                "probability": "0.9999999",
                "auctionExtension": "900"
              },
              {
                "horizon": "400",
                "probability": "0.9999999",
                "auctionExtension": "900"
              },
              {
                "horizon": "400",
                "probability": "0.9999999",
                "auctionExtension": "900"
              },
              {
                "horizon": "500",
                "probability": "0.9999999",
                "auctionExtension": "1800"
              },
              {
                "horizon": "500",
                "probability": "0.9999999",
                "auctionExtension": "1800"
              },
              {
                "horizon": "500",
                "probability": "0.9999999",
                "auctionExtension": "1800"
              },
              {
                "horizon": "500",
                "probability": "0.9999999",
                "auctionExtension": "1800"
              },
              {
                "horizon": "500",
                "probability": "0.9999999",
                "auctionExtension": "1800"
              },
              {
                "horizon": "500",
                "probability": "0.9999999",
                "auctionExtension": "1800"
              },
              {
                "horizon": "500",
                "probability": "0.9999999",
                "auctionExtension": "1800"
              },
              {
                "horizon": "620",
                "probability": "0.9999999",
                "auctionExtension": "3600"
              },
              {
                "horizon": "620",
                "probability": "0.9999999",
                "auctionExtension": "3600"
              },
              {
                "horizon": "620",
                "probability": "0.9999999",
                "auctionExtension": "3600"
              },
              {
                "horizon": "620",
                "probability": "0.9999999",
                "auctionExtension": "3600"
              },
              {
                "horizon": "620",
                "probability": "0.9999999",
                "auctionExtension": "3600"
              },
              {
                "horizon": "620",
                "probability": "0.9999999",
                "auctionExtension": "3600"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "750",
                "probability": "0.9999999",
                "auctionExtension": "7200"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              },
              {
                "horizon": "800",
                "probability": "0.9999999",
                "auctionExtension": "28800"
              }
            ]
          },
          "liquidityMonitoringParameters": {
            "targetStakeParameters": {
              "timeWindow": "3600",
              "scalingFactor": 0.05
            },
            "triggeringRatio": "0.9",
            "auctionExtension": "1"
          },
          "logNormal": {
            "riskAversionParameter": 1e-06,
            "tau": 7.1e-06,
            "params": {
              "mu": 0,
              "r": 0,
              "sigma": 1.5
            }
          },
          "linearSlippageFactor": "0.001",
          "quadraticSlippageFactor": "0",
          "liquiditySlaParameters": {
            "priceRange": "0.005",
            "commitmentMinTimeFraction": "0.5",
            "performanceHysteresisEpochs": "0",
            "slaCompetitionFactor": "1"
          },
          "liquidityFeeSettings": {
            "method": "METHOD_MARGINAL_COST"
          },
          "liquidationStrategy": {
            "disposalTimeStep": "1",
            "disposalFraction": "1",
            "fullDisposalSize": "1000000",
            "maxFractionConsumed": "0.1",
            "disposalSlippageRange": "1"
          },
          "markPriceConfiguration": {
            "decayWeight": "1",
            "decayPower": "1",
            "cashAmount": "0",
            "sourceWeights": [
              "0",
              "0",
              "1",
              "0"
            ],
            "sourceStalenessTolerance": [
              "1m0s",
              "1m0s",
              "1m0s",
              "1m0s"
            ],
            "compositePriceType": "COMPOSITE_PRICE_TYPE_WEIGHTED",
            "dataSourcesSpec": [
              {
                "external": {
                  "ethOracle": {
                    "address": "0x2BA6654FdB605637994047ecA217a02E224c4828",
                    "abi": "[{\"inputs\": [{\"internalType\": \"bytes32\", \"name\": \"id\", \"type\": \"bytes32\"}, {\"internalType\": \"int32\", \"name\": \"multiplier\", \"type\": \"int32\"}], \"name\": \"getPrice\", \"outputs\": [{\"internalType\": \"int256\", \"name\": \"\", \"type\": \"int256\" }], \"stateMutability\": \"view\", \"type\": \"function\"}]",
                    "method": "getPrice",
                    "args": [
                      "0xd69731a2e74ac1ce884fc3890f7ee324b6deb66147055249568869ed700882e4",
                      1000
                    ],
                    "trigger": {
                      "timeTrigger": {
                        "every": "60"
                      }
                    },
                    "requiredConfirmations": "3",
                    "filters": [
                      {
                        "key": {
                          "name": "pepe.price",
                          "type": "TYPE_INTEGER",
                          "numberDecimalPlaces": "18"
                        },
                        "conditions": [
                          {
                            "operator": "OPERATOR_GREATER_THAN",
                            "value": "0"
                          }
                        ]
                      }
                    ],
                    "normalisers": [
                      {
                        "name": "pepe.price",
                        "expression": "$[0]"
                      }
                    ],
                    "sourceChainId": "100"
                  }
                }
              }
            ],
            "dataSourcesSpecBinding": [
              {
                "priceSourceProperty": "pepe.price"
              }
            ]
          }
        }
      }
    }
  }
}

And the associated reward which will be updated and submitted once the market is enacted:

{
  "proposalSubmission": {
    "rationale": {
      "title": "Reward for ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES for the 1000PEPE/USDT market",
      "description": "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES rewards for the 1000PEPE/USDT market"
    },
    "terms": {
      "closingTimestamp": /*TODO*/,
      "enactmentTimestamp": /*TODO*/,
      "newTransfer": {
        "changes": {
          "sourceType": "ACCOUNT_TYPE_NETWORK_TREASURY",
          "transferType": "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT",
          "amount": "100000000000000000000",
          "asset": "d1984e3d365faa05bcafbe41f50f90e3663ee7c0da22bb1e24b164e9532691b2",
          "fractionOfBalance": "1",
          "destinationType": "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES",
          "recurring": {
            "startEpoch": /*TODO*/,
            "endEpoch": /*TODO*/,
            "dispatchStrategy": {
              "assetForMetric": "2a1f29de786c49d7d4234410bf2e7196a6d173730288ffe44b1f7e282efb92b1",
              "metric": "DISPATCH_METRIC_LP_FEES_RECEIVED",
              "windowLength": "1",
              "entityScope": "ENTITY_SCOPE_INDIVIDUALS",
              "individualScope": "INDIVIDUAL_SCOPE_ALL",
              "transferInterval":"1",
              "lockPeriod": "7",
              "distributionStrategy": "DISTRIBUTION_STRATEGY_PRO_RATA",
              "markets": ["/*TODO_ONCE_MARKET_ENACTED*/"]
            }
          }
        }
      }
    }
  }
}
2 Likes

I looked at the oracle specification and checked against the contract on gnosis scan and it looks good. It’s a different contract to the one used on some of the perp markets, but it looks like the only material change is the getPrice function now has an overload with a multiplier.

Doing a 1kPEPE market makes sense to me, since that’s also how a lot of other exchanges trade Pepe.

My only clarification is the title says future, but the market spec is for a perp

1 Like

You’re right that was a mistake of mine as I copied past another existing proposal as a template from this forum, let me fix the orginal post.

edit: changed the title -Future +Perpetual

So the plan is to reward 100 VEGA for the one’s who provide liquidity?

To make it a bit more easy to understand what one votes for, the description could probably be something in the terms of:
Rewards liquidity providers for the 1000PEPE/USDT market 100 VEGA per epoch.

Market proposal live and ready for voting here VEGA Governance

The liquidity reward program will follow

Here’s an updated version of the reward, the changes from the original are the following:

  • Given the current price of vega, changed the reward per epoch from 100 to 200
  • Updated the description as per comment
  • Set the timestamps and epochs
  • Updated the marketId with the ID of the market
{
  "proposalSubmission": {
    "rationale": {
      "title": "Reward for ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES for the 1000PEPE/USDT market",
      "description": "Rewards liquidity providers for the 1000PEPE/USDT market 100 VEGA per epoch."
    },
    "terms": {
      "closingTimestamp": "1718355600",
      "enactmentTimestamp": "1718355600",
      "newTransfer": {
        "changes": {
          "sourceType": "ACCOUNT_TYPE_NETWORK_TREASURY",
          "transferType": "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT",
          "amount": "200000000000000000000",
          "asset": "d1984e3d365faa05bcafbe41f50f90e3663ee7c0da22bb1e24b164e9532691b2",
          "fractionOfBalance": "0.01",
          "destinationType": "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES",
          "recurring": {
            "startEpoch": "946",
            "endEpoch": "1006",
            "dispatchStrategy": {
              "assetForMetric": "2a1f29de786c49d7d4234410bf2e7196a6d173730288ffe44b1f7e282efb92b1",
              "metric": "DISPATCH_METRIC_LP_FEES_RECEIVED",
              "windowLength": "1",
              "entityScope": "ENTITY_SCOPE_INDIVIDUALS",
              "individualScope": "INDIVIDUAL_SCOPE_ALL",
              "transferInterval":"1",
              "lockPeriod": "7",
              "distributionStrategy": "DISTRIBUTION_STRATEGY_PRO_RATA",
              "markets": ["dd711e8271f6b17f00e972200745a0de8af6b43ceac91c77d7bc4a0b045dd657"]
            }
          }
        }
      }
    }
  }
}

A updated version of the rewards scheme for LPs has been posted now VEGA Governance

The pepe market has had liquidity for the last 24h now. However it’s been noticed by the community that the markets has been constently in price monitoring auction.

This is due to the fact that the price monitoring bounds have been set too tight for such a volatile market.

This proposal implement a market update with less tight bounds.

These are the expected triggers with this new setup:

- 1m-5m auction for ~10% price moves within 1h
- 5m-25m auction for ~20% price moves within 6h
- 15m-1h30m auction for ~25% price moves within 12h
- 30m-3h30m auction for ~35% price moves within 1d
- 1h-6h auction for ~70% price moves within 7d
- 8h-4d auction for ~90% price moves within 30d

@Pierre_Robes the link you posted is for a new market submission. Did you mean to post a market update?

It’s actually an update, I used the same proposal as the submission as a base, but didn’t change the title. Here’s an updated link

Tried to submit the update proposal, but the timestamps were off and now our governance keys cannot send more proposals this epoch. If you can provide a new proposal with timestamps after 00:00 UTC, then we can post a new proposal sometime after epoch roll-over but before 00:00 UTC

@banks this proposal should be fine now. Closing and enactement timestamps at 00:00 UTC on the 20th

The proposal for updated auction triggers are now on governance VEGA Governance