Preparing Exchanges for Grin 5.0

Not sure if this is the right category here. Grin 5.0 is coming in January. In the corresponding thread by Lehnberg (Grin v5.0.0 network upgrade (Hard Fork 4: January 2021)) following is stated:

Date Milestone Description
2020-10-30 Communication to exchanges and mining pools Communicate with exchanges and mining pools to make sure everyone is aware and are getting ready for the upgrade, offering assistance as required.

The longest time i believed that Grins “expert-friendly” transaction-style and lack of idiot-proof UX for users (the missing one-sided transactions as part of this) was the main cause for the ongoing trouble it has. However, when thinking about my own past experiences using Grin i came to realize that when something went off the rails usually an exchange was involved. It seems that in the past exchanges had a hard time implementing robust systems for their Users interacting with Grin. At least it seems non-trivial to accomplish such thing.

It is a good thing that Grin does not pay to get listed on exchanges. However at this point it should be a major concern for the council that if an exchange decides to support Grin, that it does not regret this decision later. I only can guess that exchanges like Bisq, Poloniex and Bittrex stopped supporting Grin because they had constantly a lot of trouble keeping it on its plattform. The ratio between fee-earnings to maintanance-costs shifted against Grins favor.
This indicates that the amount of technical documentation and communication with the exchanges to get it working properly (!) with little maintance on implementation and support in the past may not have been sufficiant.

Now this may be a good time to check:

  • Is the available technical documentation sufficiant for the exchanges to implement their stuff?
  • Maybe create some kind of guidance how an robust implementation would look like.

It should be actively checked why the failures of the past regarding exchanges will not repeat when Grin v5. launches in January.

I would imagine an exchange cares for: 1. Earning Fees, 2. For a coin that is easily integrated 3. and does not need much maintenence from technical stuff and support. Just put that shitcoin on the platform and let it earn me some money without much hassle.

Grin-Development should help the exchanges doing just that because it may help spreading Grin on as many exchanges as possible = more users = overtake Bitcoin = World Dominance.

tl;dr: check if technical documentation is sufficiant for exchanges to implement Grin. Check what could be improved so the exchanges have a good time having Grin on their trading-plattform.


This and cold storage, which I think is important for exchanges’s confidence to operate in a secure way. It is really hard to put Grin into cold storage at the moment. I hope there will be a more elegant way to store Grin securely at some point than there is today.

The main issue is probably that we don’t have that many devs and those that are active should be working on improving the protocol code and wallet in my opinion. Grin is a bit more annoying to implement, this is due to the interactivity, but it’s an O(1) problem, because once you do it correctly, you’ll have it working and don’t need to deal with the problem anymore. I’ve mentioned a few times that some exchanges have a lot of support tickets because they implemented the Grin integration poorly. I know that because it’s possible to see which kind of logical flow their support stuff needs to handle manually through the tickets because it is not handled correctly in the code. But yeah, I agree, we should check and add these basic scenarios to integration docs if we don’t have it already.

If GRIN get rid of the transaction lock (open issue), Exchanges can implement a cold storage by pre-calculating transactions (SLATES) .

Yes, with late locking, you could run the first two steps of regular (SRS) flow in advance, for as many future payments as you like. You do need to fix the amounts in advance though.

Then later, when you want to complete one of these “prespends”, you pick the inputs and run the final S(ender) step.


may be a good time to check

Maybe create some kind of guidance

check if technical documentation is sufficiant for exchanges

Check what could be improved

I like your thinking, but not the attitude. The ‘council’ is not responsible for anything besides the donation fund. It is in the hands of those who believe in Grin and want to see it succeed. That means you and I, and anybody, whether they can program or not is irrelevant.


I get your point and agree that it is a bad attitude to expect other people to do work someone could do by themselves. It is in general a bad habit to expect other people to do something.
I apologize if i made that impression. The reason for my post is that I noticed that Grin adoption by exchanges did not increase but rather the opposite was the case in the last months.
This might be a major concern for the adoption and growth of Grin.
Because i noticed that Lehnberg mentioned this related topic in only one sentence i quoted, i did just want to point it out that this whole topic (Communication and Help in regard to exchanges) needs attention so possible mistakes in the past are not repeated.
So its not about “please do X Y Z” but more about “there might be a problem i want to point out to before it becomes reality”.
However i see now that the concrete measures that came to mind when i wrote my post do make some parts of my considerations sound like i except anybody to do something about it, sorry about that.

