πTrading Competitions
Trading competitions rank users by their trading activity over a defined time window and distribute rewards based on final position. They combine Fuul's Leaderboard payout type with a trading trigger.
How it works
Define a competition start and end date
Choose a ranking metric β volume, PnL, or custom formula
Configure rewards per position (1st place, top 10, etc.)
Users trade during the period β rankings update in near real-time
At the end date, rewards are distributed based on final standings
Competition types
Volume-based
Users are ranked by the total USD value of trades made during the period.
Best for: Incentivizing overall activity and liquidity depth.
Example:
1st
5,000 USDC
2nd
2,500 USDC
3rdβ10th
500 USDC each
Configuration: payout scheme rank, amount source volume.
PnL-based
Users are ranked by their realized profit and loss during the period.
Best for: Rewarding skilled traders rather than high-volume participants.
Configuration: payout scheme rank, amount source revenue (PnL maps to the revenue metric in Fuul's data model).
PnL tracking requires a supported perpetuals integration β HyperLiquid or Orderly. Spot trading triggers do not support PnL ranking.
Custom formula-based (points)
Users earn points through a custom scoring formula that combines multiple metrics β for example, weighting volume, fees generated, and trade count differently.
Best for: Nuanced competitions that reward multiple behaviors simultaneously.
Example formula:
Implementation: use a points program where your backend calculates the score and submits it via the Custom Offchain Events API, or use a proportional pool with the relevant metric as its amount source.
Creating a competition
Create a conversion with a trading trigger (HyperLiquid, Orderly, etc.)
Add a Leaderboard incentive to the conversion
Configure the date range, ranking metric, and rewards per position
One leaderboard incentive can be active per program at a time.
Display live rankings in your app β Volume Leaderboard Β· Points Leaderboard
Last updated