UIP: Liquidity Tournament

TL;DR: A new on-chain mechanism to incentivize LPs to compete to provide best-priced liquidity, and to reward delegators for helping to direct incentives to useful pairs.

Penumbra’s DEX is possibly the most advanced spot DEX engine ever created, with a batched intent system for incoming order flow, fine-grained control for concentrated liquidity providers, and an integrated on-chain solver that joins the parts together. While these attributes are attractive to sophisticated active LPs, there is a gap with respect to traditional bootstrapping mechanisms used by less sophisticated mechanisms like a UniV2 pool.

This UIP would propose a new mechanic to bootstrap DEX activity in a decentralized, open, and permissionless way: an ongoing, multi-round Liquidity Tournament which incentivizes competitive liquidity provision.

As the goal is to incentivize useful, capital-efficient liquidity, rather than merely locking capital, incentives are distributed according to a two-tier structure, first according to delegator preferences on trading pairs, and then according to volume within those pairs.

Liquidity providers maximize their score by filling users’ trades – but because Penumbra’s DEX executes trades in batches with optimal on-chain routing, liquidity providers cannot trade against their own positions, unless those positions are offering the optimal market price to all users of the system, or, in other words, unless those liquidity providers are winning the competition to provide best-priced liquidity on the DEX.

Delegators choose which pairs to direct liquidity incentives to, and are rewarded for participation. This decentralizes decisionmaking and rewards active participation in the protocol – effectively providing a bonus for “active stakers”.

How it Works

Each round of the Liquidity Tournament corresponds to a single staking epoch, and completes at the end of the epoch. In each round, a fixed-size Tournament Incentive Pool is programmatically withdrawn from the Community Pool, then split into two sub-pools, an LP Incentive Pool and a Delegator Incentive Pool.

During the round, delegators perform gauge voting on which assets they feel the protocol should incentivize. Assets that receive more than a parameterized threshold (e.g., 5%) become eligible for rewards.

The LP Incentive Pool is sub-divided into per-asset incentive pools according to the results of delegator gauge voting. The incentive pool for asset XYZ is allocated to liquidity positions on the UM:XYZ pair, according to the volume those positions have processed during the round, by crediting UM incentives into the position reserves.

The Delegator Incentive Pool is programmatically distributed to the delegators who voted on asset allocation, pro rata to their share of the total votes cast, but independent of how they voted. These incentives are issued as additional delegation tokens, pre-bonded to the same validator the delegator used for voting, so that delegators can auto-compound their stake.

Rationale

Penumbra’s DEX is designed to promote a competitive liquidity environment – all concentrated liquidity, with the best-price liquidity winning all of the order flow it can handle – and this mechanism incentivizes useful participation in the system, creating competitive dynamics between participants that align behavior and prevent manipulation, while reducing overall risk.

First, overall risk is capped by a constant, top-level parameter controlling the rate of incentives that flow into the system. All user-driven incentive steering directs this fixed-rate stream of incentives, and cannot increase it. This means that even if all other design safeguards and mechanisms fail, an attacker who found a way to mis-direct incentives would have a bounded per-block payout, while their exploit strategy would be visible to all other users of the system.

This structure also incentivizes early participation, breaking the cold-start problem. If no users are participating, the first user to participate can claim all of the fixed-size reward pool, creating a strong incentive to participate. At the same time, the second user also has a strong marginal incentive to participate, promoting the competition that makes the mechanism work.

Next, user-driven decisionmaking by delegators further subdivides the incentive streams. This encourages participation by delegators, who must actively engage with the protocol in each round to receive rewards.

Then, per-pair substreams are allocated on the basis of volume provided. On other DEXes, this would be easily manipulable, with LPs wash trading against their own positions to pump the volume metrics. However, this is not possible on Penumbra, which (a) processes all trades in batches at the end of each block and (b) optimally routes those trades across all available liquidity on the basis of price. The only way for an LP to execute a swap against their own liquidity is to ensure that their liquidity position is the best-priced position across all pairs. But they cannot do this without offering that liquidity, at the best price, to all users of the system. In other words, the economic mechanism design of the DEX requires attempts to subvert the system to actually perform the desired behavior.

5 Likes

One small question: implicit in your proposal and diagram seems to be that UM would be the quote asset / be part of the pair for all pairs incentivized by this liquidity tournament. Is there a specific economic rationale behind this choice? Although DEXs seem to often do this, I’ve never seen a clear rationale, and it’s not clearly always in their interests - e.g. Osmosis is now moving away from OSMO pairings.

1 Like

Originally, OSMO incentives was aimed for OSMO to be the routing token. Focusing incentives exclusive to UM pairs makes sense until we can gather volume data that can helps us compete with other DEXs. Osmosis is shifting OSMO strategy to governance and revenue after a couple of years making OSMO as the routing token, Penumbra isn’t there yet.

Yes, there are a few reasons:

  1. Using a single asset means that all of the volume numbers are directly comparable, as they’re all in the same numeraire.
  2. Using a single asset prevents fragmentation of delegators’ choices, allowing delegators to vote on assets rather than pairs or pools.
  3. UM is the center of the arbitrage mechanism that keeps prices consistent across all pairs: in every block, the chain searches for paths from UM to UM. So liquidity on UM<>XYZ pairs is relatively more efficient at spreading throughout the liquidity graph.
  4. Requiring that all LPs eligible for rewards are on an UM<>XYZ pair means the chain can issue liquidity tournament rewards directly into the LP reserves, so that newly issued tokens automatically provide liquidity without extra intervention on the part of the LP.

