Blank is a payment application built with Fhenix CoFHE. People pay, sell, raise funds and exchange value without putting the amount in public view.
Wallet activity can expose an invoice amount, a contribution size, a commercial price or a settlement value. Blank hides the amount, not the existence of the transaction.
paid [ amount encrypted ] USDC to a public recipient. The transfer can be confirmed without disclosing its value.
The user chooses a normal financial action. Blank supplies encrypted amount handling and a visible outcome.
A real storefront path on the live testnet product. Dave offers an item with encrypted price handling, Bob pays, and Dave sees the purchased listing after returning to his seller view.
A user signs in Rabby. Blank encrypts the amount client-side for a CoFHE-aware contract call. The chain records the state transition and the application returns the resulting status.
User approves the action from a standard EOA wallet.
Amount input is prepared for encrypted contract execution.
Encrypted values are stored and processed on testnet.
The user sees status, receipt link and counterparty state.
This archive supports the product story above. It records desktop Rabby EOA flows driven on Ethereum Sepolia and Base Sepolia from the live application. Mobile transaction coverage and sponsored/passkey readiness are not claimed on this page.
The visual sections focus on shareable and Wave 5 headline journeys. The matrix below states the Rabby EOA outcomes recorded during live QA on both Sepolia chains.
| Outcome verified | Base Sepolia | Ethereum Sepolia |
|---|---|---|
| Shield and encrypted send | Verified | Verified |
| Payment request settlement and invoice settlement | Verified | Verified |
| Gift claim, claim link used-state, storefront sale, crowdfund contributions | Verified | Verified |
| Stealth inbox, groups, inheritance, encrypted proof | Verified | Verified |
| Escrow delivery and release | Verified | Verified |
| P2P Exchange create and counterparty fill | Verified | Verified |
| P2P Offramp take, proof, challenge window and release | Verified | Verified |
| Cross-user refresh truth and failure handling | Verified | Verified |
Three personas (Dave/Bob/Carol) on the same Rabby profile, switched between via the extension popup. Every flow below switches Rabby to the right persona before each step.
Dave creates a magic link, Bob opens it and claims, Carol is rejected on the spent link. Used → blocked enforcement is on-chain. Same flow proven on both chains.
Dave lists, Bob buys, Carol can browse but can't see Bob's purchase. Dave revisits /app/sell after the buy and sees the listing in his "Your listings" section with up-to-date state. Same flow proven on both chains.
Bob and Carol contribute privately to Dave's campaign. Their amounts are encrypted; only the on-chain total handle is visible. Dave revisits /app/fundraise and sees the campaign with both contributions reflected.
Encrypted-amount swap offer on the P2PExchange contract. Dave creates, Bob fills, and both users see the filled result. Fresh full lifecycles were driven on the live deployment on both chains.
Wave 5 headline build. Dave creates an encrypted offramp offer: 1 USDC for $1 PhonePe UPI. The USDC amount is committed encrypted; the fiat rail + price are public so takers can find it. Offer appears in the public book.
Bob takes Dave's offer, follows the off-chain payment step, submits testnet settlement evidence, waits the 300-second challenge window, then releases the encrypted USDC to himself. The testnet build uses an operator-signed mock Reclaim verifier; production settlement requires an approved live proof provider and independent security review.
The linked headline-flow transactions below have successful receipts on the labeled chain. Click through to Etherscan or Basescan to verify independently.
/api/relay kind=mock-reclaim-sign)MockReclaimVerifier(0xdfc2606B…).operator() = same addressMockReclaimVerifier(0xB36441E8…).operator() = same addressverifyAndConsume(sig, …) returns (true, 0x301f8c…) on both