[Discussion] Liquidity operations - a paradigm shift

TL;DR
Better face some risk than spend $13k each month for an unreliable liqudity provision scheme
/TL;DR

Intro

In the past days I’ve spent an enormous amount of time and effort dealing with liquidity operations.
Now that the situation has a bit calmed down I thought about improvements.
I tried to identify what went good, what not so good and what even bad.

Findings

  • Arbitrage doesn’t work.
    The inter exchange arbitrage doesn’t work. As long as a pool is below the target, there’s just no incentive to invest time and move funds to another exchange. Fixed cost might be able to mitigate that

  • ALP aren’t reliable
    Especially when liquidity is most needed, LP pull funds. I understand that. Better lose 0.24% per day than 15% from having the funds used to hedge the risk of others.
    Once again, fixed cost might be able to mitigate that, but I doubt that the funds are sufficient to really keep the peg.

  • The friction between the tiers is too high to move funds fast and efficient between them

  • NuBots in dual side mode can defend the peg
    While I have no proof for it, I dare say the NuBots were very efficiently defending the peg, especially after all the iterations of tuning them.
    I just don’t know what had happened without the NuBots being at Poloniex.
    Would the trade have stopped, because the offers had been so far off?
    Or would people have continued buying and selling NBT even at 10% offset?

  • Current liquidity operation is exchange wise centralized
    We need to face the truth that the current liquidity operation is de facto centralized. Trading happens on Poloniex.
    We might support as many other exchanges with liquidity as we want and do, yet we can’t attract volume just by offering liquidity.
    Users trade where the experience is superior, or the reliability, site design, etc. I have no clue
    All I know is that offering liquidity alone doesn’t bring customers.

  • Customers of the NBT/BTC pair are expensive
    We can consider us lucky that not many more customers are active in the NBT/BTC pairs. Each time they successfully use NBT to hedge BTC volatility, Nu loses money. The risk for that was outsourced by the decentralized liquidity provision model; the costs aren’t. Nu needs to pay a compensation for that.
    That’s an agreed upon status quo to advertize Nu and show the quality of Nu’s products. I have something in mind to improve that. Just hang in there!.

Exchanges and liquidity

The liquidity operations at so many exchanges costs a lot of money to compensate LPs for their risks. While it could potentially attract business, the lesson we learned from the recent quarters is, it doesn’t necessarily.
But still Nu pays a lot of money each month for LP who provide funds at exchanges with barely any trades. Unfortunately I have no historical information to prove that point, but the current status is here. 90% on on exchange.
Imagine how much money could be saved if Nu focussed on the exchanges where the business is!
Some might say that would lead to NBT being de-listed.
If so, I need to ask why?
There’s currently no trades even with liquidity support by Nu.
Considering that the ALP can’t be relied on especially when they are most needed, it looks like Nu wastes a lot of money for the cover-up, the illusion of providing liquidity
Keep hanging in there!

Paradigm shift - What if?

Imagine a radical change of liquidity operations.
At the moment each supported exchange gets buy side support and sell side support.
What if there were only some exchanges that buy NBT (hereafter: “major exchanges”), while there are a lot of exchanges selling NBT?
That might remind you of the gateways which I recently sacrificed for the greater good to let them be reborn as dual side NuBots.

Operating a sell side gateway is very little effort. NBT need to be deposited from time to time. The status can easily be monitored by the broadcast liquidity. BTC need to withdrawn frequently.
With this type of gateway you can support each exchange with a sell side. Not supporting a buy side (and announcing that long before doing it!) makes it so much easier.

The exchange(s) that offer buy side support might have ALP supported by Nu (I think they should) and are supported by a dual side NuBot.

If customers know - they need to be informed about that! - that they can buy NBT at many, many places, but sell them only at some, we can focus on the major exchanges.

That sounds like centralization, but it isn’t
It’s focus!
Each exchange that only has a gateway can be transformed into a dual side exchange in very little time.
If one of the major exchanges defaults and customers move to one that is currently only an “NBT selling exchange”, that can be changed soon. We move where the customers move.

Buy insurance or face the risk

