TapOut
Tap. Send. Done. No coordination needed.
Created on 15th March 2026
•
TapOut
Tap. Send. Done. No coordination needed.
The problem TapOut solves
TapOut
The Problem
Paying someone in crypto shouldn't require a 5-minute conversation:
- "What chain are you on?"
- "Do you have USDC or ETH?"
- "Send me your wallet address"
- Wrong network → stuck funds → frustration
Token and chain fragmentation broke casual payments.
What TapOut Does
| Before | With TapOut |
|---|---|
| Share wallet address | Share phone number or ENS |
| Agree on chain & token | AI auto-negotiates from ENS prefs |
| Manual bridge + swap | AI routes & executes automatically |
| 3-5 apps, 5 minutes | 1 tap, ~30 seconds |
Use Cases
In-Person (NFC)
- Split dinner bill
- Pay a friend back
- Community meetups & events
Remote (ENS)
- Send money across cities/countries
- Pay freelancers globally
- Family remittances
What Makes It Better
| Aspect | Improvement |
|---|---|
| Easier | Phone number = wallet. No addresses. |
| Faster | AI handles routing. One confirmation. |
| Safer | Forwarding contracts hide main wallet. |
| Cheaper | AI finds lowest gas + best route. |
Tagline
Crypto payments, finally simple.
Challenges we ran into
Challenges I Ran Into
1. ENS Privacy Leak (Critical)
The Problem:
Early in development, our mentors pointed out a major flaw: resolving bob.phoneno.eth returned his main wallet address directly. This meant anyone could view his entire transaction history on Etherscan. We were doxxing users by design.
The Solution:
We built a Privacy Forwarding Contract.
- Users deploy a lightweight forwarder contract.
- ENS records point to the contract address, not the main wallet.
- Funds received auto-sweep to the main wallet internally.
- Result: Public sees only the contract. Main wallet stays hidden.
2. x402 Payment Interception
The Problem:
Integrating HeyElsa's x402 API wasn't just a normal HTTP request. Every call returned HTTP 402 Payment Required. Our initial code crashed because it didn't know how to sign and attach the USDC payment proof automatically.
The Solution:
We wrote a custom axios interceptor using viem:
- Detects 402 responses.
- Parses payment requirements (amount, recipient).
- Signs payment locally with user's wallet.
- Retries request with
X-Payment-Tokenheader. - Result: Seamless micropayments ($0.001 per data call) without user friction.
3. Network Mismatch Errors
The Problem:
During testing, transactions failed with:
Error: network changed: 1 => 11155111
The wallet was on Mainnet, but our agent tried to execute on Sepolia/Base. Ethers.js refused to sign across mismatched networks.
The Solution:
Added a network validation hook before execution:
- Checks current wallet chain ID.
- Prompts user to switch networks if mismatched.
- Forces provider alignment before signing.
- Result: Reliable execution across multiple chains.
4. AI Agent Decision Making
The Problem:
Our first version used hard-coded rules for route selection. It wasn't actually using OpenClaw/AI. We risked missing the HeyElsa bounty criteria.
The Solution:
Refactored the orchestrator to call agent.execute():
- Sends route options to OpenClaw.
- AI analyzes gas, speed, and security.
- Returns structured recommendation with reasoning.
- Result: Genuine AI-powered routing, not just scripted logic.
Tracks Applied (6)
DeFi
Best creative use of ENS
Ethereum Name Service
Pool prize
Ethereum Name Service
AI × Onchain
Base
Best Use of Elsa x402 and Elsa OpenClaw skills
HeyElsa
BEST Overall Project
Technologies used
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.
