---
# System prepended metadata

title: The LP community Q&A with @0xdeployer

---

# The LP community Q&A with @0xdeployer

### How do auction prices work?

It's all on the website, but it works like this. 

Dutch auction lasting 11 days. Starts at 1.11 ETH and goes down to 0.0111 ETH over that time. 

Once you mint, your funds and the NFTs you mint are held in escrow within the smart contract. At this time the NFTs will show up in your wallet but you will not be able to transfer or sell them. Once the project sells out you will be able to transfer/sell. At that time half of the mint proceeds and an additional 1000 NFTs will be added to an internal liquidity pool. 

If the project does not sell out within the 11 day period then you will be able to withdraw your ETH (minus gas). The NFTs will remain in your wallet but they will be locked forever - unable to transfer.

As an example let's say all 8k from public sale sell at 0.25 ETH. 1000 ETH would be deposited into the liquidity pool in addition to 1000 NFTs.  The instant sell price is 1000 ETH / (1000 NFTs + 1) = 0.9999 ETH then instant buy price would be 1000 ETH / (1000 NFTs - 1) = 1.001 ETH. A fee would be earned on both buy and sell, but lets use buy for the example. Fee on buy would be (1000 ETH / (1000 NFTs - 1)) - (1000 ETH / 1000 NFTs) = 0.001 

### What if all holders sell their nft in the pool?

The price will trend downward when there is sell pressure just like other AMMs, and trends upwards when there is buy pressure. The constant product formulation we are using sure that you adhere to the implicit stability of the value of the two assets against each other. using the model the buy/sell price actually means something and is backed by ETH

### Will you release any docs about all the contract logic and mathematics involved?

There's some on the website now, but plan to improve the developer docs as we move forward.

### Let's say the 1000 NFTs held in the contract all sell quickly because of demand, is there way for the instant liquidity mechanism to continue after that?

Definitely. If I run the numbers starting at 1000 ETH and 1000 NFTs in the pool, then by the time there's 80 left in the pool the sell price would be nearly 160 ETH, whereas the buy price would also be nearly 160 ETH. People would sell back into the pool before reaching that point. 

But that math makes it so the pool can never be fully drained. There will always be 1 NFT in the pool at minimum, but it's not realistic that the pool ever reach that point given how high the price would get.

### Is it going to be completely public? What’s the risk of bots buying up a chunk of the supply?

I don't think it will given the dutch auction mechanics and the smaller community.

### Is the LP contract a sudoswap fork? If not, what are the main differences. 

I was initially going to use sudoswap for this. Rather than an internal liquidity pool a pool on sudo would be made. However there's no way to split the fees on sudo or specify where they go. Because of this I created my own solution that does what I required. I needed to control the fees so they can be split amongst holders. 

### 2) “After the first 9k LP NFTs are minted an additional 1,000 are minted to provide liquidity for instant buys and sells.” Could someone please help me understand what exactly this means and the thought process behind this? 

In order to have a thriving market, liquidity is required. To create an automated market maker for NFTs the lp uses a constant product formula which determines the buy and sell price. In order to facilitate trades there needs to be an amount of NFTs in the pool backed by an amount of ETH in the pool. That's how we enable instant buying and selling. 

### Can LP nft holders supply their NFTs to the pool at a specified price? Rather than selling at the price of the curve, I may want to “list” it in the pool. (Similar functionally to sudo)

No. So rather than asking the community to provide their own liquidity we have project owned liquidity and the community benefits by being holders of the project rather than putting up liquidity. This is utilizing a new concept in the NFT space which is a project owned liquidity pool baked right into the smart contract. But that doesn't mean you couldn't create your own pools on sudo with the NFTs you own if you wanted to.

I'm hoping this can be utilized for new projects where it makes sense. I'd like to start bounties for the community to help build out the protocol. Much like nouns has prop house we can have the same to invite builders to build.

### What will these bounties look like?

Well just as an example say there's a bounty to create an auction module so you can auction your rare LP. There would be some requirements and we'd pay a community member to do it. How much depends on the ask.

### How will the "OG LP" owners benefit from wider adoption or general success of the project?

One concrete example is holders continue to receive all fees that are generated from sales through the protocol. It's my hope that this model is adopted by new nft projects and that we continue to expand the protocol and provide valuable tools to the nft ecosystem which increases liquidity and continues to reward holders. The success of new projects or tools built feeds back to the original project. This will always be the OG project that started this new model. People buy into the project for many different reasons but everytime someone does holders benefit. Also new tools bootstrapped by this project may reward og holders.

### Do you see the OG protocol generating fee's from project adopting the tech?

Indirectly yes. Since there will be a pool of liquidity this will also provide arbitrage opportunities which will generate fees.

### How much does mint price go down per block

Not sure off the top of my head, but it's divided equally based on the number total seconds of the sale.

This is how the per second discount rate is determined https://github.com/lp-protocol/lp-sol/blob/main/src/TheLP.sol#L85

And this is the function to get the current mint price https://github.com/lp-protocol/lp-sol/blob/main/src/TheLP.sol#L362