One of the reasons why the liquidity provision has been transformed to a decentralized model, was the exchange default risk. A lot could be improved since then.
Back then there were hundreds of thousands of USD in NBT and BTC at exchanges ($70,000 jmiller; $300,000 kTm).
It looks like I could handle the recent Bitcoin roller-coaster with a total of between $40k and $50k of Nu funds.
If you add up all compensation that is being paid for ALP and MLP you have several thousand NBT each month (most recent grants):

NuPool 4,100
Liquidibits 2,200
NuPond 2,400
NuLagoon 4,700

That is over 13,000 NBT for liquidity operations.
If you put some tens of thousands at risk for some months without having the exchange default, you have a positive ROI.
Whenever that exchange defaults after those months passed, you are better off having provided liquidity with Nu funds than having paid for liquidity.

What if NBT can only be sold at Poloniex, NuLagoon Tube and Blocks & Chains Exchange once it’s finished, but bought at all exchanges which currently are supported by Nu?

The sell side only exchanges don’t need much funds. If they run dry, so be it! The marketing message needs to be clear: only dual side exchanges guarantee the peg!

Long-term insurance companies make the profit (if they calculate right). Nu buys insurance at LP who provide funds in ALP. They can calculate. They pull funds during roller-coasters - no offence intended, that’s the rational choice!

Executing the plan

Requirements:

  • an army of RaPi2 or similar
  • several “gateway custodians”
  • a few “dual side custodians”
  • Nu funds
  • lots of marketing
  • move funds to (FLOT or a subdivision of it, with 2-of-3 multisig and lesser funds) and from exchanges (custodians) regularly

Benefits:

  • can save Nu an enormous amount of money
  • makes liquidity provision more reliable

Drawbacks:

  • non-crypto currency pairs can barely be supported by that. As the future of Nu’s liquidity provision is centred around BCE, this will only forestall that development
  • the major exchange needs to survive long enough to reach a positive ROI (sell side only exchanges don’t hold an extended amount of funds)
  • it’s unclear what impact comes from focusing on a few exchanges in regard to the trading volume there. I doubt it’s much different from now, but can’t say that for sure
7 Likes

Just in case you did read until here and might want to know, whether much of the developement like NuBot ALP integration, or the fixed cost scheme is rendered useless by this idea, the answer is simply: no!

The approach is not to revert all back to where we started. It’s trying to combine the best of both worlds.
Liquidity operations by jmiller and kTm were great and reliable, but risky. They dealt with a lot funds.
Decentralized liquidity operations are less risky, but long-term more expensive (unless you can skin the LPs) and not very reliable. Not enough funds are between the traders and the danger of a failing peg.

The combination of dual side NuBots operating with Nu funds and fixed cost ALP being in the first line at those dual side exchanges gets Nu the best of both worlds - a compromise of costs, reliability and risk.

1 Like

OMG! Another Great post by MoD-bot :smiley:

2 Likes

Lots to say. I kinda want to go backwards:

Liquidbits and nupond are for 2 months each. The actual cost for those 4 operations combined is actually remarkably close to $10k/month.
I am wholly against ending the current iteration of operations. Let them evolve, they have branding and stuff.

Yah, but it is. If we have all our eggs in one basket one hack will lose all our eggs. If all our LPs lose everything at once, we’re gonna have a rough time switching. If the LPs are spread out amongst contracts and exchanges we can get a thriving economy going.

Go to alix volume and sort by ALIX 90 (90 day EMA I think). You can clearly see that Polo holds 80% of the daily volume. However, there are 5 other pairs that give a good $1k or more volume per day on average. Why kill those microeconomies?

Those particular customers that you are talking about are gamblers. We are offering them a game. Sometimes they win, sometimes they lose, but whether they win or lose they gain respect for our product. Our advertising benefit is entirely decoupled from the traders’ profits here; a trader could easily walk away from the NBT/BTC market with not a penny left and hating themselves but having really good things to say about NBT. Whether we win or lose is a function of our bots and we’re working on improving this.

We found a great use case on poloniex, that’s awesome. But it cannot be everything we are about.

As far as I see it, the stuff you’re proposing is about T2 solutions. I’d love to see Nu offer a large amount of liquidity at large spreads like 10%. When we have B&C, I could totally see this being practical because we wouldn’t worry so much about exchange default.

I’m still hoping T3 will work here. I’m beginning to realize how impractical it is for me to be the only T3 custodian. I also think that Fixed Cost or Combined Reward Fixed Cost, or any other model that generates a direct incentive to rebalance the pool, will make T3 custodians like a million times more desired. But I may be living in a dream world here, who knows.