Unfortunately I don’t have the technical background and understanding to determine by myself if the steps already taken are sufficiant. However i know some C++ and gladly help to determine on which exchanges Grin is on, in which state it is in on the particular exchanges, and to get in touch with them to determine how things are going and in which form help could be provided.

1 Like

Actually there’s something we could do that would be of tremendous help to many.

Not long ago i wrote down a list of exchanges which have a grin trading pair, but nobody knows at this point what exchange supports which transfer methods (http, slatepacks, files etc) or whether they allow deposits/withdrawals.

As the final hardfork closes in and http will be no more, having those details for each exchange is super important for users (and perhaps to slightly nudge exchanges to the right direction); Some exchanges will support only slatepack messages, some Tor and some won’t bother to activate withdrawals. We should probably track this. If such a list exists, I can embed it nicely into the page linked above, and thus have users update it as time goes. But we could use some research to start with (especially in mid-Janurary right after the fork)

Just a passing thought in case you find this interesting and would like to pick it up and make it your own. If not, that’s ok, as long as you understand that a lot is in our hands.

1 Like

I’m glad the OP mentioned Bisq. I raised an issue with Bisq to re-list Grin there.
They’re don’t mind as long the sending problems are solved (which they should be with slatepack addresses). However, Bisq mediators would like to have some website for transactions verification so they don’t have to keep their own Grin deamon in sync.

I’ve raised an issue on their GitHub.


Mandatory interactivity will always lead to more support tickets, nothing exchanges could do would change this. It is not normal to require wallets to be online to function and this will always create problems. Asynchronous interactions and message storage and relay systems do not resolve the issue.

1 Like

I hope you appreciate that this is not very practical for exchanges. Users have every reasonable expectation to be able to withdraw any amount above the withdraw limit that they desire and forcing them to withdraw predefined amounts is not a solution


Predefined amounts, in addition to leading to an absolutely terrible user experience, scales worse too. You end up with extra transactions, or at least extra outputs.

1 Like

Yeah, I don’t think that acceptable. it is like promoting candles for everyday life while electricity already exists.

It is up to you guys, the leaders of this coin, to take a serious look at what you want to have as a user experience for the users. But don’t expect any adoption if using grin is more annoying than using bitcoin.


Predetermined amounts only work for a very limited number of business cases. For standard business applications like online shops, it would be more useful to have a mechanism where a user can have two keys. A cold one that can only sign the first step (generate invoice for the actual price of the shopping cart) and a hot one for the second and third step (the actual action). This way online shops or exchanges could provide users with immediate responses, but would not risk to get their wallets drained if their servers get hacked, because they can keep the hot key offline and only have the cold key online.

Maybe that you are right. For me, I do think that adding several options for doing things (spending/receiving money) is not necessarily very good. we must keep things simple and not require a PhD in blockchain technology for users to spend and receive money. We just need that default transaction building method that keeps users, including noobs (the majority of users) happy to use the coin without needing to think too much. I am a promoter of spend/receive/sleep, which is what btc have and what grin should have as well. Otherwise you make users having anxiety and not even sure of what they are doing because they may not understand blockchain/mw very well. so for me, it seems as the moment being proactive with 2 step transaction would be the only reasonable thing to do in order to push things forwards and make this coin not more difficult to use as bitcoin. digital cash should be simple, robust and i guess we should concentrate for that first, and thinking of advanced option later in a few years after the average Joe is already happy to use the coin without thinking too much


Two step transactions would be great and would probably enable these use case as well. If use cases can be enabled in a more simple way, then that is better of course. The most important thing is that businesses and other users can use a coin confidently for all typical use cases. The coin should not try to dictate the processes, but should be able to integrate into existing ones.


This exactly! Some folks here seem to think Grin alone is so desirable that people are going to be willing to change how they transact in order to use it. They simply presume Grin’s importance rather than trying to earn it. The markets, community, and dwindling dev count all show how arrogant and wrong-headed that view is.

Bitcoin already struggles because it’s not a simple replacement for Visa. I see no reason to expect users to switch to a coin that requires an even larger change in how they transact.


Why would believing that interactivity could be a more interesting/better path be arrogant and presume Grin’s importance?

I said nothing specifically about interactivity. I’m talking about the general belief that people are going to be willing to work around Grin’s quirks in order to use it. That’s what I find to be an arrogant view.

Bitcoin users are already forced to change the way they transact. Either pay huge fees or use Lightning.

Are you calling bitcoin lightning developers arrogant?

1 Like