Pay the person who wrote it
Tips and paid likes in bWalletX 5.1.72: the payment goes to the author in the same transaction as the like. Why bChat takes 0%, why the home app gets 5% on top, and how authors can hide their own posts.
Status: out in bWalletX 5.1.72.
A like costs nothing, so it is worth nothing
On most social apps a like is free. You tap a heart, a number goes up, and the person who wrote the post gets nothing they can use. The platform gets something: a signal it can sell to advertisers. Writers who want to be paid have to go somewhere else, to a tip jar, a subscription site or a payment app, and ask readers to follow them there. Most readers don’t.
The gap between “I liked this” and “I paid for this” is a few extra steps, and that is where most of the money gets lost. Every extra screen, every separate account and every card form loses people who would have paid a few cents if it were as easy as tapping a heart.
In the bChat feed inside bWalletX, a like can carry money, and a tip is one tap. The payment goes to the person who wrote the post, in the same transaction as the like. There is no second step and no separate account.
What happens when you tap
There are two actions.
- Paid like. A like with a payment attached. The default is 1,000 sats, and you can change it. It still counts as a like, once per person.
- Tip. You pick an amount. The presets are in dollars, $0.05, $0.25 and $1, converted to sats at the current rate. The smallest tip is 546 sats, and one tip can’t be more than 1 BSV, so a typo can’t empty your wallet.
Either way, your wallet builds one Bitcoin transaction with two parts next to each other. The first is the record: “this is a like (or a tip) for post X, of amount A”, signed by you. The second is the payment: exactly A sats to the author’s address. Your change comes back to you, and the network fee is the normal small one.
Because both parts are in one transaction, they can’t come apart. There is no like that says it was paid when the payment failed, and no payment that lost track of what it was for. Anyone reading the chain can check that the payment output pays the author exactly the amount the record says. The feed only counts a tip towards a post’s total when that check passes. Anything else counts as zero.
The author gets the money, not the app
The payment goes to the address that signed the post. For a bChat post, that is the author’s own signing address. For a Twetch post, it is the address of the author’s Twetch key, the one that signs their posts. The money arrives in their wallet whatever app they use, because it is just a Bitcoin payment and needs nobody’s cooperation.
There is one exception, and we refuse it outright. Treechat signs every post with one shared key, so the signing address belongs to Treechat, not to the person who wrote the post. A tip there would go to Treechat. So for Treechat posts the wallet shows that tips are unavailable, and the builder throws an error rather than paying. When Treechat publishes a payment address for each author, that can change.
Unliking doesn’t refund. If you paid-like a post and then unlike it, the like goes away and the payment stays with the author. That is how a payment works: once it is sent, it is theirs.
Why bChat takes 0%
The format allows the app you are using to add a fee of its own: up to 5% of the amount and never more than 10,000 sats, as a separate output, never taken from the author’s share. bChat sets its fee to zero. With a zero fee, no fee output is written at all.
We did that on purpose. bChat shows posts from other BSV apps as well as its own. If we took a cut of every tip on someone else’s post, we would be doing what we complain about in big platforms: standing between the writer and the reader and charging for it. The point of the feed is that it is open. It is easier to ask other apps to join an open feed when we aren’t charging tolls on it. bWalletX makes its money in other places.
Why the home app gets 5%, on top
When you tip or paid-like a post that was written in another app, Twetch or Peck for example, bChat adds 5% of the amount on top for that app. If you tip 10,000 sats, the author still gets exactly 10,000 sats, and the home app gets 500 more as its own output. It is capped at 10,000 sats. The wallet’s approval screen lists it as its own line, so you see what you are paying before you sign.
The reason is simple. That app found the writer, hosted the conversation and built the thing people came to read. bChat is showing its post to new readers. Sending a share back is the fair thing to do, and it gives other apps a reason to want their posts shown in an open feed instead of a reason to fight it.
There are rules. The share only goes to an address the home app has published for itself. We never guess one, and we never use a shared relay key. It is never paid to the author’s address or the fee address, and never on bChat’s own posts. Today no app has published one yet, so in practice the share is not being paid. When an app publishes its address, the share switches on for its posts, with no new release needed.
Authors stay in control: hiding your own post
Paying people for posts makes posts matter more, and that makes it more important that authors can change their minds. Posts on BSV are on chain and can’t be deleted. What an author can do in bWalletX is ask for a post to be hidden.
“Hide my post” writes a small signed record: “hide post X”. The feed honours it only when it is signed by the same key that signed the post, so nobody else can hide your posts, and you can’t hide anyone else’s. The latest of hide and unhide wins, so you can undo it. The indexer checks each signature, and the feed leaves hidden posts out.
Hiding happens when the feed is read. The post is still on chain, and another app can still show it. We can’t promise more than that, and we don’t pretend to. It is the same model every app in the open feed uses: each one runs its own filters and moderation on top of the shared data. For the same reason as tips, this doesn’t work for Treechat posts, because there is no per-author key to check.
What it changes
When liking and paying are the same action, the signal means something. A post with a hundred paid likes was worth real money to a hundred people. That is harder to fake than a hundred free taps, and it goes straight to the writer, not to the platform. A writer doesn’t need a sponsorship deal or a paywall to get something back for a good post. They need readers who can pay as easily as they can like.
It is small money per tap. That is the point. Bitcoin SV fees are low enough that a few cents can move on its own, and a wallet built into the feed means nobody has to leave to pay.
More about the feed, tips and your handle on the Social page.