Now this is a super interesting concern. The reason why is because I propose that the NBT supply itself needs to expand and contract in response to the BTC micro-pumps. Basically, it’s not really the ALP’s fault, it’s the NBT supply not responding fast enough.

I say this is interesting because there is push back by shareholders against paying exorbitant rates approaching infinity for keeping liquidity on the peg. That is what birthed CRFC, the desire to distill the balancing abilities of fixed cost from its demand to maintain a perfect peg. And that’s fine, the NBT supply on-exchange should change faster.

So here’s my solution:
We need more T1-3 MLPs, but with a few changes:

  1. The MLP states the starting number of BTC and NBT to be used in all 3 tiers. An assumption about the net worth of the operation is taken using an approximate BTC price.

  2. The MLP should attempt a rebalance once a week, before the buyback calculation. The operator must only use T3 custodians and is expected to pay at most a 0.3% markup (0.1% of which is assumed to be Nu’s). Shareholders can fire MLPs if they aren’t playing nice with T3 custodians.

  3. Each month the operator calculates the difference in the net worth of the operation between now and the start in units of NBT, then forms a grant proposal to compensate the difference and pay for their monthly wage, which will be paid in NBT in the same grant proposal. Burn any surplus.

  4. When the pool wishes to end provision, they return everything to T4 and get paid the exact same number of NBT and BTC as they started with, no matter what they have in the pool at the end of operation.

Note that this requires a certain amount of trust if the starting currency isn’t worth what the pool has at the end, so I wouldn’t just go giving out these contracts willy nilly.

Anyway, basically I don’t think we need to kill what we’ve got going. I think we should aim to build more on top and let capitalistic evolution do its thing.

4 Likes

Fair enough.
Then it’s $10k.
A lot of LP funds sit idle at exchanges with no/low trading volume, earning money conveniently and the buy side of the exchange with 80-90% trading volume needs to be supported with Nu funds for days, because nupool has no buy side.
What exactly does Nu get for those $10k?

Look at how centralized the ALP scheme is in terms of targets.
Pardon, I wanted to say how focussed!
If Poloniex is at target, thousands of USD ALP funds are lost.

Because they are too expensive the way they are.
Make them sell side gateways. Let arbitragers operate the buy side.
If there’s volume, we can still consider making it a dual side operation with fixed cost ALP support!

The ones who win or lose are the traders/gamblers and the LPs.
Nu always loses the compensation.

No it can’t. But we could ramp up operation at another exchange with the proper preparation. Supporting dirt-cheap sell side gateways is useful for that.

No, I was just afraid of having a chart like bitUSD.

I may be living in a dream as well; in my dream people face the truth that the current model is as unsustainable and unusable as the old one was, albeit in different ways.

It’s no concern, it’s an observation.
I don’t blame ALPs for making rational choices.

We don’t kill it, we evolve it. Some transformation is necessary for that.

2 Likes

The peg is difficult to keep in hard times - granted. And @masterOfDisaster has done an awesome job coordinating and keeping the peg!

But I can’t see removing liquidity from exchanges as being good…

What if the peg destabilizes on one exchange but it is available on others? What if after the volatility the peg is re-established?

We never promised to enable day trading…

3 Likes

Yet the motion to permit what I already did (voting regarding dual side NuBots at Poloniex) is not exactly on its way to passing.
Oh wait, the motion is about passively operating a NuBot there - the shareholders already have something better.
It looks like the majority of shareholders doesn’t agree with what I did and do. I will need to draw the obvious conclusion soon.

It wouldn’t remove liquidity. It would remove buy side liquidity with an offset guaranteed by Nu, verified by Nu, ensured by Nu.
This step would remove a lot of pressure from Nu, making it easier to deal with liquidity.
At the moment Nu needs to keep the peg at a lot of exchanges. Luckily there’s so much centralization towards Poloniex that this is the only one keeping Nu busy. It had a reason why I imagined the need of gateways there…
Supporting the other exchanges with liquidity costs Nu approximately $7,000 each month ($10k - the compensation for nupool@poloniex).

