Proposal: Paid Uniswap chat support

Uniswap Discord Server Support Situation

As many of you know, the Uniswap Discord server receives a lot of questions from end-users. Prior to the UNI launch, the developers answered these questions but it was a huge drain on expensive developer resources, and there tended to be a large delay between a user asking for support and the user getting an answer due to time zones or the development team just trying to get work done.

Since the UNI launch, the Uniswap Discord server has become overrun with support inquiries and the Uniswap development team has almost entirely stopped answering questions, likely because they are overwhelmed with them. A number of community members have taken up the call and answer questions when they can, but their response time is still unreliable and their availability is limited.

Surprise: most of the questions in Uniswap Discord server over the last month have been answered by my team, disguised as helpful community members!

Serveth Support

A few weeks prior the UNI launch I coincidentally started training a team of support representatives to address the general problem of Ethereum dapps needing 24/7 support by people who understand at least the basics of Ethereum. Across all dapps, the most common questions are the same such as “why is my transaction pending?”, “why did I pay ETH for a failed transaction?” and “what is a gas price?”. My goal with this business is to provide answers to that class of question, and triage/troubleshooting for more application specific types of questions. We also want to ensure that dapp users receive a prompt response from a human, even if their final answer may be delayed.

Prior to the UNI launch, I had been using the Uniswap Discord server for training as the volume of questions in there was good for training and the class of questions was particularly representative of generic Ethereum questions. Around the time the UNI launch happened the first of my trainees were to the point where they could start answering some basic questions so I threw them to the wolves and had them help out with the UNI launch craziness and we started training the next batch. Since then, I have grown the team to 5 people, who are now scheduled across all days of the week and all hours of the day (with some breaks for lunch scattered about).

Pricing Complexities

My original plan was to complete training and then propose that the Uniswap dev team hire my team. However, with the surprise launch of UNI, I thought that perhaps the new UNI community fund would be a better source of funding for this sort of endeavor as it seems to naturally align with community building and decentralized financing.

My tentative pricing plan was going to be 500 USD (paid in crypto) per month, plus 3 USD per customer helped, plus 0.04 USD per message read. The reason for these is as follows:

  1. The 500 USD minimum ensures that the team can dedicate enough time learning the basics of the product being supported and maintaining that knowledge as long as the client continues to pay.
  2. The 3 USD per question is pretty industry standard for highly technical support services (which Ethereum support qualifies as). Also, it ensures that we’ll be able to fully cover costs in the event that there are more questions then we have staff for and gives us some room for growth (to hire more people to answer questions).
  3. The 0.04 USD per message read ensures that we can cover costs and grow in the event that a chat server we are supporting receives a massive volume of chatter that the support representatives have to sift through (finding questions in a high volume server can be time consuming).

The problem with this pricing scheme is that it will result in a monthly bill that varies greatly per month, and so the client hiring our business for support services would review an invoice each month, pay what is due, and then we would start tracking the following month. With Uniswap governance, it would be quite unreasonable to submit a new governance proposal every month with the previous month’s bill!

On top of that, UNI governance doesn’t actually have any assets besides UNI, which is a highly volatile cryptocurrency with an uncertain future. Finally, authoring Governance proposals is challenging and expensive in its own right, and anything that involves price oracles suddenly becomes much more complicated.

For this reason, I propose having the pricing plan for Uniswap be a bit different. Instead of charging monthly per message/question and denominating in USD, I propose that instead UNI governance sets up a drip of UNI as payment via something like Sablier, which governance could cancel if necessary.

Proposal

For the reasons outlined above, and in order to mitigate risks for my business (UNI price risk and over-utilization risk) I would like to propose a Sablier UNI stream of 35,000 UNI over 365 days.

