Liquidity v.2

@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.

This is spending the lunch money twice. Let alone if you are providing one side of the pair you have no impermanent loss at all. PRV can’t just be borrowed indefinitely. It needs to come from somewhere.

Staking doesn’t directly increase the price of all PRV. While technically yes do to the less available supply it would push for higher current cost of PRV but unless you are buying something the price wouldn’t be directly effected.

It seems you might be confused upon how multiple parts of the pooling process works and how provide effects that. Provide’s one sided pairing is matched by a kind of founder reserve where incognito’s team upfronts PRV to match the unmatched one sided provide. For example if XMR is provided they match the price equally with PRV from their reserve. That creates the increased pool liquidity to transact larger amounts. The reward also at this time comes from the reserve because there is currently no block reward percentage which is put into reserve.

PRV has a currently capped supply (which I find to be problematic but I’ll explain that in another post) and the supply at this time continues to go up. Reserving supply, while it does remove active supply, does not directly correlate with the increase or decrease of a certain asset’s price. An asset’s price is directly tied to the going rate which is dependent not really on supply but what people are buying it at. You can have an asset with a decreasing supply and yet the price can also be decreasing rapidly too.

1 Like

Correct me if I’m wrong, but Provide is based on current Liquidity providing. Impermanent Loss is still a factor, maybe not for you, but for the Incognito team it still is.
Let’s not talk about Provide then if it complicates things. Instead let’s say that you just add liquidity to the pool, with this implementation you would be able to borrow some of that PRV that’s matched on the other side of the pair, it can be staked to gain profit. If the amount to be borrowed is fractional and dynamic with trading, it shouldn’t be a problem. (When I say borrow, normal users don’t have access to this PRV, this is more behind the scenes)

What I am suggesting is in fact spending the money twice. You add liquidity to the network, then your able to borrow some PRV from the pair, this would be an unofficial borrowing. The AMM’s believe that the PRV is still in the pair. You take that PRV and stake. As trades go on, and PRV is required, the amount borrowed and staked changes and is given back to the liquidity pool.

As long as you can put the PRV back before people do a bank run it’s okay. Nobody would notice. Yes when in the pool, PRV is being used to determine price in the liquidity pools, but if you cheat a little, you can use that PRV to stake and earn some PRV. You just can not get caught with an empty liquidity pool on one side of the pair. This is why the amount borrowed should be determined by the amount of PRV in the pair / total number pCoins minted. This should be a live number, meaning the amount that is staked changes in real time.

1 Like

Ah I think I know where your misunderstanding is coming from. Provide is not based directly on liquidity providing. It’s a kind of in-between.

Generally for pools you need to have both sides of the liquidity pairing to be provided at the same time. Overtime that creates what’s called devergence loss (aka impermanent loss). Because when one asset is bought from the pool your portion of the share to the pool will be different. Effectively you lose a little bit over time unless the prices go back down the rate you provided the pair in. This is a good video on it.

Provide works a bit differently. On the incognito network all pairs are matched with PRV on their respective pools. Provide allows people to not need to buy PRV (with high slippage) to still provide liquidity into the pools. It’s a good middle ground. Rewards from any liquidity being provided into pools are handled by a PRV reserve. Projects like these live and die on the liquidity. PRV’s value is directly tied to the utility of this network. It makes sense why the incognito team wants to upfront PRV to make it much easier for people to provide liquidity in the network. That increases the price of PRV which makes it less of a burden overall and increases their own PRV value.

When a pair is in the pool it much be remained in the pool. Lending it out or doing a secondary restaking isn’t how these systems work. You can’t borrow something which is put in a pool. Let alone where would the reward come from? The reserve?

You can’t double dip or think that funds in pools are unused funds. The funds in the pool provide direct liquidity to make trades. Borrowing it makes the proportion in the pool incorrect and thus the pool value is incorrect.

This is a blockchain project. PRV is chained to the blockchain. That is how we can be certain no double spends happen and exact supply can be verified.

A fractional reserve system cannot work with automated market making because the automated portion of that assumes all funds in the pool are well in the pool. There is a whole lot of things just wrong with your assumptions about how these systems work.

Please watch this to learn how these pooling systems work.

2 Likes

Yes this is correct, I was just suggesting a crazy idea to tweak it to allow this functionality. It would definitely make things more complicated, and the reward would come from staking and fees from liquidity providing. It would probably require an in-between pool of PRV as well. Either way, no matter what solution we do, we are still draining funds out of the Incognito platform to solve the problem.

Before Provide was a thing, we had two separate functions. We had in-app PRV staking (at a really high rate), and Add Liquidity. Provide was the marriage of these two things.
In-app PRV staking allowed you to add and remove PRV at will. The return was something like 50%. Incognito had a small intermediary pool to allow people to pull out and put in at will. The rest of the PRV was being staked in a node. At one point everyone started pulling out which resulted in the the intermediary pool being dried up, this meant that the node had to be unstaked to give people their PRV. This took many days to do as it’s random. The reason why I mention this is because the framework to do this is still there.

Yes this is true, unless you lie and say it’s still there. As long as it’s there when it needs to be there no one will know the difference. I’m not saying lie to the people, i’m saying lie to the algorithm.

You can make an exception to the rule in this specific instance. Add a modifier to the coins to allow something like this to happen in this particular instance only. Make it public like anything else on the blockchain.

I’m saying tweak the system at it’s fundamentals. The amount of PRV borrowed would be minimal and as trades go on, the amount of PRV that needs to be there will be there. Sure it might not be valid in our current state, but the idea is to explore all solutions. I understand how AMM’s work, but that doesn’t mean we can’t add new features or change things to make them a bit different. You don’t even need to technically change how they work, just modify them a bit to add another function that stores Actual Value stored and Supposed Value Stored and tweak a bunch of other things here and there

It was just a crazy idea anyways

4 Likes

I follow your idea @Revolve and like the idea of it. This out of the box thinking is what we need more of in this thread :slight_smile: I’ll see if I can continue this thought and come up with anything.

I’m not ready to admit that the simple, provable, and longstanding option is to make LP rewards come from the block rewards is the only way to go. But it likely is. :confused:

Keep up the good creative thought process!

2 Likes

Crazy ideas are good for brainstorming. Great ideas, eventually, come from discussing the ideas, clarifying thoughts, bringing in other perspectives. There is no harm in them, they won’t all make it to be implemented/executed but who knows what comes from it. You are doing great.

Your idea in non technical words would be to put a note in the “liquidity vault” saying “hey I took x coins, let me know when you need it back”, and then use those coins somewhere else.

Moving coins from the liquidity vault would affect the price as our pools are balanced. So we leave the coins in the liquidity vault, but virtually take them out, by… creating new coins and use those. These coins can not be PRV, as we can’t create PRV like that, maybe pPRV? But for what? I forgot what we are trying to solve.

3 Likes

Hi, I’m new, can anyone help me find the apy rate for adding pair btc-prv or usdt-prv

1 Like

hey @JackWu current thread is a discussion about improvements for the pDEX and liquidity.

Actual rates for providing liquidity you can find here -> Provide

2 Likes

Hey @everyone! @duc, just published a technical design for single-sided liquidity. Please jump in and let’s continue the discussion in his thread.

6 Likes