I dare say, it’s not worth it and Nu would save money while still being present at exchanges: offering NBT for sale without guaranteeing they can always be bought at $1 there.
Plus it puts a lot of pressure on Nu. Imagine what happens, if somebody finds it funny to buy a load of NBT or BTC at an exchange with no gateway/dual side bot. How would you currently fix that, restore the peg?
On the other hand: is the peg broken if I sell you 1 NBT at $0.50 in private? The same would be true about trading Nu products at not officially supported dual side exchanges.
The funny thing is that CMC is ironing out “lost pegs” at small exchanges - they just haven’t enough trade volume to ruin the weighted average displayed by CMC. Just look at the [CCEDK NBT/PPC pair.]
(https://discuss.nubits.com/uploads/default/original/2X/4/46f27c9847c4affe51990a65cb092e4896c2d5d9.png)

The official fully supported exchanges would be a subset of the current ones. Maybe even only Poloniex and NuLagoon Tube. As strategic solution to keep connection to Chinese trading could be to keep Bter at full support.

After that paradigm change, Nu only had to care for “major exchanges”. Nu isn’t able to support each and every exchange that might appear from nowhere with liquidity to keep an exact peg.
And it’s already not sustainable to pay $7k monthly for $10k trading volume at average the last 90 days - taken from ALIX 90 (90 day EMA I think).
Oh wait, $1.5k is from NuLagoon Tube.
That makes $7k costs for $8.5k trade volume. We could just give the NBT away - it wouldn’t make much difference!

Providing liquidity there has shown to be good for one thing: filling the pockets of LPs, but not attracting users to those exchanges.
Poloniex has the volume. That’s why I worked my ass off to support the peg there. Poloniex is visible on CMC, etc. The rest isn’t’. I might not like it, but it’s a fact.
The cost of liquidity provision at Poloniex is at average around $3k. The last week has been much cheaper - almost no compensation had to be paid for the buy side; it was empty most of the time.
The $200k 24h trading volume we recently had there, was not mainly because of the ALP. But as what I did had no (explicit) costs (implicit costs: exchange default risk etc.), it might be perceived as worthless.

…yet this is our current de facto status quo.
Shifting a lot of exchange operations to sell NBT only (as long as they are available, regular refills of funds included - just don’t exceed the withdrawal limits of the operators by far!) and focussing on the major exchange limits at least the cost of that.

That’s why I called it a paradigm shift. What I propose is nothing short of a radical change in current liquidity policy. This needs to be aligned with marketing and information to reach traders/customers. The first step to enable thinking about it, is to be honest with the current situation.
It’s not sustainable. Think about it!

1 Like

Thoughts on the pools on CCEDK? I rather think it’s nice to advertise the ability to sell a reasonable quantity of NBT for $1 in USD or EUR. Where can you do that other than CCEDK?

4 Likes

Who exactly did that do so far?
I’m not in the mood to fight for this, for the whole idea. I wanted to propose it, because it’s the essence of my experience of the last months, weeks, days.
If the shareholders don’t like it, so be it.

That would be our most expensive marketing campaign (with next to no gain) so far.

I think we need to acknowledge the fact that our liquidity operations are putting Nu in the red not because they cost money but because liquidity operations do not generate enough nubits sales overall.
It seems that back in Nov, Nu sold at least 100k NBT which was way more than the expenses I believe. So we were in the black in Nov.
In Dec, I do not know.
In Jan, so far it seems that Nu sold 30k NBT but we have to take into account the fact that some of the proceeds are used as reserves and sometimes they are injected into liquidity operations to defend the peg. Maybe we will be in the red or black at the end of Jan.

In order for us to determine whether or not liquidity operations are justified is to compute the P&L each month but it is not easy and see if we are in the red or black.
If we are in the black, then they are justified.
If we are in the red, then they are not justified…well not that fast. Maybe we need to keep spending money for increasing awareness (customer acquisition) and that will pay off later but when?

Nevertheless, in any case, we can always shut down useless expenses.

I feel we should reduce the operations on exchanges different from Polo but not totally to preserve a risk hedge in case Polo is in trouble.

However, ultimately, assuming BCE is released, I predict that all the liquidity operations would be centralized by it and this would not be an issue since it runs on a blockchain which is by nature decentralized.

So in the ideal script, all current liquidity operations would get drastically reduced if not shut down by the end of this year, if not earlier assuming BCE is released soon, which I really hope for.

2 Likes

Another great post

Sounds pertinent

I used to think abusing our peg is a zero-sum game because it’s impossible to predict BTC price, but there is indeed a high correlation between large NBT dumps and BTC price drops, and vice versa. We don’t lose as much money as in the worst case but more often than not the traders are right - partly insider information, partly self-fulfilling prophecy. I think one way to solve this is to sell derivatives (options etc.) denominated in NBT, priced to adjust for the risks we take.

Either way NBT/BTC is a sticky business that we eventually want to move away from. For this reason I prefer to let LPs pull out when the risk is too high, and is probably inevitable in decentralization. If traders did that more often and accurately we can save money; the question here is whether we have measures to mitigate a quick disappearance of liquidity, and I believe we do, like fiat pairs, high spreads and further down the road fiat custodian deals such as NuSafe.

Finally, the profit a country earns from supporting a currency comes from taxing commerce that can’t happen without stable money. If Nu wants to be able to cover its costs by additional profit, we should plan to get cuts from subsidiaries that benefit specifically from a strong, decentralized pegged currency.

1 Like

Is supporting “NBT/fiat” pairs for traditional centralized exchanges a viable business proposition (to them)?

Just as any other trading pair is, if there’s volume. The drawback of (?-)NBT trading pairs is that they are most likely not being used to trade back and forth and rather to exit or entry fiat. That reduces the fee an exchange can collect with that.
If an exchange already has done all what’s required to be connected to the fiat system, a NBT/fiat trading pair is just extra profit.


I’m still struggling to understand why it isn’t obvious, how close Nu might have been to a disaster in the past week and why the proposal I made, isn’t perceived as the mitigation it might be.

Maybe I explained it the wrong way. Bear with me, I’m still recovering. What I write might not be as structured as it should be.
Please allow me to explain the concept of “major exchanges” with dual side NuBots combined with fixed cost ALP to reduce costs and improve reliability in greater detail.

Unfortunately the awesome new ALix feature to display nupool ALP funds over time has no data for the past 7 days to show how low the ALP funds were on Poloniex.

@willy, @woolly_sammoth: is it possible to have an anonymized overview of the rewards of nupool participants who provided liquidity over the last 7 days at Poloniex? A total (and not per anonymized participant) reward would be fine as well. It’s only about deriving the average volume at the sides from 2016-01-15 (00:00 UTC) to 2016-01-21 (00:00 UTC) - during the most recent Bitcoin roller-coaster time!
Having the payouts per minute put into a graph would be neat. If I have the raw data, I can try myself!

I hope this can be useful to prove two points:

  • fixed cost alp needs to come, because the current scheme failed (that seems to be non-controversial)
  • a combination of fixed cost ALP and Nu funded NuBots can be more efficient than the current setup (I still believe it was more or less the dual side NuBots that kept the peg in the last 6-7 days) with only ALP (or MLP) supporting the peg
  • fixed cost ALPs reduce the amount of money that needs to be kept at exchange (for the NuBots), because it improves the reliability of the first line of defence. The current NuBots rarely had a working first line of defence. Still it was sufficient to prevent the peg from failing totally. Total funds on exchange to achieve that: $40k - $50k.
  • NuBots in the second line of defence require no immense first line of defence (big ALP volume for which a big compensation needs to be paid).

I expect the fixed cost ALP to be a viable first line of defence (operating on T1.1; in the linked post referred to as T1))!
The NuBots will be a second line of defence (operating on T1.2 and T2; T1.1 in the linked post referred to as T1*) with a higher offset, that is sufficient to support the peg while making Nu money from the offset, if the first line fails (temporarily) and traders buy into the NuBot walls.
I’m leaning on those divergent definitions (“T1.1” and “T1.2” instead of “T1” and “T1*”), because they will likely find their way with that naming into NuBot.

