You
+1.18
ETH
Alice
+0.08
ETH
Bob
-1.26
ETH
Why Travel Kitty?
AI + Base transparency for painless, trustless group expense splitting. Everything verifiable, nothing complicated.
AI Powered OCR
Upload a receipt — AI extracts totals, currency, and line items. Editables before posting.
Onchain Proof
Trips and settlements recorded on Base Sepolia with auditable smart contracts.
Join via 6 Code
Creator deploys a trip wallet via Factory, shares a 6 character code, members join onchain.
Net Settlement (mUSD)
One click ‘Execute Split’, then members ‘Settle Up’. Uses test mUSD with ERC-20 approve.
Privacy First
Receipt images on IPFS; onchain stores only a compact hash/bytes reference (no PII).
Explorer Links
One click Basescan links for every deploy & settlement so anyone can verify outcomes.
How It Works
Four on-chain steps from receipt to settlement
Create Trip
Deploy a trip wallet on Base. Creator auto joins and gets a 6 character join code.
Share & Join
Friends join using the code. The app calls join() so membership is recorded onchain.
Execute Split (onchain)
Upload a receipt, AI extracts items/total, then post the split to compute balances.
Settle Up
Debtors approve mUSD and call settleToken(). One click, verifiable on Basescan.
See It In Action
Watch a quick walkthrough of Travel Kitty on Base Sepolia: connect a wallet, create a trip with AI receipt OCR, share and join via code, execute the split onchain, and settle up with transparent transactions.
- Create a trip and auto extract items with AI OCR
- Share a 6 character join code and joining is onchain
- Claim test mUSD with cooldown feedback
- Execute Split (onchain) then Settle Up for payers
- One click Basescan links for every transaction
What travelers say
Real feedback from people who split smarter with Travel Kitty
@raka.trips
Receipt OCR in seconds review, tweak, and submit.
@auliarmdnii
Settlements link to Basescan easy to verify.
@kevinlim
Multi currency totals without manual FX math.
@dewik
Images offchain, onchain hashes for privacy.
@arif.ng
Net settlement shows exactly who pays whom.
@sintawr
Base Sepolia demo made wallet onboarding simple.
@bagus.m
Snappy UI with real time balance updates.
@yukitan
6 digit code join was effortless.
@nadia.putri
Onchain history reduces back and forth disputes.
@raka.trips
Receipt OCR in seconds review, tweak, and submit.
@auliarmdnii
Settlements link to Basescan easy to verify.
@kevinlim
Multi currency totals without manual FX math.
@dewik
Images offchain, onchain hashes for privacy.
@arif.ng
Net settlement shows exactly who pays whom.
@sintawr
Base Sepolia demo made wallet onboarding simple.
@bagus.m
Snappy UI with real time balance updates.
@yukitan
6 digit code join was effortless.
@nadia.putri
Onchain history reduces back and forth disputes.
@raka.trips
Receipt OCR in seconds review, tweak, and submit.
@auliarmdnii
Settlements link to Basescan easy to verify.
@kevinlim
Multi currency totals without manual FX math.
@dewik
Images offchain, onchain hashes for privacy.
@arif.ng
Net settlement shows exactly who pays whom.
@sintawr
Base Sepolia demo made wallet onboarding simple.
@bagus.m
Snappy UI with real time balance updates.
@yukitan
6 digit code join was effortless.
@nadia.putri
Onchain history reduces back and forth disputes.
@raka.trips
Receipt OCR in seconds review, tweak, and submit.
@auliarmdnii
Settlements link to Basescan easy to verify.
@kevinlim
Multi currency totals without manual FX math.
@dewik
Images offchain, onchain hashes for privacy.
@arif.ng
Net settlement shows exactly who pays whom.
@sintawr
Base Sepolia demo made wallet onboarding simple.
@bagus.m
Snappy UI with real time balance updates.
@yukitan
6 digit code join was effortless.
@nadia.putri
Onchain history reduces back and forth disputes.
@raka.trips
Receipt OCR in seconds review, tweak, and submit.
@auliarmdnii
Settlements link to Basescan easy to verify.
@kevinlim
Multi currency totals without manual FX math.
@dewik
Images offchain, onchain hashes for privacy.
@arif.ng
Net settlement shows exactly who pays whom.
@sintawr
Base Sepolia demo made wallet onboarding simple.
@bagus.m
Snappy UI with real time balance updates.
@yukitan
6 digit code join was effortless.
@nadia.putri
Onchain history reduces back and forth disputes.
@raka.trips
Receipt OCR in seconds review, tweak, and submit.
@auliarmdnii
Settlements link to Basescan easy to verify.
@kevinlim
Multi currency totals without manual FX math.
@dewik
Images offchain, onchain hashes for privacy.
@arif.ng
Net settlement shows exactly who pays whom.
@sintawr
Base Sepolia demo made wallet onboarding simple.
@bagus.m
Snappy UI with real time balance updates.
@yukitan
6 digit code join was effortless.
@nadia.putri
Onchain history reduces back and forth disputes.
@raka.trips
Receipt OCR in seconds review, tweak, and submit.
@auliarmdnii
Settlements link to Basescan easy to verify.
@kevinlim
Multi currency totals without manual FX math.
@dewik
Images offchain, onchain hashes for privacy.
@arif.ng
Net settlement shows exactly who pays whom.
@sintawr
Base Sepolia demo made wallet onboarding simple.
@bagus.m
Snappy UI with real time balance updates.
@yukitan
6 digit code join was effortless.
@nadia.putri
Onchain history reduces back and forth disputes.
@raka.trips
Receipt OCR in seconds review, tweak, and submit.
@auliarmdnii
Settlements link to Basescan easy to verify.
@kevinlim
Multi currency totals without manual FX math.
@dewik
Images offchain, onchain hashes for privacy.
@arif.ng
Net settlement shows exactly who pays whom.
@sintawr
Base Sepolia demo made wallet onboarding simple.
@bagus.m
Snappy UI with real time balance updates.
@yukitan
6 digit code join was effortless.
@nadia.putri
Onchain history reduces back and forth disputes.
Technical Architecture
Built with modern, scalable technologies
Frontend
- Next.js 15 (App Router) + TypeScript
- TailwindCSS + Framer Motion UI
- RainbowKit + Wagmi + Viem for wallets
- TanStack Query for data fetching
Backend (API & AI)
- Next.js Route Handlers (Edge runtime)
- Supabase (Postgres) for trips/receipts/members
- OpenRouter Vision (Qwen2.5-VL) for OCR + key rotation
- Currency utils & split logic off-chain → push to contract
Blockchain
- Solidity: Factory, TravelKitty, Faucet, MockUSD (ERC-20)
- Base Sepolia testnet
- Join onchain, record split (addExpense), settleToken mUSD
- Basescan links for transaction verification
Frequently Asked Questions
Q1 Do I need cryptocurrency to use Travel Kitty?
For the demo you’ll connect to Base Sepolia. You’ll need a tiny amount of test ETH for gas and test mUSD (claimable from the in-app faucet).
Q2 Which chain and tokens are supported in the demo?
We run on Base Sepolia. The kitty settles with a test ERC-20 (mUSD). Real-network support will come after the hackathon.
Q3 How do I join a trip?
Enter the 6 character join code in the app. This links you in our database, then the app also calls the smart contract ‘join’ so you become an onchain member. Creators are auto-joined after creating a trip.
Q4 How accurate is the AI receipt scanning?
We use OpenRouter Vision (Qwen2.5-VL) with a tuned prompt. It works well on standard receipts, and you can edit items/amounts before recording onchain.
Q5 What data is onchain vs off-chain?
Members, balances, recorded splits, and settlement live onchain. Receipt text and metadata live in our database; images are stored by URL. No sensitive personal financial data is written to the blockchain.
Q6 Why do I see COOLDOWN when claiming mUSD?
The faucet can be claimed once per cooldown window (e.g., ~24h) per wallet. If you hit COOLDOWN, the app shows when you can try again.
Q7 How does settlement work?
The creator records a split onchain. Debtors then click “Settle Up”—the contract pulls mUSD from the debtor (after approval) and pays creditors, updating balances transparently.
Q8 Can I export my expense data?
Exports (CSV/PDF) are on our near term roadmap. For now you can verify settlements and splits on Basescan from the app.
Ready to Simplify Your Group Expenses?
Join thousands of travelers already using Travel Kitty to split expenses fairly and transparently.