the case for settling attention onchain.
micro-royalties priced in milliseconds. why streaming and onchain primitives converge twice before 3g is dead — and the surface i started drawing after the third re-read of "trust in a wallet".
the third re-read.
i keep re-reading the same passage. it's from a wallet whitepaper i was supposed to skim — three paragraphs about how attention is the actual commodity, not the output. when i finally closed the tab, the cursor was still blinking in a design file i hadn't saved in four hours. that was the first time i believed it.
every good idea i've carried into a production codebase has taken exactly three passes. the first read was curiosity. the second was suspicion. the third is the one that starts asking what it would cost to actually build — what assumptions you'd have to rearrange, what abstractions you'd have to let die, what tab you'd have to close and never open again.
the attention-as-commodity argument isn't new. people have been saying it since the early 2010s in one form or another. what is new — and what i think the onchain side of the web finally makes tractable — is the ability to price that attention at the unit of the second, not the month, and settle it without either side trusting a spreadsheet.
"the actual commodity was never the track. it was your willingness to let it finish."
streaming as settlement.
the old model of 'streaming royalties' is quarterly. an artist ships a song, three months later a dashboard tells them it was played 18,402 times, six weeks after that a wire transfer clears. the interval between the attention and the receipt is so long that the receipt stops feeling connected to the act.
what if a listen was a transaction? not conceptually — actually — a little ledger entry settled to a rollup while the waveform is still rendering. this is the surface i started drawing on a train from bandung to jakarta, and it looks something like this:

01export async function settleListen(track: { id: number }) {02 const royalty = priceAttentionMs(t) // 0.0021 eth / ms03 const tx = await base.send({04 to: track.artist,05 value: royalty,06 memo: encode({ track: track.id, ms: t }),07 })08 return { tx, receipt: await tx.wait() } // ~2.1s09}three objections i keep hearing.
i've shown this to about a dozen engineers and a smaller number of musicians, and the same three doubts come up every time. i think they're worth writing down — not to dunk on them, but to note how each one dissolves once you stop treating the payment as a chore and start treating it as feedback.
"gas fees eat the royalty."
true on l1. false on base and most rollups — we're under a tenth of a cent, which is already well under the floor of what any streaming service pays per listen. the economics have quietly flipped.
"nobody wants a wallet to listen to music."
agreed. that's a product problem, not a primitive problem. passkeys + embedded wallets + a first-play free tier get you past the cold-start without the user ever seeing a seed phrase.
"why should artists care about onchain receipts?"
they shouldn't, directly. but the platform that rolls this up into a weekly breakdown — the one that shows a painter exactly how many seconds of attention she earned and from whom — that's the product. the chain is plumbing.
wallet-first — before
listener-first — aftera note for the next reader.
the surface i drew on that train ride became volume — an onchain music player, currently in private beta. you can watch the receipts tick in real time. every listen is 2.1 seconds of settlement. the wallet connection is a passkey. nobody sees a seed phrase. i think that's the right shape.
whether this becomes the default way to settle attention online or a footnote in a different kind of web, i can't tell. but on my third re-read of the wallet paper, i already knew i wasn't going to close the tab again. maybe that's the answer to the question of what attention is actually worth: how long you're willing to stay.
keep reading.
three essays in the same key · pick onedon't trust the agent. audit the plan.
don't trust the agent. audit the plan.
read essay →trace · a cli agent that plans.
announcing the open alpha. three demos, one odd opinion about why cli agents still matter in a chat-first world.
read essay →interface as editorial. type as voice.
interface as editorial. type as voice.
read essay →