PayperPlane
🏆 HACKATHONPay with crypto through a browser extension that connects wallets to card checkouts. Grand winner of TOKEN2049 Origins Singapore 2025.
PayperPlane - Crypto Payments at Card Checkouts ✈️
Grand Winner of TOKEN2049 Origins Singapore 2025
- 🏆 TOKEN2049 Origins - Grand Winner, Singapore 2025
Overview
We built PayperPlane to pay with crypto on websites that accept cards. The browser extension connects your wallet to the checkout, funds a virtual card, and uses it to complete the payment. Our hackathon demo focused on travel bookings such as Airbnb.
Our AI Fusion Labs team won the 2025 TOKEN2049 Origins hackathon in Singapore with PayperPlane.
The Problem
Holding crypto does not mean a travel website will accept it. You may need to move funds through several services before you can complete a booking. PayperPlane connects those steps: fund the payment from your wallet, receive a virtual card, and use it in the merchant's existing checkout form.
Key Features
- Checkout detection: Recognize supported payment forms and offer a crypto payment option within the page.
- Wallet funding: Connect a wallet and fund the payment with supported crypto assets.
- Amount preview: See the crypto amount needed for the checkout before sending funds.
- Payment tracking: Keep the wallet payment connected to the checkout as it moves through funding and card creation.
- Virtual cards: Receive card details that can be used in the merchant's existing payment form.
- Browser integration: Keep the booking and payment flow in the browser extension.
Payment Workflow
- The extension detects a supported payment form and offers the crypto flow.
- The user connects a wallet and reviews the payment amount.
- The user funds the payment from their wallet.
- PayperPlane confirms the funding and creates a virtual card for the checkout.
- The extension retrieves the card details and uses them to complete the payment form.
We used Lithic's sandbox for card issuance, authorization, and clearing in the hackathon demo.
Technical Architecture
Browser Extension
We built the extension with TypeScript and React, using wagmi for wallet integration. Content scripts detect supported checkout forms and add the wallet connector. The BNB payment flow reads Chainlink price feeds to calculate the crypto amount shown before funding. The extension uses Manifest V3 for Chromium-based browsers.
Funding Contract
The Solidity contract accepts native tokens and ERC-20 payments, records each funding, and emits a Funded event for the backend. A funding identifier connects the wallet transaction to the checkout. We used Foundry for contract development and Solady for ownership and token transfer utilities. The contract also includes owner-controlled refunds and withdrawals.
We deployed the funding contract on BNB Smart Chain, Celo, Moonbeam, and TAC.
Backend and Card Issuance
Our Python/FastAPI service watches for funding events and creates a Lithic virtual card for each payment. SQLite stores the funding, card, and payment state. The extension uses the API to create a funding reference, follow its status, and retrieve the card details for the checkout.
The backend also handles sandbox authorization and clearing, letting us demonstrate the flow from a crypto payment through to a card transaction.
Awards & Recognition
We took the grand prize at TOKEN2049 Origins Singapore 2025 with PayperPlane.
Links
- Live Demo: PayperPlane
- Project Repository: vm06007/crypto-bnb
- Event Demos: TOKEN2049 Origins Singapore 2025
- Event FAQ: TOKEN2049 Singapore
- Funding Contract: BNB Smart Chain deployment