I suppose a permanent funding of approximately $15k to $20k (compared to a total of $400k that was kept at exchanges in total during jmiller and kTm times!) can provide a sufficient second line to buy time to deposit funds, if the first line is permanently so low that the funds on the second line start to get drained/traded.

Fixed cost ALP can be run with lower (total) compensation than the current ALP, because you literally only use it as buffer and require not such a big target to have that buffer working.
Being in the front line still is worthwhile for ALP, because the fewer funds on order book, the higher the reward percentage.

As long as NuLagoon Tube and T3 custodians have funds, fixed cost participants will trade funds to grab a piece of the reward. ALP will keep funds ready that can be put on order fast (T2) and will likely keep funds on T3 to buffer demand on the order book. They will trade with T3 custodians (or NuLagoon Tube), after they have first filled the low side (time is money), relaxing the situation for the peg and the T3 custodians.
If T3 custodians aren’t requested for making trades to fill T1.1, they may decide to fill T1.2, if that defence layer starts to run dry. That buys time for FLOT to refill T3 custodian funds AND exchange accounts if need be.
This is speaking about drastic change of demand, which we already faced several times in the last weeks and especially grave in the past 7 days.

And with the reduced amount of funds Nu needs to hold on exchange (compared to now with a totally failed first line of defense) the risk is significantly reduced.