For this fee, Serveth Support (https://serv.eth or https://serveth.support, website not live yet) would provide 24/7 coverage of all channels in the Uniswap Discord server except the foreign language channels and the development channels. We would provide answers to basic questions and triage and escalation services for more advanced questions. We would be available for almost all hours of the year, with exceptions for lunch breaks throughout the day and occasional unexpected service outages (e.g., power outages, death/dismemberment of a team member, etc.)

Proposal Creation

If there is sufficient interest in this proposal, I can draft the actual Solidity contract for it. I do not have the 10M UNI necessary to launch such a proposal though, and will wait until I hear whether there is general support before dedicating time to writing the code (writing the contract code alone probably costs a substantial portion of the proposed amount!)

24 Likes

Interesting proposal. A few things from my side that would help me to better evaluate this proposal:

  • How would Serv.eth report to Uniswap governance; what would those reports contain?
  • How would success be measured?
  • Any reason to not use live chat on the Uniswap front end as the primary channel?
  • Personal preference to see any payment made in USD stablecoin rather than UNI to help governance budget more effectively.

Thanks for the proposal Micah!

4 Likes

The tentative plan for traditional clients was to just track (e.g., in a public Google Sheet or something) the questions answered by the support staff, each with a Discord link to the conversation. This would allow anyone to spot-check/audit the questions and answers if desired. That being said, that was more intended for the per-question billing model rather than the flat-rate billing model.

I think for the flat-rate billing model it would be more just “look at Uniswap Discord server to get a feel for whether Serv.eth Support is doing their job or not”. Since governance can cancel the drip payment at any time, someone would merely need to raise a concern here to get it discussed.

Users receive a prompt reply to almost all questions at all hours of the day. Either the question is answered directly by the support staff, or troubleshooting steps are followed and data is gathered for escalation to someone more capable at answering (e.g., me or dev team) for answer at a later time.

This would require quite a bit of engineering to do. We want to be very careful of any support happening in private channels as it opens the doors to scams. While I trust my support team, I don’t think UNI holders should have to trust my support team. Building out a toolset that allows for auditing of private support queries is a pretty large task and definitely out of scope for this proposal.

I believe this would first require UNI governance to somehow acquire USD, which is a very non-trivial operation. While I would not be opposed to payment denominated in USD, I worry that getting to a place where that is possible is a long way off.

2 Likes

Thanks for the replies and I agree with your point about transparency/public forum and the need for something like Discord. In which case I would suggest we implement a support widget on the front end that takes the user to the #support channel in Discord.

I think for the flat-rate billing model it would be more just “look at Uniswap Discord server to get a feel for whether Serv.eth Support is doing their job or not”.

For this I feel someone from Serv.eth should at least consolidate some key bits of data for each calendar month:

  • Number of requests
  • Requests resolved
  • User feedback (support staff dealt with, satisfaction out of 10 + any comments)

This would help provide some basic ability to measure activity/success and can be elaborated over time.

I believe this would first require UNI governance to somehow acquire USD, which is a very non-trivial operation. While I would not be opposed to payment denominated in USD, I worry that getting to a place where that is possible is a long way off.

I’m not familiar with how the treasury is being managed (multi-sig?). I would personally opt that the treasury allocates UNI to Compound and borrows stables to pay for services like this (separate discussion for sure). It would be ~ interest rate neutral and would drastically lower the risk of exchange rate volatility of UNI without needing to sell UNI.

2 Likes

If we’re going to explore chat support option, it would be much more financially viable to employ full time people and avoid any fees “per person” or “per chat”.

I understand you want to pitch your service though…

2 Likes

what do you think about including forum support beside chat support?

2 Likes

There’s a lot to be said for formalising what a team is already doing for Uniswap.

Unless anyone here wants to actively search for a support company (that somehow understands Ethereum and Uniswap) and organise how it’s executed, then formalising an existing process with accountability seems like a very easy win.

2 Likes

The UNI community fund is entirely controlled by governance (existing UNI holders). While governance has control, there are no mechanisms in place at the moment for actually doing anything with those funds. Anything would need to be coded and then proposed as a governance proposal.

Lending on Compound wouldn’t really work because you are taking that USDC/DAI and spending it, with no intention of getting it back later. This means you’ll never be able to pay it back unless you have some revenue stream for USDC/DAI, which currently UNI governance does not have.

1 Like

At the quoted rate, this is essentially what would be happening. The per support handle model works much better for traditional businesses and is particularly well suited for smaller businesses who want 24/7 support but do not have enough support load to warrant paying 5+ people full time (plus training).

1 Like

I’m open to discussing forum support, but at the moment there is no Uniswap forum aside from this one, and my support team’s expertise is not in Uniswap Governance, it is in Ethereum technical support so I wouldn’t personally recommend hiring them to work on this forum.

1 Like

A few concerns:

  1. Bots/fake accounts manipulating volume of messages answered (3 USD per) and read (.04 cents per message).

  2. 35,000 Uni Locked in for the year and variable pricing (is serv.eth asking for 105k usd for the year? Or expecting prices to go up to x value and is asking for 400k usd?) At what point does it become overpaying if prices go up x amount?

  3. It sounds like many of the same questions are asked from users asking for help. I.e. where is my transaction? Is this a scam token? Can I get my funds back from sending to x address? Would you say a majority of these kinds of questions could be answered via a frequently asked questions page?

  4. If a user is using a more ux friendly wallet, such as dharma or argent etc. Then will your services be only targeting a specific segment of the uniswap community I.e. direct uniswap users who also use discord?

Salaries funded by treasury funds is an interesting use case, and I am looking forward to how UNI holders can support such payments without having to trust the funds usage, and having verifiable actions on expenses per user interactions.

3 Likes

I support this proposal, I think we only need to polish some details, but it sounds good to me.

It also raises another problem, UNI is not a stablecoin is rather impractical to pay for services, maybe we should convert part of the treasury into DAI (we could do something like 500k for now), and use those DAI to pay services like this one.

3 Likes

This would certainly be a concern for a client paying per message. In this case though, the payment would be flat-rate so not a concern for this proposal.

The agreement would be that we’ll work for a year for 35,000 UNI, regardless of the price movement. If the price tanks, we’ll still fulfill the year contract. If the price moons, you’ll still pay us the agreed amount. The reason for the asking amount is largely because we are not in the business of trading/speculating, but the only current option for payment is in a volatile currency. If the price stays where it is at or increases, then 35k will be very favorable to my business. If the price declines some, I’ll still break even on cost (assuming support load remains somewhat consistent). If the price tanks, my business will be running at a loss but we’ll continue to provide support for the year because reputation is very important in these sorts of things, and I don’t want to be seen as a business that goes back on its contracts.

If the payment was in USDC or DAI or some other coin that is less likely to be volatile (even ETH!) then I think the asking price (at today’s valuation) would be significantly lower. Unfortunately, that isn’t currently an option, and Uniswap Discord server is in need of support today (not in 6-9 months after governance figures out how to get a hold of some other currencies). Once my team’s training is complete I’ll be pulling them out to give full attention to paying clients, which means there will be a support hole left in the Uniswap Discord server that I’m not certain the current volunteers will be able to fill (but maybe they can!).

Certainly! The problem is that users don’t read FAQs. :slight_smile: As an example, look at the number of people who pop into the Discord server to ask where their money went and the answer is “you were scammed”. All of these people would have not lost money if they had just taken some time to do some basic research before using Uniswap. Same with the common questions, the answer to all of them already exists on the internet often times even just 1 line up in the Discord chat log, yet the user’s still come in to ask for help.

Discord is listed in the Uniswap UI and all over uniswap.org as the place to chat about Uniswap. I believe it is the primary place where Uniswap users go to get assistance, which is why I propose we hang out there. We will do our best to assist anyone who uses Uniswap, regardless of the specific tools they are using, though I will be open and say that our expertise focus is definitely on MetaMask wallet users as they are by far the dominant wallet that users requesting support are using. Over the last month, I believe we have assisted people with hardware wallets, Argent, Coinbase wallet, Portis, Fortmatic and I suspect others.

1 Like

I think this would be a good idea if Uniswap governance wants to be able to pay for services. However, this is actually a pretty hard problem to do with decentralized governance. A UNI auction would probably be best, but that is a non-trivial amount of engineering required.

1 Like

I can code a dutch auction without much trouble, then executing the trades can be left to bots + arbitration, so we don’t really need a frontend

4 Likes

If we are going to discuss the issue of solving user issues in the chat, the conversation should start from the problem itself. It shouldn’t start with a potential solution.

This can and should be handled by Uniswap community members. Paid support is not a sustainable idea.

I’d be much more in favor of a system that incentivizes knowledgeable Uniswap community members to participate in Discord.

6 Likes

Something like tip.cc could be used to tip community members who consistently go above & beyond to help out people who are asking questions

There needs to be a careful consideration before implementing a reward system like this because of varying amounts of effort required

E.g. A complex problem wont be solved with a single message reply and would require a lot more effort vs a simple issue which could be solved with a reply pointing them to a hyperlink to check out

4 Likes

Hey everyone. I’d like to add my side of the story.

Micah and his team are helping users daily in Discord. My estimate is that on average there are 15-20 people asking for help in Discord per hour. His team (my estimate) can handle around 85% cases without any help, 5% they require some help and in 10% cases nobody can help that person. They are fluent in English, fast learners and have patience of a samurai. Furthermore, they created some nice resources to help answer some FAQ like GIFS and bot commands.

Source: I spend 8-10 hours a day along side them in Discord.

4 Likes

I would also like to vouch for Micah and his team’s efforts.

The support they’ve provided has been exceptional and valuable to the Discord and its users. Whether or not that is grant worthy is totally up to governance, but I think it’s important to add some perspective here for those who don’t hangout in Discord.

If you’re looking for proof of work check out the Discord: https://discord.gg/XErMcTq

1 Like

I can attest to this as well. Micah’s team as well as other community members like BOR4 are in the chat all day and are able to answer questions at a moments notice. Like Kolten said discussion is still required, but It’s definitely worth it to mention how hard they are working.

1 Like