KIP-84: Increase the TWAP window for the futarchy test

KIP-76 introduced the Futarchy-Based Governance Rule for PNK Minting.

The KIP-81 proposal, currently live for voting and futarchy evaluation, expands the futarchy test to also apply to all proposals requesting DAO funding:

The current proposal, which establishes an ETH Treasury, carries the risk of attracting actors seeking to extract value through low-quality funding proposals. To mitigate this, we propose extending the Futarchy test from KIP-76 to all proposals requesting DAO funding.

We propose that the TWAP window for the futarchy test, as it applies to both KIP-76 and potentially (if approved) to KIP-81, be modified to measure the TWAP over the last 7-days of the voting period, to read as follows:

–

The Futarchy Test is considered passed for a KIP if the liquidity threshold is maintained for at least 7 days before the end of the KIP’s voting period, there is no modification to the wording of the KIP for the last 7 days, and the time-weighted average price (TWAP) of the “pass” (yes) outcome over the final 7 days before the end of the KIP’s voting period is greater than or equal to that of the “fail” (no) outcome. If not, the proposal fails the futarchy test, regardless of the Kleros DAO vote result.

–

Justification: the current 24h window seems insufficient for tokenholders to trade accordingly, making it technically challenging for tokenholders in favor of a proposal to coordinate to either buy YES-PNK, or sell NO-PNK, or alternatively, for tokenholders against a proposal to coordinate to sell YES-PNK, or to buy NO-PNK.

This difficulty can lead to fears or expectations of of market manipulation. In the current (pending) KIP-81, the futarchy markets currently estimate, in the first 1.5 days of the voting period, that the proposal will have a negative impact of -2%. If maintained until the end of the voting period, this will lead to the rejection of the proposal. And yet, the prediction market estimates (>70%) of the proposal passing, which means that the market estimate this impact estimate to “flip” at some point before the current date and the end of the voting period.

Such “predictable flipping” in a market is unusual, and means either that current markets are quite inefficient, or that there is an expectation of (successful) market manipulation of the conditional markets in the final 24h.

To reduce any fears that conditional markets are not accurate estimates of the token price post-decision, we propose to increase the TWAP window, making the estimate more robust.

3 Likes

But, the Futarchy Test failing or passing is different from the KIP-81 being approved by vote, right? Could it happen that KIP-81 is cancelled, and the vote approves it so that reality question resolves as Yes?

1 Like

The reality.eth question is whether the KIP will be approved by Kleros, not whether it will pass a majority vote of tokenholders on Snapshot.

KIP-76 states:

Submission for execution in the Kleros Governor of a proposal that failed the Futarchy Test compliant with the above mentioned requirements is grounds for challenge. It must be interpreted as failing to meet the Governor Dispute Guidelines’ requirement that states that the proposal must be accepted to be executed.

This should be very clear that a KIP failing the futarchy test has not been approved.

2 Likes

The 24h TWAP was not really discussed in the first proposal. I am in favor of increasing it. Maybe still exclude the first 2 days (as someone could start liquidity at a price super high and significantly affect the average) to make it the last 5 days.

2 Likes

I agree with @clesaege and would like to modify the proposal to only take into account the last 5 days, rather than the last 7 days.

2 Likes

The problem isn’t the length of the TWAP window. Changing it from 24 hours to seven days doesn’t fix anything because the underlying issue is that the futarchy markets have very low volume. When volume is this thin, anyone with a decent amount of capital can push the price in either direction for as long as they need, whether that’s one day, five days, or the entire week. A longer TWAP window just changes the timing of the manipulation, not the feasibility of it.

TWAP itself becomes meaningless in low-volume markets because the system interprets temporary liquidity spikes as genuine market sentiment. In reality, a whale can distort the signal simply by concentrating liquidity for a while and letting the TWAP average it in. The market isn’t speaking; one actor is. The outcome ends up reflecting who is willing to park the most money, not what anyone actually believes about the proposal’s impact.

If anything, the only real solution is to make the market less sensitive to these liquidity spikes. One way to do that is to apply a diminishing influence curve, where large injections of liquidity don’t translate linearly into “market belief.” That would at least keep a single actor from dominating the result just because the market is thin.

