Bitcoin Forum
May 19, 2026, 10:41:04 AM *
News: Latest Bitcoin Core release: 31.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Prototype Sending Bitcoin NO INTERNET  (Read 176 times)
marcosadelacruz (OP)
Newbie
*
Offline

Activity: 5
Merit: 17


View Profile
July 13, 2025, 05:42:26 PM
Merited by TryNinja (2), dkbit98 (1)
 #1

Prototype: Sending Bitcoin Transactions via SMS using Raspberry Pi Relay Node

For the past months, I’ve been working on a functional prototype that allows sending BTC without an internet connection, using SMS and a Raspberry Pi. This solution could help in remote areas, blackouts, or censorship scenarios where data access is unavailable.

Objective

Build and test a working system to:
  • Send BTC payment instructions via SMS from a basic phone or offline smartphone
  • Use a Raspberry Pi relay node to process, sign, and broadcast the transaction
  • Ensure basic security and confirmation via SMS
  • Avoid dependency on internet-enabled mobile devices or UI interfaces

System Architecture

Sender Device (basic phone or smartphone without internet):  
Sends a structured SMS:  
Code:
ENVIAR 0.0015 BTC A bc1qnxtsp0ew8vpkgt2u2k9ssy6s5mky8cqnzzpl6s PIN 1984

Relay Node (Raspberry Pi):  
  • Receives the SMS via a GSM modem
  • Parses and validates the message using a custom Python script
  • Uses Electrum CLI to sign and broadcast the transaction
  • Returns the TXID via SMS for confirmation

Technical Summary

Hardware:  
  • Raspberry Pi 4B (with Raspbian OS)
  • GSM modem (e.g. Huawei E303, SIM800L)
  • Active SIM card (Claro / Altice)
  • Internet access via Wi-Fi or 5G dongle

Software:  
  • Python 3
  • gammu / python-gammu
  • Electrum CLI (v4.4.6+)
  • Custom Python script to manage parsing, validation, and signing

Key Benefits

This system works even with basic mobile phones and doesn’t require mobile data or a smartphone. It’s low-cost, easy to build, and I’ve personally tested it in real conditions. It provides a working method for sending BTC when other communication methods fail, using only SMS and a small computer.

Limitations

The private key is stored in a single node, which means if the Raspberry Pi is compromised, the funds could be stolen. The system also depends on GSM signal quality, so poor coverage will interrupt service. Each SMS has a cost, and if many transactions are done, it can become expensive. Inputting amounts and addresses manually increases the chance of human error. There’s no support yet for multisig or PIN validation per user. Fee estimation is basic, and UTXO handling is not optimized. The relay node must stay powered and online at all times.

Python Script (Prototype)
Code: (python)
import gammu, subprocess, re
sm = gammu.StateMachine(); sm.ReadConfig(); sm.Init()
msgs = sm.GetNextSMS(Start=True, Folder=0)

for msg in msgs:
    if msg["Number"] != "+1XXXXXXXXXX": continue
    match = re.match(r"ENVIAR ([0-9.]+) BTC A (\w+) PIN (\d+)", msg["Text"])
    if match and match.group(3) == "1984":
        monto, direccion = match.group(1), match.group(2)
        cmd = f"electrum --wallet wallet_sms payto {direccion} {monto} --broadcast --password TU_PASS"
        txid = subprocess.check_output(cmd.split()).decode().strip()
        sm.SendSMS({'Text': f'TX enviada: {txid}', 'SMSC': {'Location': 1}, 'Number': msg["Number"]})

In Dominican Republic or wordwide, imagine that during a political or social crisis, the authorities decide to restrict or control internet access to limit citizen organization and the flow of information. These measures can affect digital financial services, leaving many people unable to send or receive money through common electronic means. In this situation, sending Bitcoin  via SMS using a Raspberry Pi relay node can be a viable solution to maintain the flow of funds. Anyone with a basic phone can send simple instructions via SMS to make secure payments or transfers, without needing direct internet connection. This type of technology will become increasingly necessary in the future, not only for crisis situations but also to guarantee financial freedom and resistance to censorship. That’s why I believe it’s important to start learning and sharing these tools now. This is my contribution to the community so that together we build more resilient and accessible systems.

