Inspiration

At bitcoin++ Floripa, our Canadian teammate, Matthew, tried to buy lunch—but the vendor wouldn’t accept cash.

They insisted on Pix, Brazil’s widely accepted proto-CBDC.

But Matthew had a problem. Even if he wanted to use Pix, he couldn’t. It requires a Brazilian bank account, which is only available to residents and citizens.

He eventually got a Brazilian friend to pay for him, but the experience was far from ideal.

What it does

NostrPIX lets anyone pay Brazilians in their local currency using an NWC-connected Lightning wallet. The web app allows users to enter a Pix key or scan a QR code, and it automatically facilitates the payment—sending Lightning funds to a Brazilian bank account holder, who then pays the Pix invoice.

How we built it

We’re using React for the frontend, Express.js for the backend API, Supabase for data storage, and integrating a Brazilian personal banking API alongside Nostr Wallet Connect for payments management.

Challenges we ran into

We’re just getting started, but we expect challenges with:

  • Scanning QR codes from a web app
  • Implementing NWC (it’s our first time)
  • Handling certain Pix invoices, especially dynamic ones, which are common at Brazilian POS terminals

Accomplishments that we're proud of

Paying PIX with Bitcoin.

What we learned

Overcoming payments challenges in Brazil

What's next for NostrPIX

Anyone can sign-up to be a PIX liquidity provider and be reimbursed in sats!!!

Built With

Share this project:

Updates