As a user
I want to set a tribute required for non-contacts to send me a message
because I want to prevent spam from people I don't know and/or monetize people contacting me
Stakeholder A, a professional, would like to reach out to a high profile figure in the same industry, but would otherwise have no means of receiving a response.
Stakeholder B, an artist and celebrity wishes to spend some time chatting with fans, and also desires a means of monetizing their fan base.
Stakeholder C, a freelancer, provides photography tutorials, and has a means of generating revenue.
Notes
Depending on implementation design may change. Questions:
How does the user confirm setting tribute to talk. Does this require signing a transaction, a message or other?
What action is required when to pause tribute to talk?
What is the logic behind sharing the wallet address for a user to pay tribute?
1 Setting Tribute to Talk exposes your wallet address by default
2 Setting Tribute to Talk follows the existing send crypto in chat request address flow
3 Setting Tribute to Talk 'registers' your chat key and address with a escrow type contract
Functional requirements
User A can read instructions on Tribute to Talk
User A can set tribute amount
User A can set message
User A can select address to accept tribute
User A can edit amount
User A can edit message
User A can pause requesting Tribute
User A can resume requesting Tribute
User A can disable (i.e. remove) requesting Tribute
User A can view incoming Tributes in their own space; they do not appear as new chat unless accepted
User A can Accept or Decline incoming, pending Tributes
User A can enable/disable receiving notifications for new pending tributes
User A can view received tributes, including user (Nickname, ENS name, random name) amount and date received
User B see tribute amount and message when they are not a contact of user A
User B can read more information about Tribute to Talk
User B can access or request user A's account address, set to receive tribute to talk
User B can pay Tribute to Talk to request being able to send a message
User B is informed that paying tribute does not guarantee receiving a reply
User B is informed of whether their request is Rejected or Accepted
User B can send message when request has been Accepted
User B can send Tribute again after being Rejected
Contact status between user A and user B remains independent from tribute to talk (i.e. paying tribute does not add user A or user B to either of their contact list)
Tentative designs on Figma
User story
As a user I want to set a tribute required for non-contacts to send me a message because I want to prevent spam from people I don't know and/or monetize people contacting me
Use cases in Whitepaper
Notes
Depending on implementation design may change. Questions:
Functional requirements