• Home
  • About
    • Breno Brito photo

      Breno Brito

      Breno Brito is an AI engineer, data scientist, and writer covering Bitcoin, finance, language models, talks, and applied AI projects.

    • Learn More
    • Twitter
    • LinkedIn
    • Github
  • Writing
  • Projects
  • Talks & Media
  • Contact
  • Tags

Granola - Cashu-based exchange

06 Nov 2024

Reading time ~3 minutes

Granola is a Cashu-based exchange concept that I built with Luis Schwab for SatsHack by Vinteum in October 2024, with the final pitch presented at Satsconf 2024.

The project was built during the hackathon around a specific problem: how to coordinate privacy-preserving Bitcoin on- and off-ramps without falling back to a centralized exchange.

SatsHack pitch

SatsHack / Satsconf 2024

Granola was part of the second SatsHack by Vinteum, a hackathon tied to Satsconf 2024. The final pitches happened on November 8, 2024 at Satsconf, with winners announced on November 9, 2024.

After the event, Granola was covered as one of the highlighted winners:

  • No Bullshit Bitcoin listed Granola as 3rd place overall and Best Nostr.
  • Livecoins also highlighted Granola among the winning Satsconf / SatsHack projects.
  • Portal do Bitcoin had covered the hackathon beforehand, noting that SatsHack would culminate with finalists pitching at Satsconf.

Calle on the idea

Cashu contributor calle later gave a concise outside framing of why Granola felt interesting. In a public Nostr reply on November 7, 2024, he described it as “an exchange without an order book” where trades happen “off-band” and “at light speed” between users, assets, and even mints.

That is still the clearest short summary of the idea. Granola was not just about privacy-preserving swaps, but about replacing the usual custodial exchange flow with direct, atomic coordination across Cashu mints.

The screenshot below was preserved in the original project deck, and the same text survives in calle’s public Nostr reply.

Calle on Granola

Academic reference

Granola later became the starting point for Hugo Szerwinski’s 2025 undergraduate thesis at the University of Brasilia, Protocolo de Swap Atômico Entre Mints de Cashu. I also co-advised the thesis work.

In the thesis motivation section, Szerwinski says the work began from analyzing and implementing Granola after seeing it presented during SatsHack 2024. This mention appears in the “Motivação” section on PDF page 18 (document page 17).

What the project proposed

The starting point was privacy on Bitcoin on- and off-ramps. The proposed solution was to combine Cashu with Nostr so peers could publish and coordinate atomic, cross-mint ecash swaps without relying on a centralized exchange.

In practice, the idea was to treat different Cashu mints as currency-specific issuers and use the same hash/preimage across both sides of the trade. That turns the exchange into a peer-to-peer, privacy-first settlement flow rather than a custodial venue.

Protocol diagram

sequenceDiagram

actor Alice
participant Nostr
actor Carol
participant Mint

Alice-->>Nostr: Generate new \n ephemeral PubKey
Alice->>Nostr: Publish Order

Nostr->>Carol: Fetches 8338 events \n Sees order
Carol-->>Nostr: Generate new \n ephemeral PubKey
Carol->>Alice: Sends DM \n with pay request \n via Nostr

Alice->>Carol: Generates H\n sends HTLC_c to PubKey
Carol-->>Mint: Verify HTLC_c
Carol->>Alice: Sends HTLC_a with the same H
Carol-->>Mint: Subscribe \n to HTLC_a
Alice->>Mint: Swaps HTLC_a token revealing preimage
Mint-->>Carol: State change with preimage
Carol->>Mint: Swaps HTLC_c token

Proposed flow

  1. Alice generates a fresh ephemeral pubkey and publishes an order on Nostr.
  2. Carol sees the order, creates her own ephemeral pubkey, and sends a DM with a pay request.
  3. Alice generates a secret and sends HTLC_c, locked to the corresponding hash.
  4. Carol verifies HTLC_c, creates HTLC_a with the same hash, and subscribes to its state change.
  5. Alice swaps HTLC_a, revealing the preimage in the process.
  6. Carol learns the preimage from that state transition and uses it to swap HTLC_c.

