[Draft] Periodic 90 Day ALP Grant Competition

Motion RIPEMD160 hash: tbc

=##=##=##=##=##=## Motion hash starts with this line ##=##=##=##=##=##=

Automatic Liquidity Pool (ALP) operators have a minimum level of payment required to continue server performance. At the same time, operator fees have the potential to stimulate competition between operators. To achieve a competitive atmosphere, 90 days after the passage of this motion a new round of ALP operations will begin with standardized time schedules. Potential pegged pairs will be split up into 2 groups:

Home Pair

An operator may only have one home pair. The operator is expected to continue operation on that pair without competition. The liquidity targets on the home pair may not be less than 2,000 NBT total. Shareholders are expected to favor fiat pegs and low liquidity markets for home pairs. Reward rates on home pairs may not be more than 0.25%/day for fiat pairs and 0.4%/day for cryptocurrency pairs. A home pair operation should ask for no more than 1500 NBT total for a 90 day term, of which 150 NBT will be the fixed operator fee. Shareholders and operators should try very hard to come to consensus on this pool’s provision. The network should strive for continuous liquidity provision on home pairs.

If an operator finds a need to adjust the parameters of a home pool mid-term, they may submit a motion or grant to alter whatever is needed, prorating whatever days are left in the term. The total for the term should still be less than the home term maximum of 1500 NBT.

Competitive Pair

Any pair that is not being voted on as a home pair can be selected by an operator as an additional pool to support. These pairs are to be understood as competitive, so proposed liquidity provision should occur as a motion rather than a grant. If another pool operator wishes to participate they can propose a counter offer for liquidity provision while voting is occurring. Terms are assumed to be 90 days long and all parameters are fully variable. Shareholders should feel no pressure to pass any competitive pair motion.

If an operator finds a need to adjust the parameters of a competitive pool mid-term, they may propose a motion or grant and prorate the rest of the term as needed. Shareholders are to understand that this is highly discouraged, particularly if there were any competing grants or motions that this operation was chosen over. Shareholders should feel no obligation at all to pass such a mid-term change.

Periodic Motion and Grant passage

Every 90 days starting from 23:59 GMT on the day this motion passes, the ALP operator competition will come to a close and any unpassed motions become invalid. Any outstanding grants must be passed as quickly as possible so that pools can begin operation. Any competing motions that pass in the same block are defaulted to the operator who posted the motion in the forum first. Operators should do their best to condense multiple grants into as few a votes as possible, ideally containing all competitive and home grants in a single custodial address. Operator rewards are provided the following term in the home pair grant, though exceptions can be made for new operators.

Motions and grants should be proposed within 60 days of the competition closing and are invalid if passed outside that window.

Unused NBT

Excess NBT is rolled over into the next term. NBT in excess of a new term’s operation will be burned. An operator ceasing operation on all pairs should also burn remaining NBT for a graceful exit.

=##=##=##=##=##=## Motion hash ends with this line ##=##=##=##=##=##=


Example competitive motion:

Motion RIPEMD160 hash: tbd

=##=##=##=##=##=## Motion hash starts with this line ##=##=##=##=##=##=

Operator: @BillyBob
Type: Competitive ALP
Exchange: HappyTrades.com
Strategy: Moderate Peg
Spread After Fees: 1%
Tolerance: 1% (0.01)
Bid Target: 2,500 NBT
Ask Target: 2,500 NBT
Bid Reward Rate: 0.3%/day
Ask Reward Rate: 0.3%/day
Operator Fee: 200 NBT
Total Grant: 1550 NBT
Present Term Requested Funds: 1350 NBT

=##=##=##=##=##=## Motion hash ends with this line ##=##=##=##=##=##=

1 Like

And the corresponding example home grant for @BillyBob:

Proposal RIPEMD160 hash: tbd

=##=##=##=##=##=## Custodian Hash starts with this line ##=##=##=##=##=##=

Custodial Address: xxx
Amount Requested: 2600 NBT

Operator: @BillyBob
Type: Home ALP
Exchange: HappyTrades.com
Strategy: Moderate Peg
Spread After Fees: 0.4%
Tolerance: 0.45% (0.0045)
Bid Target: 2,500 NBT
Ask Target: 2,500 NBT
Bid Reward Rate: 0.2%/day
Ask Reward Rate: 0.2%/day
Total Home Grant Without Operator Fees: 900 NBT
Previous Operator Fees: 350 NBT
Total Competitive Grants: 1350 NBT
Rollover Funds: 0 NBT
Current Total Operator Fees for Next Term: 350 NBT

=##=##=##=##=##=## Custodian Hash ends with this line ##=##=##=##=##=##=

Interesting proposal. Here is my initial response:

Main problem I have with this is that the ALP operators need to fund the liquidity provision costs in advance. That will significantly increase the bar for new pool operators. I’m also not a fan from presetting all those restrictions. Like some regulation but I believe it also reduces competitiveness.

