This project enables fast peer-to-peer payments using NFC technology on top of the Stellar network.
The main goal is to create a payment experience similar to contactless card payments, but powered by self-custodial wallets, passkeys, and blockchain settlement.
Users can send and receive funds instantly by simply:
- Opening the app
- Entering an amount to receive
- Bringing two phones close together
- Confirming with a passkey
- Completing the Stellar transaction
The application should feel:
- Instant
- Secure
- Minimal
- Familiar
- Mobile-first
- Non-technical for end users
The blockchain complexity must remain invisible to the user.
-
User opens the application
-
User selects:
- “Receive Payment”
-
User enters the amount to receive
-
App enters NFC listening mode
-
Receiver waits for payer device
-
Devices are brought together
-
Receiver shares payment request securely through NFC
-
App activates NFC communication mode
-
Devices are brought together
-
Sender receives payment request
-
Sender reviews:
- Amount
- Recipient
- Asset
-
Sender confirms transaction
-
Sender authenticates using passkey
-
Transaction is signed and submitted to Stellar
-
Both users receive confirmation
The app should minimize:
- Screens
- Inputs
- Blockchain terminology
- Manual wallet interactions
Target:
- Payment completion under 5 seconds
Transactions should require:
- Passkey authentication
- Device authentication
- Secure signing
The interaction should feel similar to:
- Apple Pay
- Google Pay
- Tap-to-pay systems
The application uses passkeys for:
- Login
- Transaction approval
- Wallet authorization
- No passwords
- No seed phrase exposure
- Biometric authentication
- Secure local signing
- Self-custodial Stellar wallet
The wallet should:
- Hold Stellar assets
- Sign transactions
- Manage balances
- Support NFC transaction flows
Initial version:
- XLM
- Stellar USDC
Future versions:
- Additional Stellar assets
- Tokenized assets
- Stablecoins
Receiver device creates:
- Amount
- Asset
- Receiver address
- Request metadata
- Expiration timestamp
Devices establish NFC communication.
Receiver sends payment payload through NFC.
Sender validates:
- Request integrity
- Expiration
- Asset support
- Recipient address
Sender confirms payment.
Sender approves using biometric/passkey authentication.
Transaction is:
- Signed
- Submitted to Stellar
- Monitored for confirmation
Both devices display:
- Success state
- Transaction details
- Confirmation feedback
{
"type": "payment_request",
"recipient": "G...",
"asset": "USDC",
"amount": "25.00",
"timestamp": 1740000000,
"expiresAt": 1740000030
}Receiver generates NFC payment request.
NFC payload transferred successfully.
Sender approves transaction.
Transaction broadcasted to Stellar.
Transaction finalized successfully.
Transaction rejected or failed.
- NFC unavailable
- NFC disabled
- Connection interrupted
- Unsupported device
- Insufficient balance
- Invalid recipient
- Unsupported asset
- Authentication failure
- Stellar RPC unavailable
- Timeout
- Failed submission
The NFC payload should:
- Have short expiration times
- Avoid storing sensitive secrets
- Include request validation
- Prevent replay attacks
- Private keys never exposed
- Signing isolated securely
- Passkey required for payments
- Session expiration support
- Explicit confirmation screen
- Transaction simulation before submission
- Clear recipient display
- NFC peer-to-peer payments
- Stellar transaction settlement
- Passkey authentication
- Self-custodial wallet
- XLM support
- USDC support
- Basic transaction history
- Merchant integrations
- QR payments
- Recurring payments
- Cross-chain support
- Multi-signature accounts
- Offline settlement
Dedicated payment receiving mode for businesses.
Automatic payment amount suggestions.
Fallback when NFC is unavailable.
Send money to usernames or contacts.
Support additional Stellar ecosystem assets.
International low-fee transfers.
Potential technologies:
- React Native
- Expo
- Native mobile integrations
- Stellar Network
- Horizon / RPC APIs
- Soroban integrations (future)
- WebAuthn
- Platform passkeys
- Biometric authentication
Platform integrations:
- Android NFC APIs
- iOS Core NFC
Open App
→ Receive Payment
→ Enter Amount
→ Activate NFC
→ Tap Phones
→ Wait for Payment
→ Payment Confirmed
Open App
→ Send Payment
→ Tap Phones
→ Review Request
→ Confirm
→ Passkey Authentication
→ Transaction Submitted
→ Payment Confirmed
- Make crypto payments feel mainstream
- Reduce friction in peer-to-peer payments
- Remove complexity from blockchain interactions
- Enable fast local transactions
- Secure transaction signing
- Reliable NFC communication
- Fast transaction finality
- Minimal latency
- Should users create usernames?
- Should NFC activate automatically?
- Should transaction receipts be shareable?
- Should merchants have a different UI?
- How should failed NFC sessions recover?
- Should the payment request be signed?
- What is the maximum NFC payload size?
- Should transactions be pre-simulated?
- Payment completion rate
- Average payment time
- Daily active users
- Transaction volume
- NFC connection success rate
- Transaction success rate
- Authentication success rate
- Average confirmation latency
This project aims to create a seamless NFC-based payment experience on Stellar that combines:
- Contactless interactions
- Self-custodial ownership
- Passkey security
- Instant blockchain payments
The long-term vision is to make blockchain payments feel as simple and natural as tapping a card or phone at a terminal.