Liquidity v.2

Yes this is true, do you have an idea to solve this? Only way I see would be to connect everything to the amount of PRV someone holds. But then the whole DAO will be controlled by whales and last but not least mainly by the core team, because they have for sure a huge stack of PRV.

2 Likes

I think it would need to be based on a voting type.

Similar to the SSL certs we use on Web hosts, they are approved by a Central Authority (CA), but can be signed by sub-Authorities.

They must be renewed after a period of time.

Initially I thought this could not be token based but with a monthly and/or quarterly expiration of a trust token then everyone could move their trust to others.
Depending on length with the project, community involvement and prv staked, you would be given (x) tokens.

In this way:
if you have been in the project for a long time you know the issues and how the community works.

If you are in the forums posting, and responding you will have a knowledge of who is helping and who is just profiting.

If you have a large amount staked for a long duration you have the most to loose by bad decisions.

Now you can keep your trust tokens, but you will never have enough to have a high level of trust. So these tokens must be sent to others that you think are solid, trust-worthy people.

Let’s say user1 has 5 length, 5 participate, and 3 stakes. (Total 13)
user2 has 2 length, 2 participate, and 9 stakes (Total 13)
user3 has 2 length, 5 participate, and 0 stakes (Total 7)

User3 Trusts user2 but not user1. User3 can send 1 token to user2 and now they have more trust.
User2 can trust user3 and not user1 so he gives 6 tokens, now user3 have more trust than user1.
Obviously in small examples the scale of our members sharing just 1 or 2 tokens to key members will raise a group to a high trust level.
There may need to also be a secondary trust token that members get due to number of tokens they receive, that can be given to a other members to boost their trust level up.
This allows a user that is trusted to up-vote others and not be left as untrustworthy.

Just a rough idea of one concept to get the conversation started.

5 Likes

This is very interesting.

A governance token with no market to trade it is interesting. It can be earned through a variety of activities.

I don’t know if liquidity providers will want this new token in place of PRV…but it seems like earning PRV+gov token would be one way to earn the gov token.

My gut says I trust you guys to run this project…you’ve taken us this far and I know you have a lot of plans. You already take the community’s thoughts into account. Formalizing the structure might be a distraction or a burden. My gut says the value should be in creating working products and focusing just on PRV.

Can we wait X months to let the defi craze of earning governance tokens wear off and see what works in real life? My gut says that the projects that create value for the users, will have tokens that are valuable (and thus people will opt to earn this tokens for providing liquidity rather than fiat/interest in-kind). The projects that are not valuable will see pump and dump of the governance token.

The more I think about this, I don’t like the idea of another token. We have PRV and the focus should be there. I don’t have a good solution other than to tinker with the provide rates to build liquidity where you want to focus it—you’re doing that now successfully.

Since you’ve read a lot of replies here, can you give us any insight to what you and the team find intriguing from our comments?

5 Likes

This thread is definitely useful and brings into consideration several interesting ideas about governance and some understanding of what could incentivize people to provide more liquidity.

We do not rush with making a decision on it right away. Need to research more to be sure we choose the best solution.

Despite most of the comments here around governance and incentives, the first priority is Tech. Once we get the final design of the required changes, we will be able to estimate the timeline and kickstart work on the Economic part, then Governance and Growth.

5 Likes

i am trying to get an detailed understanding of how provide currently works. The main thing that I can’t seem to find documentation for is how providers of liquidity don’t ever lose anything from impermanent loss. For example if there is 100 BTC in liquidity then someone trades USDC for 10 BTC how is it possible that the liquidity providers of BTC see the same amount of BTC even though there is now only 90 BTC in liquidity remaining?

If I am misunderstanding something please let me know. If there is no documentation for this would i be able to find the answer to my question by looking through the code here https://github.com/incognitochain/incognito-chain?

1 Like

Hey @TeaBear5
The pDEX is based on AMM, so there is still impermanent loss possible, but it’s covered by the LP incentives fund. Find more about the fund here.

As you can see above, the Provide is a temporary solution for a smooth transition from ADD to the Liquidity V2. There is no special documentation for the Provide, but there will be documentation for Liquidity V2 (Tech & Economic). Just give us some time to work it out :sweat_smile:

5 Likes

Do you think we could create a new coin that is minted based on impermanent losses?
Basically depending on the time you withdraw, if you suffered from impermanent losses, you get a specific amount of this new coin to cover the losses. If you took no losses, then you don’t get the new coin. It would only be calculated on withdraw and the amount is correlated to the value of the losses (USD).

What is the use case?
What if your required to stake the coin to use the Provide Tab? Basically your buying losses to prevent yourself from losing your crypto. But this new coin would have value because to put more in Provide, you need to stake more of this coin. It might be an interesting concept to look into.

Maybe you could also make the coin be used for:

  • buying pNodes
  • some sort of lottery
  • Voting Rights
  • required as well as PRV to stake vNodes and pNodes (Could be interesting)
  • etc…

I like the idea of using this coin to give access to the Provide Tab, the value of the coin would be determined by how safe people want to be with their crypto assets.

Using a system like this,
Might require that when you pull out of the Provide Tab, the impermanent losses would be taken out of your holdings in this particular coin instead of your actual crypto. Meaning you still take impermanent losses, you just prepaid for it. But if the economics are done right, you could potentially be earning with the coin too which might counteract the costs to withdraw.

6 Likes

Hey, @Revolve thank you for sharing. The idea sounds interesting. Regarding the end-users wouldn’t it be complicated to understand for them? :thinking:.

2 Likes

Hmmm,
I was trying to think of a simple analogy that makes it easy for users to understand the concept, but I couldn’t think of anything. If we were to go more in depth on the system:

“Add” liquidity providers wouldn’t lose money from impermanent losses as they get compensated with a token at an amount that is equivalent to the losses. They can trade away this token and buy back the same amount of crypto that they lost. This also means providing for lower liquidity pools is less risky because your value isn’t lost.

People buy these tokens because it allows them to earn an APY from the provide tab without having the potential to lose their crypto assets. The Provide Tab also allows one sided provisions, so it’s beneficial for people who don’t want to match their capital with PRV in the “Add” section.

Companies like Nexo.io and Crypto.com all have their own coin that if you own, increases your APY. So it’s a similar concept, except there would be a few differences.


I’m not quite sure how the functionality of the new token should work as there could be many better alternatives then the one i’m putting forward.

With This System:
When users withdraw from “Add”, new tokens get minted based on impermanent losses and given to the provider. That means when people withdraw from the Provide Tab, which is a layer that works on top of the current “Add” functionality. New tokens would be generated.

We have a few options at this point:

  1. We could automatically exchange these new tokens to buy back the losses;
    – But this would just inflate the amount of tokens created and eventually the system would fall apart when to many tokens are generated.

  2. Instead of generating new tokens, we take the tokens from the persons account and use those to compensate for the losses;
    – This scenario forces the losses on to the user who uses the Provide Tab. (Problem)This might force users to use the “Add” feature instead, which means the demand for the token would go down, messing up the system, but i’m not sure.

  3. We could have a membership like program with the Provide Tab. To enter, you have to put these tokens into the Provide Tab. The tokens slowly get removed at a specific rate (Reverse Interest), and all your other holdings gain at at their rates.
    – It is a very weird idea, but the tokens getting drained by everyone who is using the Provide Tab can pay for the Impermanent losses. The earnings should be more then the losses, but idk if this would actually be the case.


I think option 2 is the best I have, but we need to create more of a demand for the token if we want it to succeed. I’d say adding it as a requirement for staking nodes would increase the demand really hard, but their might be other options.

Your average end-user doesn’t necessarily understand impermanent losses so your right that it might be difficult explaining why you have to add this token to the Provide Tab, and lose some of it when you withdraw. But if they earn enough money from putting this token into the provide tab through price increases, or some sort of staking system, then you could make it so they aren’t losing any money on the token and withdraws.

It would be much easier to explain buying this token to put money in. The money is then being used to generate more money to pay for the losses associated with withdrawing.

If putting the token into the Provide Tab returns a rate in the token itself, then it might work out. But I don’t know the logistics behind a mechanism like that. As long as users have to put some percentage of their value into the Provide Tab as this token, then I guess it could work (at least for a while).