examplens
Legendary
*
Offline

Activity: 4018
Merit: 4653



View Profile WWW
July 14, 2025, 07:13:47 PM
Merited by ABCbits (1)
 #2

  • Use a Raspberry Pi relay node to process, sign, and broadcast the transaction
After all, at some point, the internet is needed, right?
There has to be some kind of wallet on that Raspberry Pi, right? That requires an extra level of protection.

Sender Device (basic phone or smartphone without internet): 
Sends a structured SMS: 
Code:
ENVIAR 0.0015 BTC A bc1qnxtsp0ew8vpkgt2u2k9ssy6s5mky8cqnzzpl6s PIN 1984
Do you think that mobile networks and sending SMS over them are safer than using the Internet? I would consider sending a PIN code or any sensitive information via SMS as high risk.

The idea is good, probably for the censorship cases you mentioned.
Although I'm not sure how someone will start their Raspberry Pi node if the internet is already censored.

 
 b1exch.to 
  ETH      DAI   
  BTC      LTC   
  USDT     XMR    
.███████████▄▀▄▀
█████████▄█▄▀
███████████
███████▄█▀
█▀█
▄▄▀░░██▄▄
▄▀██▄▀█████▄
██▄▀░▄██████
███████░█████
█░████░█████████
█░█░█░████░█████
█░█░█░██░█████
▀▀▀▄█▄████▀▀▀
Vod
Legendary
*
Offline

Activity: 4438
Merit: 3655


Licking my boob since 1970


View Profile WWW
July 14, 2025, 08:44:07 PM
Merited by ABCbits (1)
 #3

For the past months, I’ve been working on a functional prototype that allows sending BTC without an internet connection, using SMS and a Raspberry Pi. This solution could help in remote areas, blackouts, or censorship scenarios where data access is unavailable.

If the internet is down then cell phone towers are most likely down as well, and can be censored too.

When I read your title, I first imagined a bluetooth solution much like the recent announcement of Bitchat1, or something like Bitmessage.  It would not work for realish time payments, but it would allow anyone to send bitcoin to anyone else with no centralized communication infrastructure. 

1Currently in beta, available via iOS TestFlight (limited to about 10,000 users) and Android; full App Store release pending optimizations and approval

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits PREDICT..
█████████████████████████
█████████████████████████
███████████▀▀░░░░▀▀██████
██████████░░▄████▄░░████
█████████░░████████░░████
█████████░░████████░░████
█████████▄▀██████▀▄████
████████▀▀░░░▀▀▀▀░░▄█████
██████▀░░░░██▄▄▄▄████████
████▀░░░░▄███████████████
█████▄▄█████████████████
█████████████████████████
█████████████████████████
.
.WHERE EVERYTHING IS A MARKET..
█████
██
██







██
██
██████
Will Bitcoin hit $200,000
before January 1st 2027?

    No @1.15         Yes @6.00    
█████
██
██







██
██
██████

  CHECK MORE > 
Gentle_Soul
Full Member
***
Offline

Activity: 450
Merit: 119


View Profile
July 14, 2025, 10:38:27 PM
 #4

Prototype: Sending Bitcoin Transactions via SMS using Raspberry Pi Relay Node

For the past months, I’ve been working on a functional prototype that allows sending BTC without an internet connection, using SMS and a Raspberry Pi. This solution could help in remote areas, blackouts, or censorship scenarios where data access is unavailable.

Objective

Build and test a working system to:
  • Send BTC payment instructions via SMS from a basic phone or offline smartphone
  • Use a Raspberry Pi relay node to process, sign, and broadcast the transaction
  • Ensure basic security and confirmation via SMS
  • Avoid dependency on internet-enabled mobile devices or UI interfaces

