BlockBill
Generate verifiable transaction reciepts!
Created on 8th December 2025
•
BlockBill
Generate verifiable transaction reciepts!
The problem BlockBill solves
🚧 The Problem It Solves
Crypto payments are fast, global, and transparent — but they don’t come with receipts.
After a blockchain transaction, the only “proof” you get is a TX hash and a block explorer link, which is:
not legally usable for accounting
not accepted for reimbursements
not valid as proof of purchase
not readable for auditors or HR
confusing for non-technical users
As a result, millions of crypto users still screenshot transactions, forward wallet links, and manually build invoices in Excel/Word — slow, error-prone, and insecure.
🧠 What This Product Enables
BlockBill converts any crypto transaction into a professional invoice/PDF tied to the blockchain.
People can use it for:
Freelancers → invoice clients for work done and receive payments in crypto
Employees → submit crypto reimbursements to employers or DAOs
Businesses/Web3 startups → track treasury spend with real receipts
DeFi and NFT traders → document purchases for tax filing
Merchants → offer “crypto payments with official bill”
Audits → verify expenses without manual reconciliation
Legal/Compliance → match assets movement with formal documentation
Challenges I ran into
🧩 Challenges I Ran Into
1️⃣ Parsing transaction data reliably across different networks
At first, I assumed the TX response format from Alchemy would be identical across Ethereum, Base, and Polygon. It wasn’t.
Some fields (like token decimals and transfer events) came in different structures, which caused missing or incorrect values in the auto-filled invoice.
Fix:
I built a small normalization layer that extracts the from, to, value, and token metadata from logs even when field names vary. Once normalization was done, invoice autofill became 100% reliable.
2️⃣ Mapping USD prices to the token amount at the exact timestamp
Real-time token price was easy.
Historical price at the moment of payment was the problem. Every PDF needs an accurate USD equivalent or accounting becomes pointless.
Fix:
Instead of relying on live price feeds, I switched to Coingecko’s /market_chart/range API and fetched the closest price to the block timestamp. Now, the invoice shows the same valuation the token had when the payment happened — not today.
3️⃣ AI formatting inside PDFs
GPT produced beautifully formatted invoice content, but PDFKit doesn’t understand markdown or mixed styling. The invoice text would break, overflow, or lose alignment.
Fix:
I stopped asking GPT to generate styled text.
Instead, I asked it to output a strict JSON schema (buyer, seller, description, line items, totals). Then the PDF generator handled the layout. This removed all formatting issues and improved reliability.
4️⃣ Wallet login (SIWE) session persistence
After signing in with a wallet, refreshing the tab logged the user out because cookies and server-side auth weren’t configured correctly on first attempt.
Fix:
I moved session handling to Supabase Auth + JWT with SIWE signature validation. This made login persistence stable across reloads and different browsers.
5️⃣ Time pressure during build
Integrating AI + on-chain + PDF + database can easily spiral into scope creep. The risk was building too much and not finishing.
Fix:
I locked the absolute core flow first:
→ TX hash → autofill → AI → PDF → dashboard
Only after that worked end-to-end, I added verification and warranty metadata.
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
