Finalized evolution of liquidity operations

The following is the finalized version of the motion I am advancing to guide development of our liquidity operations. The motion hash you need to enter into your client to vote for it is:


Begin motion
Liquidity operations should have the following tiers. The first tier is available to the market immediately, but is at higher risk of loss than the other tiers. Subsequent tiers have the disadvantage of not being immediately available but feature a lower risk of loss (and therefore lower cost). Combining these tiers is an excellent way to provide deep liquidity while minimizing the cost (and risks) of providing that liquidity.

Tier 1
This liquidity is immediately available, being on the order book. Basically, the level of liquidity in a particular market should be matched but not exceeded by NuBot. The current practice of using the bid and ask at the top of the order book and offering a large sum of liquidity at this price exposes liquidity providers to loss. Consider the case of an NBT/PPC trading pair and let us assume for a moment that the BTC-e PPC/USD pair is the only PPC market for a moment for simiplicity. To prevent liquidity provider loss, the BTC-e PPC/USD order book must be mirrored on the NBT/PPC pair. Additionally, when an order is executed on the NBT/PPC pair an equivalent order execution on the BTC-e PPC/USD pair must be immediately effected by the liquidity provider. This way the trade on the NBT/PPC properly effects market pricing. It is still possible for a trader to consume the order books of the NBT/PPC and PPC/USD at the exact same moment, inflicting a loss on the liquidity provider. For this reason, liquidity provided in this first tier should be quite limited. How limited it should be can be determined by experience of whether this exploit is actually employed regularly.

While the example I’ve given only utilizes a single market, ideally NuBot would eventually pool the liquidity available on many exchanges to each NBT pair. It might be best to do using different liquidity providers for each real market (for example PPC/BTC and PPC/USD).

Tier 2
This liquidity sits on exchanges but is not placed on order books and can be promoted to the order book (Tier 1) in a couple seconds. When Tier 1 liquidity is consumed and it can be verified that the corresponding trade in the real market has been successfully executed, NuBot promotes funds in Tier 2 to Tier 1 by placing orders.
This tier is unavailable for a couple seconds but is not subject to what I will call the double fill exploit described in Tier 1.

Tier 3
This liquidity sits off exchange and is held by liquidity providers in wallets not exposed to counterparty risk or the risk of NuBot malfunction. It can be promoted to tier 2 when needed in minutes.

Tier 4
This liquidity can be provided by custodians not dedicated to liquidity operations. A present example are the proceeds of NuShare sales. They are intended for operational and development expenses, but can be used to support the critical function of liquidity provision as needed. When these funds are used for liquidity, they are exchanged from one type of asset to another, but are still available for their original purpose, such as development. These funds can be promoted to tier 3 in hours and the cost is exchange rate risk.

Tier 5
This liquidity presents itself in a decentralized manner from the manipulation of interest rates (park rates). This liquidity is generally buy side, although technically it can be sell side in the case of lowering interest rates. This liquidity is available in days and the cost takes the form of interest paid.

Tier 6
This liquidity takes the form of custodial grants for sell side and currency burning for buy side (presuming a currency burning motion is passed and implemented as appears likely). It takes a week or more to bring to market but has zero maintenance costs.
End motion

Outside of this tier structure there is a need for liquidity to be balanced between markets at times. I’m hoping someone will step up and offer this liquidity balancing service for compensation via custodial grant. Bear in mind that if you feel shareholders won’t trust you enough to give you funds up front, but you trust shareholders, then you should propose a motion that consists of a contract between you and shareholders for services and compensation. The motion could specify that shareholders are to pass your custodial grant after services are rendered.