Osmosis doesn’t do on-chain routing, so these considerations are probably different there.

3 Likes

Would it be possible for other projects to contribute token incentives? For instance, could Namada provide NAM incentives for liquidity providers of the NAM:UM pair?

One approach could involve Namada transferring a specified amount of NAM to Penumbra community pool, which would then be distributes alongside UM incentives, assuming governance approves for incentivizing the NAM:UM pair. Alternatively, is it easier for NAM incentives to be distributed directly by Namada after recipient LP tokens are determined at the end of each epoch?

ref: Brainstorming for Namada's roadmap ⚡ - #16 by cwgoes - Technical Zone - Namada

2 Likes

TL;DR: It’s time that Henry’s proposed Liquidity Tournament be put into motion as a component of the Penumbra protocol. It’s time to deepen the liquidity of the Penumbra shielded pool so that the premiere private trading experience can be first-in-class.

In this post, I want to outline what this rollout could look like and how this would concur with the software Penumbra Labs has been building to compliment their release of Veil, the premiere private trading experience for Penumbra. Explicitly, it is in response to the most important quality missing for Penumbra: deep, high-quality, and highly-available liquidity.

In this post, I’ll speak on:

  1. The state of Penumbra’s DEX, Veil, and the importance of Penumbra’s anonymity set
  2. The Liquidity Tournament Software

1. Focusing on Penumbra’s DEX, the Veil Trading Experience and the Long-Term Utility of the Anonymity Set

With Veil having launched, Penumbra Labs has continued building quality-of-life improvements. What the ecosystem lacks is a mechanism to attract users, and a key pillar for any DEX is sufficient protocol liquidity. Penumbra has taken @hdevalence’s insight in producing software meeting these requirements. Now that Veil is a premiere trading experience for private token swaps, the next priority is deepening protocol liquidity while improving its quality.

Using incentives built from the protocol itself is strategic. While reaching out to marketmakers throughout the cryptoeconomy could artificially inflate Penumbra’s activity, making Penumbra inherently useful long-term is far more advantageous for the ideal trading experience.

It’s crucial traders access not just available liquidity, but ‘high-quality’ liquidity—uniquely possible on Penumbra due to how it traverses the liquidity graph: liquidity of the highest quality (best pricing and availability) is the most likely to be used in executing transactions on the graph of available liquidity.

It is my understanding that Penumbra Labs has taken @hdevalence’s insight in producing software meeting these requirements, and I propose enacting it as part of the protocol.

The Current State of Penumbra’s DEX

Over the last year, Penumbra has undergone a constellation of engaged efforts to improve user experience. The focus on incrementally improving interaction software has paid off massively.

Penumbra now has a native private trading experience without user experience trade-offs. Considering the community initially had to eat glass to conduct private transactions—it’s time to deploy this UIP. Without liquidity covering what users expect from a trading experience, Penumbra’s DEX hasn’t truly been turned ‘on’—this UIP represents a meaningful step toward making the DEX a central network feature.

The Importance of a Working Shielded Pool

The Penumbra ecosystem expands by ensuring baseline privacy requirements are met. With a working Shielded Pool containing deep liquidity encouraging low-slippage trading, far more becomes possible. Trading is Penumbra’s first frontier; any cryptocurrency future requires an economy fueling transaction needs.

2. The Liquidity Tournament as a Tool for Improving Penumbra’s Private Trading Experience

By adopting the software that Penumbra Labs is developing for this purpose, we can now make this possible. By adopting the Liquidity Tournament software, LPs will be offered incentives for providing liquidity to the protocol, and delegators who have staked the UM token will be able to vote for which liquidity is most important to the chain.

The intent of the Liquidity Tournament should be two things:

  • To deepen the available liquidity to trade with
  • To increase the quality of the liquidity available

Henry outlines his rationale for how the Liquidity Tournament could be structured, but in practice the software emphasizes the involvement of those who stake UM to the protocol as the population who can vote each Epoch on which pairs should be prioritized for incentives.

Proposed Structure of Incentives and a plan for Rollout

I would propose that the Penumbra Liquidity Tournament software provide incentives earmarked from the Penumbra Community Pool in the amount of 1mUM (1 Million UM, or 1% of the total supply). Explicitly, this means that the UM earmarked for this purpose is not new issuance, but is instead coming from protocol-held liquidity that is already a part of the total supply to the network since Genesis.

As @hdevalence mentioned in his original post, the incentives should be:

  1. distributed first to delegators who perform the work of signaling what liquidity is high quality, then,
  2. to liquidity providers who provide the highest-quality liquidity used in trading on Penumbra and Veil.

As a recap, the liquidity offered these incentives would (initially) be on LP positions oriented toward anchoring UM as a core asset of the Penumbra ecosystem; since transacting on Penumbra is cheapest when using UM, it should act as a natural vector for swap transactions traversing the liquidity graph.

The plan behind how these incentives could be distributed would take place over the course of:

  1. A signaling proposal from the Penumbra community to engage in the Liquidity Tournament
  2. Several sequentially agreed-upon periods (Tranches) with a capped incentive amount, based on the Liquidity Tournament’s performance as an incentive mechanism
  3. Governance proposals submitted for ratification that would supply the Liquidity Tournament module with the funding necessary

Once necessary discussion has taken place outlining the intent of incorporating the Liquidity Tournament module into the protocol, I’d suggest an on-chain proposal be issued for ratification by delegators for Penumbra to take on a protocol software change incorporating the requirements of the Tournament.

4 Likes

I think it would be really great if this went to a proposal on the network