All guide pages
Get started with the app
Tutorial
FairPay is a bill-splitting app with optional private payments, and FairEats is its restaurant platform. This page takes you from your first sign-in to a paid bill, then shows how a restaurant sets up. It all runs on Monad Testnet with test USDC, so nothing you do here costs real money.
Careful: the app's server runs on a free plan that sleeps when nobody uses it. If it is asleep, the app shows "Starting the server…" for up to a minute while it wakes up. After that it is quick.
1. Sign inLink to this section
Press Sign in with a wallet on the home page, or Sign in at the bottom of the sidebar (on a phone, at the top right). Then pick one:
- A browser wallet such as MetaMask or Rabby. FairPay finds installed wallets and offers to switch them to Monad Testnet.
- Test wallet in this browser. FairPay makes a new key and keeps it in this browser's storage. It is for testnet only: never send real funds to it, and it is gone if you clear the browser's site data.
Your wallet signs a sign-in message (Sign-In with Ethereum). Signing creates a session; it never moves funds. The first time, FairPay asks for a display name so people on your bills see a name instead of an address. You can change it later on Profile.
2. Get test USDCLink to this section
Open the account menu (your name in the sidebar, or your initial at the top right on a phone) and press Get test USDC. The same button is on Profile. The faucet sends 50 test USDC and a little testnet MON for gas. It is rate-limited, so ask once and wait a moment.
Test USDC is a mock token that anyone can mint, and testnet MON has no value. If the faucet is off on the server, the menu doesn't show the button; use a public Monad Testnet faucet for MON instead.
3. Create a billLink to this section
- Press New bill. Enter what it was for and the total in USDC. Add a note if you like; everyone on the bill can see it.
- Add people. Pick friends, paste a wallet address, or type just a name. Someone added by name gets a seat they claim from the bill's link when they sign in.
- Choose how to split. Simple splits evenly. Advanced splits by exact amounts, percent or shares. The preview on the right shows every share, and where leftover cents go.
- Mark anyone who already paid you outside FairPay with the Already paid switch. Their share shows as Covered.
- Press Create bill and get link. Copy the link into your group chat. It shows names and amounts, not wallet addresses.
Check: the bill page lists everyone with their share and status (Owes, Covered, Paid), and a bar shows how much has been collected. As the organiser you also get Remind unpaid and Cancel bill.
4. Pay your shareLink to this section
Bills you owe on appear under Requests and on the home page with a Pay button. Pressing it shows the amount, who it goes to, and how you can pay. The app shows each step (check your balance, confirm in your wallet, verify on Monad) and only marks the share Paid once it finds the payment on Monad.
Public or privateLink to this section
- Public pays from your wallet. Anyone can see on-chain that your wallet paid. Bills between friends are always paid this way.
- Confidential (private) pays through the privacy pool. It hides which wallet paid; it doesn't hide the amount. It works only for verified businesses, such as a FairEats restaurant whose payout wallet is allowlisted.
Private payments use 5 USDC notes from your private balance. If you don't have enough, the app offers to add them first; adding notes is a public transaction from your wallet, so add them well before you pay. If a share isn't a whole number of notes, the last note pays a little more, the extra goes to the restaurant as a tip, and the app says so before you pay. Back up your notes on Profile: they live in this browser, and whoever has them can spend them.
More on how this works: Private payments, explained simply.
5. FairEats for restaurantsLink to this section
Open Business, then FairEats, and press Register your restaurant.
- Register. Enter the name, cuisine, address, city and state, and the number of tables and seats. The GSTIN and FSSAI numbers are optional; a GSTIN is checked before it is saved. With a GSTIN, guests get a Tax Invoice with CGST and SGST; without one, a Bill of Supply.
- Add the menu on the Menu tab: dishes with photos, categories, veg and spice marks, prep time and availability.
- Set up tables, chefs and staff. Staff are added by wallet and role, and each role sees only the tabs it can use.
- Check Settings: GST rate, service charge and the payout wallet, which must be the owner's own wallet.
- Share the storefront link from Overview, on a table card or a QR code.
- Run the kitchen from the Kitchen tab: paid orders appear there, and you move them through Start cooking, Ready and Served. It updates every 5 seconds.
Privacy: guests can pay a restaurant privately only when its payout wallet is on the privacy pool's allowlist. The directory shows a "Private payments" badge on those restaurants. A new restaurant takes public payments until it is added.
6. Order at a tableLink to this section
- Open the restaurant from FairEats or its storefront link. The demo restaurant is Saffron Table in Bengaluru.
- Add dishes for each guest. Use the guest switch above the menu, then press Choose table and payment.
- Pick a free table and how to pay: One person pays the whole bill, or Everyone pays their own share. With one payer, they can then split it with friends as a FairPay bill.
- Place the order and send the order link to the table, so each person pays from their own phone. Unpaid orders are released after 15 minutes.
- Follow it from paid to cooking, ready and served, then open the GST invoice. It has its own link and a Print button.
Want to see the whole flow without a wallet first? Try the simulated demo.