1 Like
Someone in bitcointalk says NuNet is insolvent
Regarding reserves and fractional reserve
Interpretation of the liquidity tiers, a waterfall model, triggers, metrics and actions
Current Liquidity
[Draft] Proposal for Transfer of Liquidity from Existing Grant
Modelling a parametric order book
Possible solution to custodian loss of value due to BTC exposure
Park Rate Voting
How do we increase the demand for NuBits?
Tier 2 liquidity now widely used
Park Rate Voting
On the profitability of liquidity provision
History of the Nu Network (Feedback Please)
Park Rate Voting
Park Rate Voting
NuPool 2 now active on Bittrex and Poloniex
Unseeded Auction Thread
Adding liquidity pools to docs page
Park Rate Voting
Three roles that need to be filled by shareholders
Support another currency besides NuBits?
Now is the time for deflation in liquidity costs to begin
Universal ALP bot collection - forked (and hopefully improved) @Nagalim edition :)
[Draft] Motion to increase the control by Nu over NuLagoon buy/sell side
Universal ALP bot collection - forked (and hopefully improved) @Nagalim edition :)
[Passed] Motion to permit NuShare custodians and burning transactions
[Passed] Motion to regulate spread values for liquidity operations
Tier 4 Fund Management Discussion
[Discussion] Defining Tier 0 liquidity
[Draft] T5 reserve
NSR Buyback #8 - Week of November 16, 2015
Welcome, newcomer! Ask questions here
[Discussion] Tier 7 liquidity: Volume-dependent transaction fees and "Restricted Network Access" status
Current Liquidity
Current Liquidity
Current volume
FLOT BTC Operations (buy side)
True or False?: NuBits are backed by NuShares
FLOT compensation discussion
[Question] Contract enforcement, doomsday, risk, etc (this topic is not very focused)
[Passed] Motion to regulate rules of fund management in NuLagoon
[Passed] Motion to end LPC operations of KTm, Jamie and NSR sales of Jordan
[Closed] Motion to cease shareholder-funded NBT/PPC operations
Draft - Motion to adjust dividend payout schedule from KTm's first proposal
Doubt about Liquidity
Disagree LPC's Proposal - Nubits is a business!
Nubits buy side volume
Motion to widen shareholder-funded custodial spreads by 0.05% on crypto pairs
Nubits buy side volume
NBT/BTC market and future NBT centric trading
NBT/BTC market and future NBT centric trading

Good thoughts. Thanks for writing this up. Question:

Is this strategy under active consideration? It is certainly a major change from the current approach of large bid/ask walls directly surrounding the pegged price.

Are you asking the question in the context of “is there a plan to map a price feed to BTC-e’s PPC/USD market”, or something else?

Yes, I mean, is such a plan being considered: LPCs to use other exchanges’ order books as a guide to wall placement?

I hope the active custodians we have will consider commenting on this, as it affects them directly. The flow of value between tiers seems logical to me and I would support the adoption of this model.

I feel it is not natural and it is not the best way to provide the first tier liquidity of NBT by the mean of traditional exchange. Keep in mind that we are aiming at different group of people, which definitely not include digital property speculators, and even not include those so-called investors. By this I mean our target clients are sellers and buyers of ordinary goods and services instead of asserts traders.

So may be we need a customized exchange and a more friendly way for people to convert from/to NBT. In this way we can simplify exchange’s 4 steps conversion, which are open an account, deposit, trade and withdraw.

This is how it works:

  1. NBT buyers come to Nubitsexchange’s website, and input the Nubits address they would like to receive funds with.
  2. The websites generate a BTC or PPC address they should send funds to.
  3. NBT buyers send BTC or PPC, after the transaction is confirmed, they will immediately receive a certain mount of NBT which is determined by the convert rate of the moment when previous transaction is confirmed.
  4. NBT sellers is supported by the same way

Compared with traditional exchange, the risk to trade in this customized exchange is actually reduced, because the span of time that exchange keep users’ funds will be very short. And users always can split one large transaction into multiple transactions.

I have thought about this for a while. May be I can try to provide this kind of service in future.


I don’t think it makes much difference from using an nuBot on an reasonably reputable exchange. An ordinary user can also transfer BTC/PPC to a normal exchange and buy NBT at market price from the nuBot and withdraw immediately, minimizing the time spent on the exchange. One the other hand the speculator can use your system to speculate because the exchange rate is set by the market anyway.
Not to say that centralized exchange is a no-no.

I have limited internet access and I don’t have a way to write a proper detailed answer before monday.

A first analysis of this proposal, led to some questions.

First of all I want to fully understand why this changes are needed. I would like to read a detailed and thorough explanation of the scenarios that requires the proposed changes (goal).

