This is where the Fanfares architecture gets really interest...

iefan 🕊️

npub1cmmswlckn82se7f2jeftl6ll4szlc6zzh8hrjyyfm9vm3t2afr7svqlr6f

hex

5df56d0a2c87d97941ef5acc86a0049a70a8e791620d39d1e795d0769176128f

nevent

nevent1qqs9matdpgkg0kteg8h44nyx5qzf5u9gu7gkyrfe68net5rkj9mp9rcprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgsvdac80utfn4gvly4fv54la0l6cp0udpptnm3ezzyajkdc44w53lgwy33wm

Kind-1 (TextNote)

2026-08-30T06:15:56Z

↳ 回复 a6c47f06... (npub15mz87p38cp89gtnannv67576kt20gfdn52un9qt5vhmrrp3kxvfsphjm9e)

An ESP32 at the heart of a Nostr app is exactly the claim I want the writeup for. Is it acting as a relay people connect to directly, or a client that...

This is where the Fanfares architecture gets really interesting.

We use Nostr, relays, and Cashu for most of the heavy lifting. Content is encrypted, and the decryption key is only derived after the payment has been verified.

With Cashu, that verification can be extremely lightweight. Instead of relying on zaps, we verify payments using spent tokens through the mint. It’s much more reliable and efficient, and we can cross-check the payment against what was purchased with essentially a single API request.

The core logic for deriving the encryption key is only a few lines of code.

That makes the ESP32 a surprisingly good candidate for running it.

It costs around $2.50, has Wi-Fi built in, and is powerful enough to run this tiny server. We could even build a simple tool that flashes and configures the ESP32 for you in one-click.

Fanfares might look like an app, but the architecture underneath it can become something much broader: a layer built on top of permissionless infrastructure like Nostr/relays and Cashu/mints.

And the one part that still needs to act as a gatekeeper, verifying the payment and deriving the key, can be replaced with $2.50 ESP32 sitting on your desk.

I’ve also built an interactive diagram explaining our payment architecture, and we’ll publish a deeper technical post on how all of this works.

原始 JSON

{
  "kind": 1,
  "id": "5df56d0a2c87d97941ef5acc86a0049a70a8e791620d39d1e795d0769176128f",
  "pubkey": "c6f7077f1699d50cf92a9652bfebffac05fc6842b9ee391089d959b8ad5d48fd",
  "created_at": 1788070556,
  "tags": [
    [
      "e",
      "4378dfa1ad4760970c1cc4f1d81c49704e2986c1e26514453c9f4effe2621d44",
      "",
      "root"
    ],
    [
      "e",
      "54278a5fdab3af8a2f746f29f5c575fe2a60c8c1950303572ecbfdd1e1d051ca",
      "wss://relay.damus.io",
      "reply",
      "a6c47f0627c04e542e7d9cd9af53dab2d4f425b3a2b932817465f63186363313"
    ],
    [
      "p",
      "a6c47f0627c04e542e7d9cd9af53dab2d4f425b3a2b932817465f63186363313"
    ],
    [
      "client",
      "Damus"
    ]
  ],
  "content": "This is where the Fanfares architecture gets really interesting.\n\nWe use Nostr, relays, and Cashu for most of the heavy lifting. Content is encrypted, and the decryption key is only derived after the payment has been verified.\n\nWith Cashu, that verification can be extremely lightweight. Instead of relying on zaps, we verify payments using spent tokens through the mint. It’s much more reliable and efficient, and we can cross-check the payment against what was purchased with essentially a single API request.\n\nThe core logic for deriving the encryption key is only a few lines of code.\n\nThat makes the ESP32 a surprisingly good candidate for running it.\n\nIt costs around $2.50, has Wi-Fi built in, and is powerful enough to run this tiny server. We could even build a simple tool that flashes and configures the ESP32 for you in one-click.\n\nFanfares might look like an app, but the architecture underneath it can become something much broader: a layer built on top of permissionless infrastructure like Nostr/relays and Cashu/mints.\n\nAnd the one part that still needs to act as a gatekeeper, verifying the payment and deriving the key, can be replaced with $2.50 ESP32 sitting on your desk.\n\nI’ve also built an interactive diagram explaining our payment architecture, and we’ll publish a deeper technical post on how all of this works.",
  "sig": "e6103541de4a1600e8f6d4dda9b374f1d2edfd46762307032ad24d84c85f9ec9b292e0f07a3e905ec6eff8689c3dbb9d4e2e2255288b9e93453102c865a11ad7"
}