---
title: "EchoPay — Audio-Powered Offline Payment System"
description: "I built an offline P2P payment system that encodes transaction data as audio tones between phones (MFSK modulation) — no internet required — with a hybrid UDP fallback and an offline-first Room sync queue."
canonical: "https://shivanshutiwari.in/projects/echopay"
lastUpdated: "2026-09-02"
---

# EchoPay — Audio-Powered Offline Payment System

*Offline P2P payments encoded as audio tones between phones — no internet required.*

I built an offline P2P payment system that encodes transaction data as audio tones between phones (MFSK modulation) — no internet required — with a hybrid UDP fallback and an offline-first Room sync queue.

**Stack:** Kotlin, Android SDK, Express.js, Railway, MFSK, HMAC-SHA256  
**Date:** 2025  
**Live Demo:** https://echopay-backend-production.up.railway.app  

## The Honest Part

My native C++ audio engine is stubbed — all the real signal work happens in pure Kotlin. My backend has real deploy-debugging history behind it: 5 fix commits just for a Railway crash loop.

## Highlights

- Custom Pure Kotlin MFSK engine built from scratch using the Goertzel algorithm
- Hybrid Audio+UDP transceiver with offline-first Room sync queue
- Native C++ audio engine is stubbed — all real signal work happens in pure Kotlin
- Backend has real deploy-debugging history: 5 fix commits for Railway crash loops

---
*Source: https://shivanshutiwari.in/projects/echopay*