My understanding is that these changes only affects NBT-Seconday pegs, correct? The main goal is avoiding possible attacks and speculations which harm the balance of the liquidity provider. A secondary goal is enlarge the liquidity pool and structuring it according to rules of risk reduction.

What is the purpose of having these layers? How will these layers affects shareholders and LPC? Do you envision that the NuClient will eventually display liquidity broke down by tier? If positive answer, do you believe it will be feasible to provide an estimation of liquidity by tier?

In regards to the degree of changes required to the automated trading bot, I am not worried, everything can be done. This solution is particularly engineered and complex, it will honestly require long time to implement and test, especially in the final version where multiple custodian trades on multiple pairs and needs to track and mirror multiple order books at the same time.

So, before thinking about the design, I would like to have a clear picture of why this upgrade is needed. I cannot envision clear scenarios in my head at the moment which makes our current implementation vulnerable and the proposed solution as the optimal way to address it.

All my comments are directed towards Tier1 : in particular I need expert traders’ advise on the “mirror order book” solution. Depending on what the goal is, the mirroring part might be un-necessary. Orders books are subject to manipulations and often do not reflect the real status of trading volumes of a market. (Bearwhales, fake sell walls just to create panic, and much more) . So I am not sure why should NuBot mirror it . And what to do in case there are not enough funds to mirror it, and to which extent we should look at (5% range of current price, or all the order book, or a dynamic % window?.

And, how will this mirror strategy impact on the 1USD peg?

If the aim is avoid arbitrageurs taking advantage of the pegged market and short on NBT, I agree that one solution involves limiting the size of our buys and sell walls. Why not just simply put a cap on that, and making this cap dynamically looking at the pegged market volumes?

I realize I probably asked way too many questions. Most of the questions will probably addressed once someone clarifies the goal of these changes.

1 Like

Let’s imagine that we have a JNK/NBT trading pair for Junkcoin, which has a market cap of just 4,000 NBT. An LPC puts an NBT sell wall of 4,000 on the pair. Let’s imagine that someone holds 50% of all Junkcoin and correctly recognizes this as an opportunity to sell all his Junkcoins for the same price. He exchanges his entire Junkcoin holding in a single transaction for 2,000 NBT. At some later time the LPC wishes to sell the Junkcoin he acquired, but there are only $2 worth of Junkcoin for sale at the best price. As the LPC continues selling Junkcoin, the price drops 90% as result of his selling. The total proceeds from the Junkcoin sales are $1,100. The LPC has lost $900.

A Junkcoin trading pair is an extreme scenario but I chose it because it more clearly demonstrates what is possible with all the trading pairs. The less liquid the asset is, the greater the risk to the LPC. Of the pairs we actually support, PPC has the highest risk, followed by BTC. While technically speaking the same thing could happen on the USD pair, it would take trillions of dollars of trading activity for it to manifest, so it can be safely ignored on USD pairs.

Let’s consider the scenario of an exchange default, which is almost certain to occur at some point. Only funds in tier 1 and 2 would be lost. I envision tier 1 having the smallest quantity of funds, with each tier below that having progressively larger amounts of funds in them. This means an LPC would preserve the majority of his funds, which are in tier 3.

The double fill exploit is not effective on the USD pair. This means there is no need for Tier 2 on that pair. Tier 3 is still useful, but only on the sell wall. The buy support wall consists of USD which features difficult and slow transfers as well as counterparty risk. So transfer of USD from tier 3 to tier will not be effective. It is probably not practical to automate the movement of USD from tier 3 to tier 2 like we will do with the other assets. So this new architecture has limited application to the NBT/USD pair.

Yes, there is value to letting shareholders see how much liquidity is in each tier, but articulation of quantities will only be practical for tiers 1, 2 and 3. NuBot can disregard tiers 4, 5 and 6. We will need to carefully break down the changes into several or more iterations, and this would change would occur in one of the latter iterations.

I intend to answer other questions in a subsequent post.


We shouldn’t allow perfection to be the enemy of the good. What I’ve proposed isn’t perfect, but it is a big improvement over ignoring the order book entirely.

If there aren’t funds to mirror it then orders should not be placed on the order book. The condition should be brought to the attention of the LPC. The depth of the tier 1 liquidity should be configurable as a quantity of NBT. How large it is will depend a lot on how common double fill exploits are.

It will cause liquidity to disappear on a single trading pair for a few seconds when significantly sized orders are executed. Upon detecting this, NuBot will move liquidity from tier 2 to tier 1 in a few seconds, once again restoring liquidity. During this period, other trading pairs will still have liquidity. Additionally, this is less likely to occur if there are multiple LPCs on a single trading pair, though it is still possible.

As we think about how to break down the implementation into iterations, it makes sense to do this for an interim period. The first iteration would be the creation of tier 2, or basically the ability to specify how much should be placed on the order books, with the remainder being left off the order book, but moved to it as liquidity is consumed. Then we will add tier 3 in another iteration along with the ability to move funds between tier 2 and 3. Last of all we will add order book mirroring.

I agree with Jordan that current buy/sell wall with a large amount of fund available is an invitation to attack for illiquid coins.

Can someone remind me why we need bots for currency pairs other than NBT/USD ? Why not let third parties do other pairs? I can almost see why Nu should run NBT/BTC bots in the initial period. But why other pairs?


I think the main issue at this point in time is that the exchanges we operate on do not have many active USD traders. Thus, not many people would be able or willing to purchase NBT with USD.

As we grow in size and are listed on exchanges with more liquid USD operations, I would expect that our custodians switch to solely supporting NBT/USD pairs, and let the market take the risk of arbitrage on other pairs.

1 Like

Yes, but shouldn’t it be our goal to encourage NBT use for commerce over trading for speculation?

Why not say, if you need a stable transactional crypto-currency, it will always be available on the USD, EUR and CNY markets for the equivalent of 1 USD, and If you need a stable crypto-currency to profit from speculation against other crypto-currencies, it will be your personal responsibility to find the market with the liquidity you require?

We could allow these crypto/NBT pairs to exist … and yes, they would fluctuate in value, a bit, but NBT would still always be available for 1 USD.

Is it not possible that we could provide a loose peg for crypto markets, with arbitrage alone, in this way?


If I understand your post correctly, I think you just described my ideal state of liquidity operations. This ideal state would have LPC’s solely supporting NBT/USD trading pairs, with NBT/BTC and NBT/PPC trading pairs being supported by the broader market through arbitrage.

My point was more directed at the short-term reality that users on CCEDK or BTER have a lot of difficulty acquiring USD to purchase NBT. On those exchanges there is very poor liquidity on BTC/USD and PPC/USD trading pairs, and it is difficult to acquire any reasonable amount of USD by selling BTC or PPC without taking a huge loss. As well, while I personally have been satisfied with the professionalism shown by CCEDK and BTER in our interactions with them, many casual users will still be hesitant to deposit USD funds (and complete the associated AML/KYC documentation required) onto these foreign exchanges.

I think we need to continue to pursue NuBits implementation on exchanges with more liquid USD operations. It will help speed the transition from supporting NBT-crypto trading pairs to NBT/USD, and strengthen our peg as a result.



What I would add, is rather than focusing specifically on USD, we focus on the fiat pair that best matches the region of the world that the exchange primarily serves, at a USD rate. Example: Bter has pretty good CNY support, so CNY would receive the majority of liquidity on that exchange.


Interesting, I hadn’t thought about that before. I think that’s a great idea to match the LPC operations with the most liquid fiat funds on an exchange.

Who has the deepest liquidity for crypto/USD? BTC-e?

Well, technically it’s Bitfinex and Bitstamp, but I doubt those will ever apply to us, so you’re probably correct that it’s BTC-e.

@JordanLee, thank you for the clarity of explanation of the scenarios you draw.

There is a lot of meat in this discussion and we must keep an eye on short-term solutions while discussing the high-level design and long term plan.

Iterations is the answer. I propose a breakdown plan:

  • short-term : implement a trivial system to manually adjust the wall sizes. Luckily, I believe we could reuse the “frozen balance” feature we are about to test right now. It is originally built for KTm proposal to let her keep 10% of proceeds apart, but it can be adapted to serve the purpose of limiting order size.
  • mid-term : implement tier1 and tier2 : the bot automatically move funds in and out these two tiers accordingly to the secondary pegged market.
  • long-term : either going full tier or drop support for illiquid pairs.

What you described is just the way of “shiftshape”.