Send Crypto with a Bump

Tap-to-redeem crypto vouchers with iPhone proximity. No addresses. No QR codes. Just touch phones.

๐Ÿ“ฑ
๐Ÿ“ฑ

The Problem with Crypto Payments

โŒ Complex Addresses

Copying 42-character addresses is error-prone and intimidating for non-technical users.

โŒ QR Code Friction

Scanning QR codes in social settings is clunky and breaks the flow of interaction.

โŒ High Barriers

Web3 UX is too complex for everyday peer-to-peer transactions like splitting bills or gifting.

The CryptoBump Solution

๐Ÿ’ก Crypto payments as easy as a handshake

Bump two iPhones together โ†’ send crypto. That's it.

2s
Average Transfer Time
$0.001
Gas Cost on Base L2
100%
On-Chain & Trustless
14/14
Tests Passing

How It Works

1

Create Voucher

Alice locks 0.001 ETH in the smart contract. The app generates a random 32-byte secret and stores only its keccak256 hash on-chain.

createVoucher(hash, 0x0, amount, 24h)
2

Bump Phones

Alice and Bob touch their iPhones. Using Multipeer Connectivity, the secret is transferred peer-to-peer. No servers, no internet needed.

MCSession.send(secretBytes)
3

Redeem Instantly

Bob receives the secret and taps "Redeem". The smart contract verifies keccak256(secret) matches the hash and transfers the ETH to Bob's wallet.

redeem(secret) โ†’ 0.001 ETH to Bob

Tech Stack

๐Ÿ”ท

Base Sepolia L2

Ultra-low gas fees (~$0.001/tx)

๐Ÿ“œ

Solidity 0.8.28

Smart contract with OpenZeppelin security

๐Ÿ”จ

Hardhat 3

Development & deployment framework

๐Ÿงช

Foundry Testing

14 comprehensive tests (all passing)

๐Ÿ“ฑ

Flutter (iOS)

Cross-platform mobile app

๐Ÿ”—

web3dart

Blockchain integration library

๐Ÿ“ก

Multipeer Connectivity

Apple's P2P proximity framework

๐Ÿ”

Keccak-256

Cryptographic hash function

โœ… Deployed Smart Contract

Production-ready contract on Base Sepolia with comprehensive test coverage

๐Ÿ“ Contract Address 0xA0bbf7730C9065830c51d2A57b2C0A98d3876bD1
๐ŸŒ Network Base Sepolia Testnet (84532)
๐Ÿ“… Deployed October 18, 2025
๐Ÿ” Explorer View on BaseScan โ†’

๐Ÿ›ก๏ธ Security Features

โœ… ReentrancyGuard
โœ… SafeERC20
โœ… CEI Pattern
โœ… Custom Errors
โœ… 14/14 Tests Passing

How It Works: Complete Flow

๐Ÿ‘ค Alice (Sender)

๐Ÿ” Generates random secret (32 bytes)

๐Ÿ”’ Computes keccak256(secret) = hash

๐Ÿ’ธ Locks 0.001 ETH in contract

โ†“

๐Ÿ“œ Smart Contract

Base Sepolia L2

Stores: vouchers[hash] = {

creator: Alice

amount: 0.001 ETH

expiry: 24h

}

โ†“

๐Ÿ“ฑ Bump Transfer

Multipeer Connectivity

Alice touches Bob's iPhone

Secret transferred P2P (encrypted)

No internet needed โœจ

โ†“

๐Ÿ‘ค Bob (Receiver)

๐Ÿ“ฒ Receives secret on his device

๐Ÿ”“ Calls contract.redeem(secret)

โœ… Contract verifies hash matches

๐Ÿ’ฐ Bob receives 0.001 ETH!

๐Ÿ” Security Highlights

โœ… Secret never stored on-chain (only hash)

โœ… One-time use (cannot redeem twice)

โœ… Time-locked (24h expiry for refund)

โœ… Trustless (no intermediaries)