Idk this was just some sort of crazy midnight idea I had a thought about, didn’t really work out all the details.

4 Likes

@andrey There is truly only one direction which is maintainable and sustainable over a long period of time. That is getting a part of the pair as a variable percentage of block rewards. Creating another token just for the liquidity has to be one of the most round about things ever. You already have a token it’s PRV. You have a proof of stake system for the voting and decisions. Having a secondary token only complicates and colludes the system while splitting the value.

Rewards for providing liquidity needs to be in the same coin as transacting that liquidity. That is what gives the liquidity coin value and drives bigger and bigger liquidity players (aka whales) to upfront their liquidity in a pool. With not enough liquidity this project will fail. I can’t say enough that other than safety of funds liquidity needs to be a central focus. If you can’t get off the ground you will never fly.

As of divergence loss (impermanent loss is a bad term because it makes people think that their losses will be recovered over time which isn’t true) being helped by a reward coins I think people are missing the point. The point of getting a reward by providing liquidity is not to offset any divergence loss it’s to get people invested in providing liquidity to the project. Which then is able to be used to vote on specific governance systems thus doing this to increase the value of their investment. As much as people hate the idea of big players controlling a large scale of the vote, as far as putting limitations on single addresses, it’s a ineffective way to control governance. A proportional token pricing like BeToken to make a successful vote is one way to combat manipulation. You don’t need to make it perfect just largely unprofitable for someone to attack it.

One of the best things about these DEFI systems is that everyone can be a winner. It provides rewards for those who can provide liquidity (if they were going to hold onto the funds anyway it’s free money to them) while making a pooled exchange system where people can safely transact that can’t be centrally taken down. By providing liquidity you are increasing the value of the reward which then makes people want to provide more liquidity. This is the exponential growth that uniswap got when they reached a breaking point where the slippage in the pool was low enough for the majority of regular trades. That then made people transact more to then increase the value of the reward to then make people provide more liquidity. The cycle repeats until everyone who could provide liquidity has provided liquidity and then it caps off. If that cap is still high enough for the majority of trades to not have a lot of slippage well the project has made it.

Liquidity needs to happen with two pairs in the pool. All the matching in provide is with one coin and PRV. This means that if PRV is ever missing from the pool where one side of the liquidity is provided we got a big problem. There needs to be a sizeable excess of PRV which scales with the liquidity pairing to make sure anything which can be matched DOES get matched and added to the liquidity pool. Right now incognito is relying upon a fixed company reserve to do the provide matching. The moment the reserve is spent liquidity will fall as things are not getting matched. It just makes sense to top up a reserve with a portion of the block rewards. It can scale depending on usage and the amount of things being matched or pending matching for the pool. Validators don’t look at this as cutting your reward. Your reward is paid in PRV. By making sure that liquidity is being matched it directly increases the value PRV in a sustainable and consistent manner which not only makes your stake more valuable overall but helps the health of the network. It’s sustainable and without a doubt the best method to make sure that PRV has a rising consistent value. It also will act as a kind of deflation method being that less PRV will be released to be sold. If you truly believe in the longevity of this project and want to see it’s long term success making sure that a portion of the block reward scales with the demand for the one sided provide matching is a must have.

Having a coin be created based on the ratio of divergence loss is an idea which is solved by this too. Being that people don’t need to back both the pairings in this system it’s no longer a problem. People can provide liquidity in the currency they want and the network itself will match it divergence loss will be a thing of the past. Rewards for providing liquidity (as I minted above) should be provided in the network coin which is PRV. The current set rates however are not sustainable. Instead the method that should be used is not a APR but a pooled reward system. Your reward for the pool is proportional to a fixed percentage of the network coin. These rewards should be from the block rewards too. The pools that are receiving more slippage should receive a higher pooled reward system incentivizing individuals to provide more liquidity. Ideally a portion of these pools should ideally be used to match the one sided pairs. The uniswap model does a really good job of this and I fully believe that this project should share it’s same vision. The coined term is “liquidity mining” and it’s the future for these projects.

