{"id":15458004,"url":"https://github.com/agentofuser/curling-generosity","last_synced_at":"2026-02-07T12:31:53.092Z","repository":{"id":97959404,"uuid":"188918898","full_name":"agentofuser/curling-generosity","owner":"agentofuser","description":null,"archived":false,"fork":false,"pushed_at":"2019-05-28T23:05:20.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-04T02:59:22.318Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agentofuser.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-27T23:02:04.000Z","updated_at":"2019-05-28T23:08:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"97f2fc7a-1bd6-4623-88bc-a3e62d4338b5","html_url":"https://github.com/agentofuser/curling-generosity","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/agentofuser/curling-generosity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentofuser%2Fcurling-generosity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentofuser%2Fcurling-generosity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentofuser%2Fcurling-generosity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentofuser%2Fcurling-generosity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agentofuser","download_url":"https://codeload.github.com/agentofuser/curling-generosity/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentofuser%2Fcurling-generosity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29194019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T22:56:57.258Z","updated_at":"2026-02-07T12:31:53.076Z","avatar_url":"https://github.com/agentofuser.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# RFC: Curling Generosity\n\n[![10x sweeping](curlings-broom-boom.jpg '10x sweeping')](https://ca.sports.yahoo.com/blogs/eh-game/curling-s-broom-boom-leads-to-player-meeting-in-toronto--are-regulations-coming-022117902.html)\n\n_Here are some thoughts about tipping on Brave. I'm a big fan of the project\nand the team and I mean no disrespect. Please excuse any excessive candor._\n\n## Recap\n\n- React to tipping as matter-of-factly as Twitter reacts to a like\n- Allow zero-click, action-based auto-contribute (tip-on-like, tip-on-RT)\n- Set up browser-wide default tip amount, save when changed\n- At most one-click tipping always\n- Allow a comfortable (eg. monthly) window for undoing tips\n- Enqueue all tips by default; make final or cancel on Rewards screen\n- Enable offline tipping (comes for free with queueing by default)\n- Enable tipping without funds (\"adding to shopping cart\")\n- Give me full visibility into where my money is going (audit log)\n\n## Tipping is not a big deal\n\nIt is the opposite of a big deal.\n\nAnd it should be treated that way. Don't cover half my screen with a banner and\noffer me to tweet and everything. Just get out of the way as soon as possible\nso I can do it again.\n\nIdeally, when I tip, the BAT triangle on the address bar (which I'm already\ngetting trained to glance at to see if a website is a verified publisher)\n[unspoofably](https://twitter.com/BrendanEich/status/1132330327618117632) does\na little dance (like the sub-second Twitter heart animation) and _that's it_.\n\nTipping is like:\n\n- Liking\n- Faving\n- Starring\n- Clapping\n- Upvoting\n\nIt's an **impulse** action that satisfies a need for gratitude / reciprocity /\ngifting.\n\nPeople do copy urls and tweet on their own when the situation affords it, no\nneed to add friction to enable that use case.\n\nIf you have to choose between making it easier to **tip again** vs _share the\nfact that you tipped_, err on the side of more tipping.\n\n**Let the happy publishers who are watching the\nextra-money-due-to-reduced-friction come in be your loudspeaker.**\n\n## _At most_ one action (click or keypress)\n\nTipping in places that already have their own appreciation / signal-boosting\nmechanism should take **zero extra actions** if the user wants it so.\n\nIt shouldn't be the default, but I want to set up **action-based\nauto-contribute**: \"On twitter, by default, tip 1 BAT for every like I give. 10\nfor every RT.\"\n\nThis on top of the time-spent auto-contribute that already exists. Time-spent\ndoesn't work for apps with multiple publishers on the same page like Twitter /\nReddit / Hacker News / Stack Overflow.\n\nAnd no need to indirectly infer intent when the user is making it explicit\nalready.\n\n## At most _one_ action\n\nAmazon sells high-value _physical goods_ that need shipping address, credit\ncard, billing information, deciding what kind of shipping you want, etc, etc.\nIt's a nightmare.\n\nAnd yet, they go the distance and do eveything in their power to remove all\nunnecessary action, avoid all repetition, save every detail _once_ and remove\nall anxiety. One-click Ordering(tm) is genius.\n\nTipping is comparatively trivial and there's no excuse for it to ever take more\nthan 1 click or keypress.\n\nWhen setting up the Brave Wallet, the user can define a **browser-wide default\ntip amount** which can be changed on individual cases.\n\nWhen the user changes the default for a specific tip, they can be given the\noption to save that amount for future tips either _to that publisher_, on that\nplatform (\"use this amount for every future RT\"), or browser-wide.\n\nBe like Bezos. (On this specific context. Do pay your employees well.)\n\n## Forgive me for I have tipped\n\n**Undoability** is the universally tried and true way to remove anxiety and put\nthe user in control. 30-day money-back guarantee, no questions asked.\n\nDon't ask for confirmation. Let them undo it later.\n\nAsking for confirmation on an impulse action is only going to get an (annoyed)\nimpulse confirmation. If they are going to think twice at all, they will do it\nlater when system-2 brain kicks in again.\n\nYou can undo a \\$40,000.00 Tesla 7 days later. Tipping should be a no-brainer.\n\n## Tipping in space (or, you know, in the developing world)\n\nThere is already a monthly queue for recurring tips and auto-contribute. This\ncan be extended to every kind of tipping.\n\nAfter I zero-to-one-click tip someone, the tip goes into the queue and by\ndefault stays there until the next monthly cycle.\n\nIf I want that transaction to be final sooner, I go to the Rewards screen and\nclick \"send now.\"\n\nIf I change my mind, I click \"cancel.\"\n\nThis is a critical enabling factor for allowing defaults safely and removing\nobtrusive pre-tipping confirmation dialogs and post-tipping confirmation\nbanners.\n\nIt also enables\n**[offline](https://interplanetarygatsby.com/foreword/ \"there is such thing as 'online'\")\ntipping**, which is huge.\n\nCurrently, if I'm offline, Brave says my wallet balance is zero, says all tip\namounts are worth about 0.00 USD, and tells me \"not enough tokens, please add\nfunds\" when I try to tip even though I have a full wallet.\n\n**Always-enqueue solves for anxiety, user control, and\n[#asyncUX](https://twitter.com/search?q=%23asyncux 'asynchronous user experience')\nall at once.**\n\n## Tipping without funds\n\nOh yeah, another win for queues: I don't have to have funds to tip. I can go\naround tipping, maybe get a little warning when funds run out, but keep\nenqueueing tips nonetheless.\n\nWhen I look at my rewards screen, I see **how much I need to add to my wallet\nfor pending tips to go through**. That is a very good incentive to fill up!\n\nIt's like adding books to a wishlist or items to a cart. You can figure it out\nlater.\n\n## Full (private) transparency\n\nI want to see a log of every tip to every publisher ever, regardless of whether\nit came from deliberate tipping, time-spent auto-contribute, action-based\nauto-contribute.\n\nIdeally, I can see a snapshot of what the tab looked like when I did it, how\nmany BATs I gave, how much they were worth in USD at the time, etc., etc.\n(That's also a great place to put a tweet button for individual tips.)\n\n---\n\nThat's all I have to say about that :)\n\n## PS: I want Brave to succeed\n\nAnd I think some of these things could help. I don't have the full picture and\nI'm probably wrong about some things, but if you made it this far I'm very\ngrateful for your time and for taking these thoughts into consideration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentofuser%2Fcurling-generosity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagentofuser%2Fcurling-generosity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentofuser%2Fcurling-generosity/lists"}