System Architecture

Sender Device (basic phone or smartphone without internet):  
Sends a structured SMS:  
Code:
ENVIAR 0.0015 BTC A bc1qnxtsp0ew8vpkgt2u2k9ssy6s5mky8cqnzzpl6s PIN 1984

Relay Node (Raspberry Pi):  
  • Receives the SMS via a GSM modem
  • Parses and validates the message using a custom Python script
  • Uses Electrum CLI to sign and broadcast the transaction
  • Returns the TXID via SMS for confirmation

Technical Summary

Hardware:  
  • Raspberry Pi 4B (with Raspbian OS)
  • GSM modem (e.g. Huawei E303, SIM800L)
  • Active SIM card (Claro / Altice)
  • Internet access via Wi-Fi or 5G dongle

Software:  
  • Python 3
  • gammu / python-gammu
  • Electrum CLI (v4.4.6+)
  • Custom Python script to manage parsing, validation, and signing

Key Benefits

This system works even with basic mobile phones and doesn’t require mobile data or a smartphone. It’s low-cost, easy to build, and I’ve personally tested it in real conditions. It provides a working method for sending BTC when other communication methods fail, using only SMS and a small computer.

Limitations

The private key is stored in a single node, which means if the Raspberry Pi is compromised, the funds could be stolen. The system also depends on GSM signal quality, so poor coverage will interrupt service. Each SMS has a cost, and if many transactions are done, it can become expensive. Inputting amounts and addresses manually increases the chance of human error. There’s no support yet for multisig or PIN validation per user. Fee estimation is basic, and UTXO handling is not optimized. The relay node must stay powered and online at all times.

Python Script (Prototype)
Code: (python)
import gammu, subprocess, re
sm = gammu.StateMachine(); sm.ReadConfig(); sm.Init()
msgs = sm.GetNextSMS(Start=True, Folder=0)

for msg in msgs:
    if msg["Number"] != "+1XXXXXXXXXX": continue
    match = re.match(r"ENVIAR ([0-9.]+) BTC A (\w+) PIN (\d+)", msg["Text"])
    if match and match.group(3) == "1984":
        monto, direccion = match.group(1), match.group(2)
        cmd = f"electrum --wallet wallet_sms payto {direccion} {monto} --broadcast --password TU_PASS"
        txid = subprocess.check_output(cmd.split()).decode().strip()
        sm.SendSMS({'Text': f'TX enviada: {txid}', 'SMSC': {'Location': 1}, 'Number': msg["Number"]})

In Dominican Republic or wordwide, imagine that during a political or social crisis, the authorities decide to restrict or control internet access to limit citizen organization and the flow of information. These measures can affect digital financial services, leaving many people unable to send or receive money through common electronic means. In this situation, sending Bitcoin  via SMS using a Raspberry Pi relay node can be a viable solution to maintain the flow of funds. Anyone with a basic phone can send simple instructions via SMS to make secure payments or transfers, without needing direct internet connection. This type of technology will become increasingly necessary in the future, not only for crisis situations but also to guarantee financial freedom and resistance to censorship. That’s why I believe it’s important to start learning and sharing these tools now. This is my contribution to the community so that together we build more resilient and accessible systems.



I have read through your post and discovered the kind of service you are putting up and I kind of have some reservations.
Owing to the fact that transactions of Bitcoin requires a more secure encryptions,  I think your innovations are quite impressive but what are the security guarantees when it comes to the informations given out during the process of this sending this BTC offline without using the internet.
I understand that desperate times can call for desperate measures as they say but I the mist of that one ought to know what he is up to to avoid running into a financial mistake by losing funds in wallet

truepotential
Newbie
*
Offline

Activity: 9
Merit: 0


View Profile
July 17, 2025, 02:37:52 PM
 #5

Prototype: Sending Bitcoin Transactions via SMS using Raspberry Pi Relay Node