More specifically the 90 days period doesn’t allow for much flexibility. 90 days is still very long in the cryptoworld. I would try with 60 days first before making the jump to 90 days. Like the reduction in administrative overhead for operator (putting up proposals) and Shareholders (voting). Not sure that using motion as you propose would adequately mitigate this and actually provides an improvement over 60 days.

I think it is far more important to provide competition on the pairs and improve the ALP software accordingly in order to reduce the rates on certain pairs. The challenge is in ensuring there is consistency of liquidity provision. A sudden discontinuation because proposals don’t reach the voting threshold can damage the peg or the reputation on a certain exchange.

Side note on unused NBT: the burning process is not well documented. Before this is added to a motion in the form of operator obligations it needs to be documented better.

Edit: the question is also what would pay more? A busy NBT/BTC pair or a rarely used NBT/USD pair holding the peg. We haven’t had those discussions which are important to arrive at proper costs of liquidity and the factors it depends on.


All funds are paid in advance (though operator fees are not). People propose motions and grants for 60 days to get any funding they need, then they begin operation. A new operator can always begin a home pair in the middle of a term.

The main restriction is on the total cost of home pairs, which is to be no more than 500 NBT/month. I’d be totally willing to remove the specified rates of 0.2 and 0.3, but I do think they add some consistency to the numbers proposed.

The home pair has all the flexibility of the current process. If you want to make a new home pair grant/motion every 30 days that’s your prerogative. The decrease in flexibility is only in competitive pairs which is necessary in order to stimulate competition. If a person wins with a proposal over someone else, then changes that proposal midterm, then how do we sufficiently say that they still deserve the pair over the other person who proposed?

If you can’t get a motion passed within 60 days then you didn’t have much chance getting liquidity on that pair in the first place. If anything, this proposal actually makes it easier to keep continuous liquidity on a pool. The only discontinuation we would experience is if people were competing and trading a pool back and forth, then the LP’s would have to switch the relevant server every 3 months. I think that is a reasonable cost for stimulating competition.

What does this mean? There is an RPC command for burning and it can be provably reported back to shareholders before the next home pair election.

Check https://docs.nubits.com/rpc-api/ under ‘burn’ for more information. I’m not really sure what additional documentation we need for it, but if you think there should be more said that’s where we should put it.

I’m not sure how this is relevant, as it will be discussed in the individual competitive grants.

This motion changes little to nothing for an operator running a single pair. It is the second and third pair that this motion is aiming at, saying that anything beyond the first is open for discussion. The idea is actually to satisfy your initial ‘main problem’: the fact that operators require a minimum level of funds paid in advance to continue operation. In this setup, that will always be true, as well as stimulating additional competition on top.

1 Like

TL;DR This won’t increase the bar for new or old operator participation at all and will only reduce flexibility on an operator’s pairs beyond the first in an attempt to stimulate competition.

Edit: I added a clause about changing competitive pairs mid-term. This should give this motion nearly the full flexibility and coverage of the current granting system while still maintaining the most important overall change: to synchronize term schedules amongst different operators.

I realize it looks complicated, but that’s only because I’m trying to make it suuuuuper general. Here’s the main changes to the current process:

  1. Shareholders now have 2 months to sort through motions and grants rather than trying to pass them with no accurate time schedule (nu-pool was paying out of pocket at the end of last term)

  2. Elections close every 90 days and pool provision begins immediately after, allowing operators to know exactly when they are expected to begin operation.

  3. Giving shareholders and operators more time to arrive at consensus allows for a much more diverse competition process than is currently the case.

  4. Home pools are defined and designed to be consistent and reliable for the operator. They have full control over those pools as long as they don’t spend over 450 NBT/month on liquidity provision.

  5. No one gets their feelings or budget hurt because everyone has a home pool that is almost guaranteed to pass.

  6. Changes can still be made in-between terms, especially for an operator’s home pool, but everyone involved understands those are special circumstances.

1 Like

Possible alterations:

  1. Limit motion proposal and passage to 45 days, then give a 15 day grace period for passing grants (including the home grant). This would actually restrict operators more, but would take the pressure off shareholders that pass a motion that needs a grant late in the voting cycle.

  2. Remove reward rate limits on the home pool. This would allow for use of the high quality peg strategy. I personally believe it will lead to every pool operator using the full home 1,500 NBT/term which I am trying to discourage, but if shareholders are smart they will limit home pool operations as the number of operators grow.

  3. Remove minimum liquidity limit on home pool. If shareholders aren’t dumb, they won’t vote for a liquidity less than 2,000 on a home pool anyway (2.5% operator reward).

  4. Remove or change 1,500 NBT home pool limit. This is a dangerous thing to do as the operator fee is fixed at 50 NBT/month. If shareholders are hyper alert of an operator potentially defaulting, this could be viable. However, operators tend to want to choose their reward on a high volume or otherwise high maintenance pair.

@Cybnate I encoded your most recent grant proposal into what I think they would look like if this motion passes:

As a note, ‘bid’ always refers to buying NBT and ‘ask’ always refers to selling NBT. You would submit the first two motions 60 days before the competition closes, then submit the final grant motion after those two motions pass. If shareholders take over a month to pass one of the motions, it would be in everyone’s best interest for the operator to recalculate the final grant motion without the extra competitive motion and work out a mid-term situation with shareholders.


As far as rollover is concerned:

Once competitive motions have passed and you’re getting ready to do your home grant, calculate how much money you’ve saved thus far across all pools due to under or over filling. That is your rollover, and it gets subtracted from the sum of the previous three lines to get the total home grant proposal amount. If the result is a negative number, the grant can be turned into a motion or a 1 NBT grant and the remaining NBT is burned. A burn RPC command looks like this:

nud --unit=B burn #ExcessRollover#

1 Like

Here’s what I would do with Bter. I would get limited by the home pool maximums on the CNY pool, so I would be forced to increase liquidity on BTC if I want to keep the same level of funding. This makes me susceptible to competition. It also means that I will most likely have a full pool on the fiat pair a lot of the time, allowing me to do my best to balance rate and target around a fixed total shareholder cost. On the other hand, I need to really think carefully about my total operator fees and how to get the most shareholder support out of the BTC motion. This may cause me to consider competing on other exchanges with other pools that I think shareholders may support more, which is a very beneficial thing for shareholders because it gives them options.


I could also have done the BTC pool as my home pool and run with as large a target on the CNY pool as I want. However, that is not consistent for my long term vision of NBT on Bter.

What is the problem that NuNet has currently that this motion is trying to solve?

The network lacks a direct means of competition between ALPs. By synchronizing pool terms to begin all at once and by specifying which pairs are open to debate and possible loss of shareholder support, we create a playing field whereby operators are held more accountable for particular pool parameters without jeopardizing the fundamental shareholder support for an individual ALP operator.

The biggest change is that shareholders have an allotted time to pass motions and grants before pools begin operation. This is opposed to the current situation where delayed shareholder support can cause a pool operator to go into the red or shut down.

1 Like

Sorry for being silent on this topic.
Quick opinions:

Home pair:
-no competition - nice
-minimum 2.000 NBT - nice
-max daily rate 0.4%, min 0.25% - nice

regarding the 1500 total for 90 days:
Given the current rate of NuPool (max 0.3% per day) this would result in 27% max for 90 days.
1500 NBT is your max value here, of which 10% (!) are supposed to be the pool fee, which leaves us with 1350 NBT.
given the numbers above: (1350*100)/27
= 5000 NBT max target on the home pair with 0.3% daily max rate.

That would be, in the case of NuPool, very low in comparison to our current targets of 25000 NBT per exchange, no matter which exchange we would chose to be our home pair.

Competitive Pair:
Am I correct that there are no limitations for the pool fee / targets / rates here?

Can you explain this one please?

I’m open to conversation about the home cap, it’s an important topic. You are surprised by a ‘10%’ fee, yet that’s actually exactly the fee nupool had last term (4500 to LPs, 500 to operator). We usually talk about % fees as a percentage of the liquidity provided, but that definition has issues in my opinion. Note that by this LP-operator definition, NuLagoon has 29.4% fee.

So to keep operator funding down, we need operators to have a home pool with a low target. Basically, nupool would end up knocking bittrex down to similar liquidity provision as on ccedk and bter while poloniex has no limit on its pool. Alternatively, nupool could find a home pair elsewhere and take both bittrex and poloniex as competitive grants. I think you’d have a hard time selling the 25,000 total target on bittrex if it were an individual grant. But that’s kinda the point of this motion, isn’t it?

As for the defaulting to forum, that’s only if two motions pass in literally the exact same block. Maybe I should default to the first one seen on the block chain, but that could also end in a tie, so first in the forum seemed logical to me. Anyway, its a super rare occurance and probably won’t happen often if ever.

You mean because of the discrepancy of trade volume and liquidity provided?

yup. Why is bittrex funded so much better than any of the other pairs?

That point is valid. For the last term, it was because bittrex was in danger of being delisted due to low trade volume. And for the terms before… it was the way it was because… it just was. We started with 50:50 split pairs to avoid centralization, the major exchange hacks were 2-3 months old when we began.
I’m open to reducing liquidity on bittrex, but I would have to check with sam first.

I’m also currently digging into this Fixed total payout for liquidity providers to enhance liquidity security and pool operation thread to see if there are synergies with this topic right here.

Do you think I should put in a section about an operator that chooses to forgo the home pair? The synchronization of terms and separation of motions and so on is my main goal here. If you agree with that then we can figure out agreeable terms and conditions.

If the fixed cost ALPs turn out well, they would help simplify the accounting here by greatly reducing the Rollover line and chance of burning funds. Also, this motion helps those pools out by clearly defining a start and end date for payout so no one can argue the operator started without telling people the start time in order to claim the LP reward for themselves. A clearly defined global start time inherently solves that issue.