Why it is interesting

  • Nostr can work as a lightweight order-discovery and messaging layer.
  • The exchange flow is peer-to-peer rather than custodial.
  • The original hackathon framing pushed the idea beyond BTC-only settlement and toward cross-mint, multi-currency ecash swaps.
  • The same direction can evolve into broader work on atomic swaps between Cashu mints.
  • Granola starts as a protocol sketch first, not as a polished product.

Status

Granola is still an early design note rather than a production system. The durable part is the mechanism: combining Nostr coordination with hash-locked exchange flows for Cashu-style e-cash.

Links

Official SatsHack Submission GitHub Repo Pitch Video Launch Note on Nostr Calle Nostr Reply Thesis PDF No Bullshit Bitcoin Coverage Livecoins Coverage Portal do Bitcoin on SatsHack

Transcription (experimental) 23 trechos · 1 voz

Fonte: YouTube

  1. 00:00 SPEAKER_01 Hello, ladies and gentlemen, boys and girls, thank you very much.
  2. 00:03 SPEAKER_01 We are here all bitcoiners, and uh we are really grateful for Bitcoin because it gives us an inflation hedge.
  3. 00:12 SPEAKER_01 It's a barrier asset, so it's hard to confiscate.
  4. 00:15 SPEAKER_01 It's also resistant to censorship, but privacy, we need to improve on that.
  5. 00:22 SPEAKER_01 So we have financial surveillance and it's getting stronger everywhere here in Brazil, for example, all trades go to IRS using exchanges, um, and it's going only to get worse, and uh that's why we built granola, the first cashu based exchange.
  6. 00:43 SPEAKER_01 So just like Grenola is made of different nuts and uh cereals and other things, our granola is made of multiple cash means for multiple assets.
  7. 00:58 SPEAKER_01 So when you deposit there, you can trade inside using atomic cross bean swaps orchestrated on Australia.
  8. 01:08 SPEAKER_01 And this way it gives you the same privacy uh regular cash mean does, and it this is this happens because chalman e cash is currency agnostic.
  9. 01:21 SPEAKER_01 So we integrate means with the root assets and liquid, so users can use stablecoins negatively, or if they have pure fields, they can work through our banking partner.
  10. 01:34 SPEAKER_01 So we don't even need to know who are dealing with it here.
  11. 01:40 SPEAKER_01 So yeah, uh, we want to have off the line transactions, we want to be completely open source, and uh we want to release we are going to release on Q1 uh better release and Q3.
  12. 01:54 SPEAKER_01 We expect to create also a liquidity pool and an automated.
  13. 01:58 SPEAKER_01 People an automated market maker using um using this technology.
  14. 02:05 SPEAKER_01 So my name is Brito, my name is Bruno Brito.
  15. 02:08 SPEAKER_01 There uh Luis Schwab is the developer of the team, and uh so let's show the demo.
  16. 02:17 SPEAKER_01 So here uh we've made the fork of Cashu.me
  17. 02:22 SPEAKER_01 and uh let's put something here like a hundred thousand sets for70,000 USD.
  18. 02:31 SPEAKER_01 So let's create this order.
  19. 02:33 SPEAKER_01 The order is successfully created, and uh as you can see it's right here, and uh there's another order here, so let's take this order2200 euros for uh six uh sixty five hundred thousand sets.
  20. 02:53 SPEAKER_01 So let's take the order confirm sweep, yeah.
  21. 02:58 SPEAKER_01 And that's it.
  22. 02:59 SPEAKER_01 We got this order, so that's how it works.
  23. 03:03 SPEAKER_01 Thank you.


academiabitcoincashuhackathonnostrecash Tweet