For the past months, I’ve been working on a functional prototype that allows sending BTC without an internet connection, using SMS and a Raspberry Pi. This solution could help in remote areas, blackouts, or censorship scenarios where data access is unavailable.

Objective

Build and test a working system to:
  • Send BTC payment instructions via SMS from a basic phone or offline smartphone
  • Use a Raspberry Pi relay node to process, sign, and broadcast the transaction
  • Ensure basic security and confirmation via SMS
  • Avoid dependency on internet-enabled mobile devices or UI interfaces

System Architecture

Sender Device (basic phone or smartphone without internet):  
Sends a structured SMS:  
Code:
ENVIAR 0.0015 BTC A bc1qnxtsp0ew8vpkgt2u2k9ssy6s5mky8cqnzzpl6s PIN 1984

Relay Node (Raspberry Pi):  
  • Receives the SMS via a GSM modem
  • Parses and validates the message using a custom Python script
  • Uses Electrum CLI to sign and broadcast the transaction
  • Returns the TXID via SMS for confirmation

Technical Summary

Hardware:  
  • Raspberry Pi 4B (with Raspbian OS)
  • GSM modem (e.g. Huawei E303, SIM800L)
  • Active SIM card (Claro / Altice)
  • Internet access via Wi-Fi or 5G dongle

Software:  
  • Python 3
  • gammu / python-gammu
  • Electrum CLI (v4.4.6+)
  • Custom Python script to manage parsing, validation, and signing

Key Benefits

This system works even with basic mobile phones and doesn’t require mobile data or a smartphone. It’s low-cost, easy to build, and I’ve personally tested it in real conditions. It provides a working method for sending BTC when other communication methods fail, using only SMS and a small computer.

Limitations

The private key is stored in a single node, which means if the Raspberry Pi is compromised, the funds could be stolen. The system also depends on GSM signal quality, so poor coverage will interrupt service. Each SMS has a cost, and if many transactions are done, it can become expensive. Inputting amounts and addresses manually increases the chance of human error. There’s no support yet for multisig or PIN validation per user. Fee estimation is basic, and UTXO handling is not optimized. The relay node must stay powered and online at all times.

Python Script (Prototype)
Code: (python)
import gammu, subprocess, re
sm = gammu.StateMachine(); sm.ReadConfig(); sm.Init()
msgs = sm.GetNextSMS(Start=True, Folder=0)

for msg in msgs:
    if msg["Number"] != "+1XXXXXXXXXX": continue
    match = re.match(r"ENVIAR ([0-9.]+) BTC A (\w+) PIN (\d+)", msg["Text"])
    if match and match.group(3) == "1984":
        monto, direccion = match.group(1), match.group(2)
        cmd = f"electrum --wallet wallet_sms payto {direccion} {monto} --broadcast --password TU_PASS"
        txid = subprocess.check_output(cmd.split()).decode().strip()
        sm.SendSMS({'Text': f'TX enviada: {txid}', 'SMSC': {'Location': 1}, 'Number': msg["Number"]})

In Dominican Republic or wordwide, imagine that during a political or social crisis, the authorities decide to restrict or control internet access to limit citizen organization and the flow of information. These measures can affect digital financial services, leaving many people unable to send or receive money through common electronic means. In this situation, sending Bitcoin  via SMS using a Raspberry Pi relay node can be a viable solution to maintain the flow of funds. Anyone with a basic phone can send simple instructions via SMS to make secure payments or transfers, without needing direct internet connection. This type of technology will become increasingly necessary in the future, not only for crisis situations but also to guarantee financial freedom and resistance to censorship. That’s why I believe it’s important to start learning and sharing these tools now. This is my contribution to the community so that together we build more resilient and accessible systems.



Very interesting idea. No internet no signals probably, i would think this would work with something satelite related better. Like if Elon Musk makes free signal everywhere, how could it work anyother way? Or a tool that send signals without wifi different wave, but that is way more complicated.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!