8 Likes

@MrAwesome @Revolve. Thank you guys for your inputs.

This month @duc works on a tech design of the one-way liquidity implementation. I’ll draft an economic model of it. Once both parts are ready, we’ll share it here to discuss and analyze deeper.

Meanwhile, please keep sharing ideas, thoughts, models.

4 Likes

Take a look at the way the bancor v2 is done. It’s an amazingly smart protocol which I think would work well for this project. Provide is so good because it allows one side providing. That has shown to directly increase liquidity and reduce slippage. Secure price oracles are quite problematic to integrate outside of ethereum… but you can be the first :blush:

5 Likes

Hi everyone, I’m really happy there is such a fruitful discussion over this topic. It’s one of the most important topics for a long term success.

I’d say focus the energy on the product, the product has to be flawless. Flawless means: useful, secure, with vision and striving for perfect user experience.
Worry about the fees and incentives later. If some users leave because they are not making enough right now it just means they are here only for quick $$. Do what’s best for the Incognito system and it’s future. Than everyone who is here to help build the product will benefit from it later.

What is the main product Incognito is focusing on atm? Is it the shielding of any crypto asset or is it the privacyDEX? Or does it have to come together?

Regarding the liquidity sustainability options, I believe what @MrAwesome suggesting makes total sense.
Liquidity mining has become standard now for onboarding users but seems its not easy to maintain longterm. There has to be economic system set really well, I’d look at successful projects as Uniswap, Balancer, Bancor for inspiration.

To me the governance seems not as priority aspect atm.

Allowing any wallet to connect is essential for pDEX to grow. But than again what is the Incognito’s product you wanna market first?

2 Likes

While I do understand where you are coming from and that your intentions are good the “incentives and fees can come later” line of thinking is what fails so many of these projects.

Everything is so equally important because overall they are all pillars which make things work. You can’t get liquidity to come without incentives and you can’t sustain that liquidity incentive without fees. While governance does a lot of the times get put on the back burner it’s equally important because if only the founders can make onchain decision there is no true decentralization of trust. You would need to trust the founders to do everything which is problematic if persay they suddenly died or went mad. The keys to the kingdom needs to be spread out far and wide to reduce the likelihood of a single point of failure either person or protocol based.

When I look at incognito the true value comes from the utility it can provide for different people. If you want a way to hold your crypto but still have some rewards on it providing it to allow private trades is a great way to do that. If you don’t trust centralized exchanges and want to have as much control as possible, being able to deposit and exchange trustlessly for another cryptocurrency is so valuable. When transactions on the main cryptocurrency chain (see bitcoin or ethereum right now) are so expensive incognito allows people to transact like value within the currency they want to accept for basically nothing in comparable fees, it’s a great layer 2 solution.

These are not seperate utilities that need to be focused on differently. They are one utility, a governed blockchain DEX with a multi-cryptocurrency custodial approach, that can be used in many different ways. It’s so very important not to lose sight of that.

5 Likes

I think we should make pdaaps for new, non standard, features like: farming, stablecoin protocol etc… Like that we keep the main interface simple and smooth. In the same time we can have the pDapps for the more experienced users.

About @Revolve the idea is pretty interesting but i would instead represent the liquidity with LP tokens(Rebalancing pools) that after can be used for other purpose also(farming,staking on other pdaaps).
is there a way to calculate impermanent loss with LP token chart?
If so we could then give a token rewards for the impermanent loss that you could put, for example, on a liquidity pool with PRV/TOKEN get LPtoken and stake them to farm some other coin maybe!(DeFi Yield Farming using pDEX as main DEX and PRV as an intermediary coin)
PRV has strong fundamental value : mainnet coin, staking, provide ,shop. It should stay like this as the main coins of the whole network and other pdaaps could be able to use it.
Another token would never have the same utility but we could try to give it a value with external pdaaps!

2 Likes

Hey @Josef, thanks for the input. I do agree that only world-class products can drive the adoption of our technology.

Privacy in crypto is a small niche, nearly 3-5% of the whole market. Our goal is quite straight forward - to win the niche. To make it happen, we need to reach two goals:

To become the biggest anonymous, decentralized exchange:

About the niche:
Before Incognito pDEX, there was only Bisq. Last month Incognito pDEX caught Bisq in trading volume ≈ 150k/daily

To become the most used anonymous crypto wallet

About the niche

  • On one side, we have a

Samourai wallet which has 100k+ downloads, compared to Incognito’s 10k+

  • On another side, we have Wasabi wallet, that has anonymized $200M+ in BTC to date, compared to $20M+ on Incognito this year.

As you can see to become a leader on this market is quite achievable and if we all together combine effort towards one goal, it might happen even faster then we can imagine :slight_smile:


As always, we are open to discuss other ideas where incognito tech might be useful. Feel free to share your opinion on:

  1. What kind of other real-world problems should be solved by Incognito?
  2. What kind of product can’t exist without privacy (current or future) ?
7 Likes

I have a super crazy idea,
What if we allow staking of any coin through the app?

How would this work:
Each crypto is backed by PRV in the liquidity pools. Besides some trading, most of this PRV is just sitting there doing nothing. What if we have a feature where you can input a coin, and you gain earnings as if it were PRV.

Obviously there isn’t enough PRV in the liquidity pools to handle market price for everyone. So what if the amount that you earn is equivalent to something like:
1/2 the total PRV in a chosen liquidity pool divided by the total number of those pCoins that exists on the platform. (Maybe there are better numbers, idk)

That way when someone wants to stake a coin, they put the coin in the staking function, and some PRV (according to the above calculation) is temporarily allocated from the liquidity pool to staking. When the crypto is removed, the PRV is then allocated back to the liquidity pool. The whole time, the AMM’s pretend that the PRV never left the liquidity pool.
Basing the amount of PRV temporarily used on the number of PRV / pCoins available on the platform locks up enough of the coins to stop liquidity from crumbling. The amount of PRV that’s being staked in place of your coin would obviously be variable depending on the factors above.

We could even skim some from the top and give it to liquidity providers if we really wanted to, which would solve the above problem. Or we could add this feature to Provide and basically double down. Earn enough from this “staking” system to counteract the impermanent losses, and earn directly from transaction fees only. Basically staking liquidity with liquidity, which seems nuts and blows my mind.

TLDR:
When providing liquidity through Provide, you borrow PRV from the liquidity pool to stake and earn enough to counteract impermanent losses.

If the equation to borrow PRV is total PRV from liquidity pool divided by total amount of that particular pCoin on network, then when people pull out of liquidity the borrow amount goes down, meaning less earnings. If the AMM pretends like the PRV is still there, no harm no foul. As liquidity gets drained, the borrow amount gets returned (based on calculation). If liquidity goes up, the borrow amount gets increased.

Hey @Revolve to be honest, not sure if I fully got what you mean. Can you share an example with a real pair and numbers ?)

1 Like

Yes sorry, I might of over complicated it

Let’s say I provide 1 side of a pair for pXMR
XMR pool has 37640 PRV <-> 4376 pXMR

I provide 1 pXMR and it gets added to the liquidity pool. While that happens, behind the scenes, a specific amount of PRV get’s borrowed from the pool and staked.
The amount of PRV that gets borrowed would be equal to 37640(Total amount of PRV in the pool) divided by all pXMR that is currently minted * the amount provided. The rewards gained from staking this PRV would help supplement the cost of impermanent losses.

If people withdraw from the liquidity and the total amount of PRV goes down, the borrow amount goes down accordingly. Some PRV from staking has to go back to the liquidity pool. If the amount of PRV goes up, more PRV can be taken from the liquidity pool and staked. This is dynamic, so liquidity shouldn’t be able to crash.
The AMM’s pretend that no PRV was borrowed, so the price stays the same. This isn’t a problem because if people decide to take out or trade, the PRV that was being borrowed will be returned as needed.

Basically putting money in Provide allows you to borrow a certain amount of PRV from the liquidity pool so you can stake, but if prices change, the amount of PRV that is being staked changes.

It’s kind of like cheating.

It sounds like you are spending your lunch money twice, but I could be misunderstanding things due to the mix of provide pool and liquidity pool.