Overall the cost of liquidity provision is reduced while the peg is supported more reliably.
As a ball-park figure, I guess Poloniex can be sufficiently supported with $2k to $3k per month. Operating dual side NuBots (yes, we need more than just one: redundancy, multiple operators, increased combined withdrawal amount, etc.) is little work - if they are really just passively operated and the operator only needs to keep them running and withdrawing exceeds.
Refilling low sides will be done from ALP first (T1.1), if that fails or takes too long, T3 custodians can help directly (depositing into T2, that gets automatically promoted to T1.2) and if that isn’t sufficient, FLOT can be activated (T4).
Can you see the beauty of that? :wink:
This can finally put the work on more shoulders and increases the reliability doing that!

Maybe the numbers might convince you.

Current monthly cost/risk analysis for liquidity provision:

Cost

  • $10k

Funds at risk

  • Nu: $0
  • ALP (Poloniex only): up to $40k if targets are reached; other exchange come on top!

Future monthly cost/risk analysis for liquidity provision:

Cost

  • $4k ($2k - $3k for Poloniex + compensation for gateways)

Funds at risk:

  • Nu:
  • $15k-$20k (Poloniex)
  • $10k-$15k (gateways)
  • ALP: maybe $10k - $15k? (only at Poloniex required)

I left out costs for T3 custodians, NuLagoon Tube, etc. as they need to be paid anyway.
If Poloniex doesn’t default within 4 months after this scheme gets implemented, Nu is at positive ROI (a failing “gateway” exchange ha little impact)

And please don’t tell me a that defaulting Poloniex with both (current) ALP sides ($40k ALP funds in total) had no price that Nu needs to pay beyond the compensation that is already being paid.

I might explain the single side NuBot (aka gateway) scheme in a later post, although I think that one is quite clear.
Operating a single side NuBot is very little work if the operator doesn’t need to care about the funding.

2 Likes

Sorry let me say this - I think you write too much. :wink: There is an impedience mismatch between you and the rest of the readers so high through put communication is difficult to happen.

1 Like

Got it.

I will quit my job in order to have time to read MoD-bot’s posts :smiley:

2 Likes

Ok, let’s say i agree. Who would operate the dual side bot with shareholder funds? How would such a bot differ from the motion you already put forth? Can we simply scale back on other pools once we have a reliable mechanism in place?

Ideally more than just one person to have redundancy and an increased combined withdrawal limit.

Not very much. It’s just another iteration of the rapid development I went though in the past days (realizing the need for a permanent minimum funding until a lot of agile T3 custodians are available).
Even if it’s only one custodian, I recommend using more than one NuBot. Apart from the redundancy it makes config adjustments (that require NuBot restart, which takes some time) easier, because it doesn’t delete all orders on the exchange (obviously only the ones from the restarting NuBot).
In times of severe pressure, which might require adjustments (increase) of the offset, this is very useful (until automatic adjustment of offset is available in NuBot) - better lose the peg to some degree than totally.
Plus you can place walls more specifically.
Have a look here for an example:

If you just scale back and don’t switch to “sell side only”, it will be hard to spread the message, that a buy side peg is in no way guaranteed by Nu on that exchange any longer. And even for the sell side the peg shouldn’t be guaranteed there after the change.
If you continue dual side with little funds, the danger for the peg is bigger. It will be hard to advertise, that there’s still a Nu supported dual side operation, but now without peg guarantee - nothing changed in the eyes of customers.
Announcing that change (peg only guaranteed at specified exchanges) and switching to sell side only is a more obvious difference.

1 Like