As long as volume stays low, TWAP is a band-aid that can always be gamed. The fix has to address the low volume itself, not how many hours you average it over.

Maybe use half of the total volume in the last 24 hours or something like that as the limit before diminishing impact kicks in. But come on, these solutions aren’t really solutions or even meaningful lol

i agree

i think the best is to start encouraging the community to use futarchy more actively. i like it a lot that its integrated into snapshot easy to click on it. perhaps a button which says “trade now” to make it clear.

once i am on futarchy app the interface is a bit complicated. i changed the ui so it makes more sense to me. what you think

@KlerosJuror, I will respectfully disagree. It is much easier to “push prices” beyond their fair value for short amounts of time.

Suppose someone wants to push the YES price above the fair value, for instance to get their preferred proposal to pass. If they keep such prices higher for 5 days, that means everybody against the proposal has five days of opportunity to sell their tokens above market price (conditional on the proposal passing).

In the limit, for manipulation to work in futarchy in order to approve a proposal, the “attacker” has to buy out everybody that is against and manages to sell in time. This is pretty hard to do if those against have several days to make their trades accordingly.

Regarding TWAP: you are right that in some markets, it is possible to manipulate the TWAP by just providing liquidity in the desired range, even if no trades happens. But this can only happen when there is no other liquidity. The current futarchy test requires at least 100k USD in full-range liquidity, meaning its not possible to modify the prices without cost.

And while any “whale” can cause a “spike” in the price, TWAP minimizes the impact of these. By definition, price spikes last very little, so they contribute very little to the average.

While that volume is not very high, we currently have 46K in volume for the KIP-81 market. Ultimately the solution to get higher volume is for both supporters and opponents of each proposal to participate in the markets, not necessarily to try to shift outcomes, but simply to trade according to their beliefs and potentially to make a profit.

image

@zebras.glimmer3o, we appreciate your support! I am very interested in your alternative UI. Would be happy if you could share it with us.

Our interface is also open-source: GitHub - futarchy-fi/interface: Public issue tracker and frontend repository for Futarchy.

We would be very happy if you would make contributions, or even create issues on what you see as things we can improve.

sure i can create an issue and link the figma file i am not a dev just like playing with figma sometimes.

question regarding futarchy. if i bet on the yes outcome where the current price is 0.018$ per pnk then this price is locked in for me even if the price of the yes outcome changes correct?

why would anyone want to buy pnk for higher then the market price? after the futarchy bet passed there is a low probability that the pnk price will reflect the futarchy outcome price. i thought futarchy should make economical sense.

1 Like

Great question. Yes, once you make a trade on the yes price, the price is locked even if the yes price, or the spot price, changes.

People may buy the yes price at a premium if they are not sure the proposal will be accepted, but they think the spot price will rise if it happens.

if i think the proposal will likely pass and the pnk yes price is bit higher then the current pnk price why would i buy pnk via futarchy, if i can buy it on the market for a better price? this seems irrational to me.

is the thinking like this:

lets say the current pnk price is 0.018$ and yes and no pnk price is also 0.018$.

i think the price will be lower if the proposal passes so i would sell yes pnk for 0.018$. now the yes pnk price would be 0.0178$. now another person comes and thinks the price will be even lower when the proposal passes so he sells also yes pnk. now yes pnk price is 0.0175$. so now the likelihood of the proposal to pass became lower. other user now perhaps sell pnk on the market and push the current pnk price down.

futarchy is for sure an interesting experiment with many moving parts

who is providing the liquidity to futarchy markets? who buys my pnk if the proposal passes?

have you thought about a futarchy option marketplace where instead of buying or selling pnk based on outcomes users buy sell/buy options which they can execute based on the outcome?

for example i create a pnk buy option order if the proposal passes for price x. if my order gets filled and the proposal passes and x is lower then the current price i would execute the option to buy pnk for x otherwise i want the sdai back

people who believe the price will be lower when the proposal passes can create a sell option order for price y or fill the open pnk buy option order for price x if the proposal passes

so there you would have conditional buy/sell options instead of conditional buy/sell orders