Skip to content
BlockBill

BlockBill

Generate verifiable transaction reciepts!

Created on 8th December 2025

BlockBill

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.

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.

Discussion

Builders also viewed

See more projects on Devfolio