Difference between revisions of "Support Agent"

From Bisq Wiki
Jump to navigation Jump to search
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
== Matrix bisq.chat support agents team ==
 +
 +
The [[Matrix bisq.chat]] and Github handles for current support agents are as follows:
 +
 +
{| class="wikitable"
 +
! Name !! Matrix !! Github
 +
|-
 +
| Jmacxx || [https://matrix.to/#/@jmacxx:matrix.org @jmacxx:matrix.org] || [https://github.com/jmacxx jmacxx]
 +
|-
 +
| MnM || [https://matrix.to/#/@mwithm:matrix.org @mwithm:matrix.org] || [https://github.com/mwithm mwithm]
 +
|-
 +
| WAT || [https://matrix.to/#/@w000000t:matrix.org @w000000t:matrix.org] || [https://github.com/w0000000t w0000000t]
 +
|-
 +
| pazza83 || [https://matrix.to/#/@pazza83:matrix.org @pazza83:matrix.org] || [https://github.com/pazza83 pazza83]
 +
|-
 +
| leo816 || [https://matrix.to/#/@leo816:matrix.org @leo816:matrix.org] || [https://github.com/leo816 leo816]
 +
|}
 +
 +
Please check when speaking to a Bisq support agent that '''both''' their name and their domain extension matches the above.
 +
 
__TOC__
 
__TOC__
  
Line 7: Line 27:
 
* You're a Bisq user. You understand how to use it well enough to help others.
 
* You're a Bisq user. You understand how to use it well enough to help others.
 
* You can be available for 10 hours or more per week to handle support cases.
 
* You can be available for 10 hours or more per week to handle support cases.
* You're familiar with the existing [[Docs]] and [[Knowledge Base]] articles.
+
* You're familiar with the existing [[Docs]] and [[Support_Agent_Knowledge_Base | Knowledge Base]] articles.
  
 
If you're interested in becoming a support agent, see the [[#Internship]] section below.
 
If you're interested in becoming a support agent, see the [[#Internship]] section below.
Line 22: Line 42:
 
* [https://calendar.google.com/calendar/ical/u4eea6bffk10b76l2cmb86eqqc%40group.calendar.google.com/public/basic.ics iCal File]
 
* [https://calendar.google.com/calendar/ical/u4eea6bffk10b76l2cmb86eqqc%40group.calendar.google.com/public/basic.ics iCal File]
 
* [https://calendar.google.com/calendar?cid=dTRlZWE2YmZmazEwYjc2bDJjbWI4NmVxcWNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ Google Calendar] (login required)
 
* [https://calendar.google.com/calendar?cid=dTRlZWE2YmZmazEwYjc2bDJjbWI4NmVxcWNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ Google Calendar] (login required)
 
===Case tracking board===
 
* https://github.com/bisq-network/support/projects/2
 
  
 
===GitHub team===
 
===GitHub team===
Line 35: Line 52:
  
 
===Handle support cases===
 
===Handle support cases===
If unable to solve the trade successfully you must gather the appropriate data before reaching out to a developer.
+
If unable to solve the trade successfully you must gather the appropriate data before contacting a developer.
  
Required data to request support from developers:
+
Required data to request support from '''developers''':
  
 
* Create a directory with the trade ID as name
 
* Create a directory with the trade ID as name
Line 49: Line 66:
 
* Add a screenshot of both traders first chat message (system message containing data like version number/OS,...)
 
* Add a screenshot of both traders first chat message (system message containing data like version number/OS,...)
 
* If there have been any error/warning popups request a screenshot of that as well.
 
* If there have been any error/warning popups request a screenshot of that as well.
* Zip all and send it in keybase as PM to a dev who has commited to work on it. Avoid adding it to the support channel as then nobody will feel responsible to work on it.
+
* Zip all and send it on Matrix chat as PM to a dev who has committed to work on it. Avoid adding it to the support channel as then nobody will feel responsible to work on it.
  
 
===Keep the coverage calendar up to date===
 
===Keep the coverage calendar up to date===
  
 
===Submit regular cycle reports===
 
===Submit regular cycle reports===
 +
 +
Bisq Github roles page is the [https://github.com/bisq-network/roles/issues/64 place] to submit reports for every Bisq DAO Cycle.
  
 
==Rights==
 
==Rights==
  
* Writer access to the <code>bisq.support</code> Keybase subteam
+
* Writer access to the <code>Support - Private</code> Matrix room
 
* [https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#repository-access-for-each-permission-level Triage] access to [[Support Team#Repositories]]
 
* [https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#repository-access-for-each-permission-level Triage] access to [[Support Team#Repositories]]
 
* Edit access to the [[#Coverage Calendar]]
 
* Edit access to the [[#Coverage Calendar]]
 +
* Create com
  
  
Line 94: Line 114:
  
 
===Case tracking===
 
===Case tracking===
''Trade transaction structure''
 
If there are any issues with transactions or doubt if the deposit or delayed payout tx is correct you can check it in a block explorer by following the transactions outputs.
 
 
There are 5 diff. txs:
 
* Maker fee tx
 
* Taker fee tx
 
* Deposit tx
 
* Delayed payout tx (only get broadcast when arbitration gets opened)
 
* Payout tx
 
 
The 2 trade fee txs have as first output the trade fee. That goes either to one of the BTC receiver addresses ([1] and [2]) or to a BSQ change address of the user in case BSQ was used for the fee (the diff from BSQ input and change output is used for miner fee and is the burned BSQ).
 
The **second output of both trade fee txs must lead to the (same) deposit tx**. The deposit tx has an OpReturn and the first output is to a multiSig address (start with `3` if non-segwit or with `bc1` if segwit). There can be an optional change output if trade amount was smaller than max. offer amount, but there are never more then 2 outputs + opReturn.
 
If the delayed payout tx or the normal payout tx was published you see that the first output of the deposit tx (the MS output) is spent and lead to one of those txs as the single input. The normal payout tx has exactly 2 outputs, 1 address for each trader and that addresses are dispayed in the trade/ticket details.
 
The delayed payout tx need to have exactly 1 input and 1 output to one of the addresses listed in [1] and [3]. **If arbitration is opened this tx MUST exist otherwise a refund MUST NOT be made**. The input must be the multisig output of the deposit tx (we have a code to check if its the deposit tx of the trade and not any past one - if a popup in mediation or arbitration tells you that there is an issue, take it serious and contact devs for advice).
 
 
To check the txs (and addresses) use a block explorer which shows clearly the inputs and outputs, not all explorers have a very intuitive UI to follow the flows of txs. If you select the addresses like in the below screenshot you can see the flow pretty clearly.
 
 
<img width="880" alt="Screen Shot 2020-11-26 at 17 57 51" src="https://user-images.githubusercontent.com/54558767/100395926-f3a1a880-3010-11eb-80ef-26fb0e47a023.png">
 
<img width="1029" alt="Screen Shot 2020-11-26 at 17 57 29" src="https://user-images.githubusercontent.com/54558767/100395928-f6040280-3010-11eb-9cd3-9dd9759d058d.png">
 
 
<img width="1129" alt="tradefee2" src="https://user-images.githubusercontent.com/54558767/100388917-f644d380-2ff9-11eb-93f0-5cae757b06fb.png">
 
 
Checking if the trade fee tx leads to the deposit tx helps to quickly see if the trade funds are locked up and all is ok with the trade. If that is not the case the traders might have lost trade fee (if their trade fee tx is published - if one side is missing that user has not lost trade fee so no fee reimbursement is justified, such users need to do a SPV resync as the tx is likely committed in their wallet but not in the mempool due to too low fees or a bug at broadcast).
 
  
 
===Escalation===
 
===Escalation===
Line 123: Line 120:
  
 
===Compensation===
 
===Compensation===
 +
* Compensation Requests for L1 Support Agents have been established at a rate of 500 USD per cycle.
 +
* This USD amount is not tied to a number of hours but it does require for the contributor to work at least 10 hours per week to be eligible.
 +
* It is a fixed rate for all Support Agents and bonuses may apply when properly justified.
 +
* Increase in any compensation amounts will be agreed through consensus by the Support Team and Support Team Lead.
 +
  
 
[[Category:Roles]]
 
[[Category:Roles]]

Revision as of 00:14, 6 February 2022

Matrix bisq.chat support agents team

The Matrix bisq.chat and Github handles for current support agents are as follows:

Name Matrix Github
Jmacxx @jmacxx:matrix.org jmacxx
MnM @mwithm:matrix.org mwithm
WAT @w000000t:matrix.org w0000000t
pazza83 @pazza83:matrix.org pazza83
leo816 @leo816:matrix.org leo816

Please check when speaking to a Bisq support agent that both their name and their domain extension matches the above.

Requirements

What makes a great support agent?

  • You're a Bisq user. You understand how to use it well enough to help others.
  • You can be available for 10 hours or more per week to handle support cases.
  • You're familiar with the existing Docs and Knowledge Base articles.

If you're interested in becoming a support agent, see the #Internship section below.

Infrastructure

Includes all of Support Team#Infrastructure, plus the following:

Coverage calendar

The coverage calendar tracks shifts for each support agent, with the goal of achieving 24/7 coverage.

GitHub team

Role issue

Duties

Handle support cases

If unable to solve the trade successfully you must gather the appropriate data before contacting a developer.

Required data to request support from developers:

  • Create a directory with the trade ID as name
  • Add a short description in a plain text file of the problem/bug. Use BTC buyer/BTC seller if you refer to any trader. Ask user when the issue happened so its easier to find the issue in the logs.
  • Ask them if they have done anything non-standard or had past issues.
  • Add all available trade tx IDs of both traders as plain text to the report.
  • Get a screenshot of the trade details window (click on trade ID). Tell users to only blur out the payment account details but not the tx IDs or other data. There is no relevant privacy issue with exposing trade ID, tx IDs or onion address.
  • Add a screenshot from the mediators dispute details window. The contract as json data is not required initially and only needed if the dev requests it. The payment account data in the json file should be removed before handing over to a dev to protect traders privacy.
  • Get all log files from both users (at Account/Backup there is a button for opening the data dir) - its up to 11 files.
  • Put all logs from one user into a directory named buyer and seller
  • Add a screenshot of both traders first chat message (system message containing data like version number/OS,...)
  • If there have been any error/warning popups request a screenshot of that as well.
  • Zip all and send it on Matrix chat as PM to a dev who has committed to work on it. Avoid adding it to the support channel as then nobody will feel responsible to work on it.

Keep the coverage calendar up to date

Submit regular cycle reports

Bisq Github roles page is the place to submit reports for every Bisq DAO Cycle.

Rights


Policies

Time to response

If you are on duty, it's your job to respond as promptly as possible to incoming user requests. The goal is to respond to all support inquiries in the #support channel within 1 hour of being asked and preferably much faster. This initial response need not actually resolve the user's issue, it is merely letting the user know that you've heard their question and that you'll be their primary support agent for this case.

Sensitive user data

Often support agents will need to ask users to share their logs with you or specific information about their offer or trade, such as trade ID, trade amounts, etc. This data should not be shared in any public channel and should be destroyed one month after the case is closed. Note that any such information that shared in the bisq.support subteam is automatically destroyed after 30 days.

Processes

Internship

Prospective support agents are asked to go through an internship process that lasts one DAO cycle (approximately one month). During this period, you'll perform the duties of a support agent, but your contributions won't be eligible for compensation. This gives you a chance to get to know the ropes and for all parties involved to determine whether a support agent role is a good fit for you.

  1. Indicate in the #support channel that you're interested in interning as a Support Agent.
    • Say a bit about yourself and why you're interested in doing this work
    • Mention what days and times you'll be available to do this work
  2. The Support Team Lead will then:
  3. After one full cycle of interning

Using the coverage calendar

Case tracking

Escalation

Reporting

Compensation

  • Compensation Requests for L1 Support Agents have been established at a rate of 500 USD per cycle.
  • This USD amount is not tied to a number of hours but it does require for the contributor to work at least 10 hours per week to be eligible.
  • It is a fixed rate for all Support Agents and bonuses may apply when properly justified.
  • Increase in any compensation amounts will be agreed through consensus by the Support Team and Support Team Lead.