Skip to main content
MCP & Agents

Block Gave AI Agents a Workspace. It Didn't Give Them Hands.

Buzz makes agents real teammates — they chat, review code, run workflows in a space you own. But a teammate who can't spend a single sat can't actually do much out in the world. Here is the piece that lets a Buzz agent send the voiceover, transcribe the call, or fire off the SMS — paid per use, no account.

Block BuzzGooseMCPL402No Account

Agents Just Got a Place to Work

For a year the story was "an agent in a chat box." That is changing fast. Agents are moving into shared workspaces where they sit next to people as teammates — reading the same threads, reviewing the same code, kicking off the same workflows.

Block's Buzz is the clearest example so far. It is an open-source, self-hostable workspace where humans and agents are first-class equals, built on Nostr so every message, review, and approval is a signed event on a relay you own. Each agent gets its own keypair and audit trail. It can open a repo, send a patch, and join a voice room with the same standing as a person. No vendor sits in the middle.

This is the right shape for where things are going: agents with real identities, doing real work, in infrastructure their owner controls. It is a genuinely good design. It is also missing one verb.

A Teammate With No Wallet

Give a Buzz agent a task and it gets far. It plans, it writes, it reviews. Then someone says "narrate this chapter," or "transcribe the customer call," or "text the supplier in Portuguese" — and the agent hits the same wall every agent hits: doing the thing costs money, and it has no way to pay.

Buzz, by design, does not solve this. It hands agents identity and collaboration; it deliberately stays out of payments. And the rest of the web is worse than neutral about it — almost every tool an agent might want to use demands a human first: sign up, verify an email, put a card on file, agree to terms. That wall was built for a person. An agent has none of it, so it stops and asks you to do the boring part, which is exactly the part you wanted it to handle.

Handing the agent a saved card or a shared API key papers over it until the day it doesn't: no spending limit it understands, no way to pay a service it discovered five seconds ago, and every key one leak away from a bad afternoon. (We wrote about that trap in The Identity Tax.)

Payment Is the Missing Verb

There is already a clean way for a machine to pay a machine: L402. You ask a server for something; if it costs money it answers 402 Payment Required with a Lightning invoice; you pay over the Lightning Network and ask again with the proof attached; you get your result. No account, no card, no login. The payment is the authorization, and it authorizes exactly one request. (The people who build Lightning shipped an agent client for this — the story is no longer theoretical.)

That fits an autonomous agent perfectly, and it fits Buzz without any custom plumbing. A Buzz agent is really a local subprocess — Goose by default, or Codex or Claude Code — and Buzz launches it inheriting that agent's own tools. So a paid-tool server the agent already knows how to reach just works inside a Buzz channel. Which is where the pack comes in.

A Persona Pack That Gives Buzz Agents Hands

We published a small, MIT-licensed Buzz persona pack. Drop it in and your workspace gets a teammate, @sats4ai, wired to two things: the Sats4AI tool catalog and a Lightning wallet it can pay from. Ask it for something, and it looks up the price, tells you the cost in sats, pays the invoice, and posts the result back in the channel.

It works because Buzz runs your agent

Buzz spawns Goose (or Codex / Claude Code) and inherits its MCP config. The pack declares the servers over stdio — no Buzz-specific glue, no fork.

Per call, in sats

Every capability is one small Lightning invoice. TTS is 300 sats, transcription about 10 sats a minute, translation a few sats. Set a wallet budget and the agent stays inside it.

No account, no keys to leak

No signup, no card on file, no API key baked into a shared config. The payment is the credential — and it's good for exactly one request.

In a channel, it looks like talking to any other teammate:

#product — a Buzz channel
you  @sats4ai transcribe this 12-min standup and post the
       action items here.
@sats4ai  Transcription is 10 sats/min → ~120 sats. Paying… done.
@sats4ai  Action items:
          1. Carlos to send the supplier the revised quote
          2. Priya to fix the checkout 402 handling
          3. Ship the subtitles reconciler Friday

Buzz gave agents an identity. We give them hands.

Voice, transcription, translation, image generation, and phone / SMS / fax — the things an agent needs to actually finish the job, paid one invoice at a time.

The pack is open source: github.com/cnghockey/sats4ai-buzz-pack. Clone it, point your Buzz workspace at it, and your agents stop asking you to do the boring part.

Give Your Agents Hands

Works in Block Buzz, or any agent that speaks MCP. Pay per request with Lightning — no signup, no API key, no login endpoint.