This an updated version of [WIP] Liquidity mining rewards. The motivation and direction are the same but the implementation details are a bit different.
We expect to launch this in the next few days assuming no major issues
Motivation
In no particular order, the following are some of the items we wanted to focus on with this proposal
 Reward early traders with PERP rewards
 Attract more traders to Perpetual Protocol and boost our trading volume.
 Distribute PERP to continue our route to decentralisation
 Create a positive feedback loop for traders and stakers  the liquidity mining should increase trading volume which in turn leads to more trading fees which flow into the insurance fund as well as higher yields for stakers. This in turn then drives the demand of PERP as there is greater visibility and then starts the loop again as new traders discover the protocol
 Prevent wash trading
 Reward traders who keep their positions open for longer
Proposal
The following is a highlevel proposal of how we are looking to structure the initial program
 Provide liquidity mining rebates for trading fees
 The Liquidity Mining program will run for 2 weeks as a test program
 The weekly rewards will be capped at 150K of PERP in the trial period
 Taker fee rebates are given out to traders
 6month lockup and all rewards paid in PERP (is used to mitigate wash trading so a trader can’t simply just trade at a loss for as many fees as possible as if the price of PERP goes down during the lockup period they make a loss)
Reward Calculation Time
 Every Monday at 06:00 UTC
OffChain Process
The following are the details

For all the traders who traded last week (From Monday 0:00 UTC to Sunday 23:59:59 UTC), we calculate the trading activities for each trader by:
TradingActivity = Sum of individual Trades
Where a trade is defined as either:
// 1. Where position duration is > 30 minutes Trade = position size * position duration // 2. Where the case where position duration < 30 minutes then Trade = (position size * position duration) / 3 // Where position size is the actual change that occurs in USD // (e.g. if a position is already open and is reduced by 50K, then the position size is 50K) // Position duration is in seconds

The team will aggregate the
TradingActivities
from all traders and calculate the weight of each trader:Weight = TradingActivity / Sum of all the TradingActivities

Once we have weights for all the traders, we then distribute the weekly rewards to trades by weight:
PerpRewardCap = Sum of all trading fees by trader in this week (Fees are converted to PERP by TWAP of last day from CoinGecko) PerpRewardByTrader = PERP rewards weekly * Weight // Note that if PerRewardByTrader > PerRewardCap then PerRewardByTrader = PerRewardCap

Reward vesting schedule:
 Tokens immediately claimable: PerpRewardByTrader * 55%
 Tokens to be unlocked in 6 months time: PerpRewardByTrader * 55%

The result will be uploaded to IPFS for everyone who wants to verify it.

Traders will be able to claim their rewards on a site similar to the Balancer one (see https://claim.balancer.finance/)
Example
 Alice opened a 2x long position using
25K
USDC  Alice closed half of her long position
 Alice closed her long position and opened a new 1x short position using
25K
USDC  Alice closed her short position
At the end of this period, Alice’s TradingActivity
is:
TradingActivity = (50K * 20 * 1/3) + (25K * 30) + (25K * 30) = 1.83M
Alice’s trading fees paid during this period is:
(50K * 0.1%) + (25K * 0.1%) + (50K * 0.1%) + (25K * 0.1%) = 150 USDC
= 30 PERP (Suppose 1 PERP = 5 USDC)
Suppose that the overall total TradingActivities
are 1.83B
, Alice’s PERP reward is:
// Weekly amount * weight
PerpReward = 150K * (1.83M / 1.83B) = 150 PERP
But because Alice’s trading fees paid during this period is 30 PERP
, the reward will be capped by the trading fees. In the end, the PERP reward she will get is:
Right away: 30 PERP * 55% = 16.5 PERP
6 months later: 30 PERP * 55% = 16.5 PERP
Q&A

What happens when someone opens a long and short position at the same time?
Opening long and short positions at the same time is more like buying PERP futures that expired in 6 months.

Will I still receive rewards when I opened a position two weeks ago and don’t make any trade last week?
You will receive 0 transaction mining rewards if you don’t make any trades last week. It sounds a little strange but it’s to prevent wash trading.