Skip to content
PIGEON

PIGEON

You type one SMS. Funds move on-chain.

Created on 28th February 2026

PIGEON

PIGEON

You type one SMS. Funds move on-chain.

The problem PIGEON solves

PIGEON

Crypto for the 2.7 Billion Still Offline

Imagine this.

I hand a judge a basic keypad phone. No internet. No apps. No browser.
I say:

“Send 5 ALGO to your mother.”

They type one SMS.
The funds move on-chain.

That is PIGEON.


The Reality

2.7 billion people still use basic phones.

Not because they prefer to.
Because that is what they have.

Today, they are locked out of:

  • Crypto wallets that require apps or browsers
  • DeFi protocols
  • Affordable cross-border remittances
  • True self-custodial digital ownership

Even smartphone users struggle. Seed phrases. Gas fees. Irreversible mistakes. Complex interfaces.

Crypto promised financial freedom.
But it built itself for internet users.


What PIGEON Does

PIGEON turns any SMS-capable phone into a fully functional crypto wallet.

No internet.
No downloads.
No learning curve.

Just text.

Send this:

create SOL wallet


→ Wallet created instantly.

send 5 ALGO to +2348012345678


→ Funds transferred on-chain.

balance


→ Current balance returned via SMS.

my address


→ Public address shared for receiving funds.

get my private key


→ Encrypted export, password-protected.

If someone can send a text message, they can use crypto.


Who This Is For

  • A farmer in rural Nigeria with cellular coverage but no internet
  • A migrant worker sending money home without paying 10% in fees
  • A small shop owner accepting crypto using just a phone number
  • A first-time user intimidated by wallet software
  • Communities during disasters where internet fails but SMS still works

This is not a feature.
It is access.


Security by Design

Traditional wallets:

  • Seed phrases written on paper and easily lost
  • One wrong address means permanent loss
  • Complex UX
  • Internet dependency

PIGEON:

  • Private keys AES-encrypted with a user password
  • Encrypted data stored on-chain via smart contracts
  • Phone numbers instead of unreadable addresses
  • Two-step confirmation for sensitive actions
  • Fully non-custodial — the system never controls user funds

The admin wallet only pays transaction fees.
User assets remain under user control.


Multi-Chain from Day One

Supports:

  • Algorand
  • Solana

Users simply mention the chain.
The system routes the transaction correctly.

No network switching.
No technical friction.


Why It Matters

Most crypto products optimize for advanced users.

PIGEON optimizes for everyone else.

The 2.7 billion who were never considered in wallet design.
The offline majority.

Crypto does not need more complexity.
It needs reach.


One Line

If you can send an SMS, you can own crypto.

That is PIGEON.

Challenges we ran into

Challenges I Ran Into Building PIGEON

1. SIM800L Serial Buffer Fragmentation

The biggest headache was parsing incoming SMS from the SIM800L. The

+CMT:

unsolicited result code arrives in chunks over serial — the header line and the message body don't always arrive in the same

loop()

iteration. Initially, I was trying to parse immediately on seeing

+CMT:

, which meant I'd often get the sender number but lose the message body entirely.

The fix: I implemented a time-based buffering strategy — accumulate serial data into

serialBuffer

and only attempt parsing after 500ms of silence (

SMS_PARSE_DELAY

). This gives the SIM800L enough time to flush the entire URC before we try to process it.

2. HTTPS from an ESP32 to the Backend

The ESP32's

WiFiClientSecure

requires either a root CA certificate or explicitly opting out of verification. During development with ngrok URLs that changed constantly, pinning a cert wasn't practical. I burned time on mysterious connection timeouts before realizing the TLS handshake was failing silently.

The fix:

secureClient.setInsecure()

for dev, with a

TODO

to use

setCACert()

for production. Not ideal, but it unblocked rapid iteration.

3. Long AI Replies vs. SMS Character Limits

SMS has a hard 160-character limit (70 for Unicode). The AI-generated replies from the backend frequently exceeded this, and the SIM800L would just silently truncate or fail to send them.

The fix: I added chunking logic that splits replies into numbered parts —

(1/3)

,

(2/3)

,

(3/3)

— with a 2-second delay between sends to avoid overwhelming the modem. I cap each chunk at 155 characters to leave room for the continuation markers.

4. WiFi and GSM Competing for Attention

The ESP32 needs WiFi for backend HTTP calls and needs to continuously monitor

Serial2

for incoming SMS from the SIM800L. If a backend HTTP request takes too long (AI processing can be slow), incoming SMS data piles up in the serial buffer and can overflow or get corrupted.

The fix: Set a generous

http.setTimeout(30000)

(30s) to account for AI processing time, but this is still a blocking call. A future improvement would be to use FreeRTOS tasks to handle HTTP and serial monitoring on separate cores — the ESP32 has two, after all.

5. Modem Initialization Race Condition

The SIM800L needs time to boot after power-on. I was sending AT commands too early, getting no response, and assuming the module was dead. The

modem.restart()

call would sometimes hang indefinitely on first boot.

The fix: Added a

delay(3000)

after initializing

SerialAT

and another after

modem.restart()

to give the SIM800L time to stabilize before sending configuration commands (

AT+CMGF=1

,

AT+CNMI=2,2,0,0,0

).

Tracks Applied (3)

Algorand Blockchain Track

Collecting workspace information# PIGEON ESP32 SMS Gateway Firmware Yes, the chain (blockchain) integration is fully wi...Read More
Algorand

Algorand

Gemini API

How PIGEON Fits the Gemini API Track PIGEON uses the Google Gemini API as its core intelligence layer, enabling natural...Read More
Major League Hacking

Major League Hacking

Solana

How PIGEON Fits the Solana Track PIGEON brings Solana blockchain access to users with zero internet — via SMS only. Use...Read More
Major League Hacking

Major League Hacking

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion

Builders also viewed

See more projects on Devfolio