PayPruf is a decentralized solution for generating and verifying audit-grade payment proofs on the Flare Network. It creates immutable, shareable payment confirmations to reduce disputes and ambiguity in crypto transactions.
- Features
- Architecture
- Getting Started
- Installation
- Usage
- API Reference
- Project Structure
- Configuration
- Contributing
- License
-
π Shareable Proof Links Generate public, read-only URLs for Flare payments.
-
π On-Chain Verification Payments are verifiable directly on the Flare blockchain.
-
π Human-Readable Receipts Clear transaction details with timestamps and references.
-
π¦ Downloadable Proof Bundles ISO-aligned records available in PDF / JSON formats.
-
β Counterparty Acknowledgement (Optional) Recipients can acknowledge payment receipt.
-
π‘οΈ Immutable Anchoring Proof hashes are anchored on Flare for auditability.
Watch the application in action:
Click the image above to watch the full demo on YouTube
flowchart TD
A[User Initiates Payment]
--> B[Flare Network Transaction]
--> C[Transaction Confirmed]
--> D[Generate ProofRails Record]
--> E[Anchor Proof Hash on Flare]
--> F[Generate Shareable Proof Link]
--> G[Recipient Views Proof]
--> H[Optional: Acknowledge Receipt]
- Framework: React 18 + TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS, shadcn/ui
- State Management: React Query
- Forms & Validation: React Hook Form + Zod
- Web3: Wagmi + Viem
- UI Components: Radix UI
- Charts: Recharts
- Runtime: Node.js
- Framework: Express.js
- Database: PostgreSQL + Prisma ORM
- Blockchain: Viem, Ethers.js
- Auth: JWT
- Logging: Winston
- Validation: express-validator
- Node.js 18+
- npm 9+
- PostgreSQL 14+
- Flare RPC endpoint
- MetaMask or compatible Web3 wallet
git clone https://github.com/Moses-main/paypruf.git
cd payprufnpm installcd server
npm install
cp .env.example .envConfigure environment variables, then run:
npx prisma generate
npx prisma migrate dev --name init# Frontend
npm run dev# Backend
cd server
npm run devpaypruf/
βββ src/ # Frontend
β βββ components/ # UI components
β βββ hooks/ # Custom hooks
β βββ lib/ # Utilities
β βββ pages/ # App pages
β βββ types/ # Type definitions
β
βββ server/ # Backend
βββ prisma/ # Database schema
βββ src/
β βββ controllers/ # Request handlers
β βββ middleware/ # Express middleware
β βββ routes/ # API routes
β βββ services/ # Business logic
βββ .env # Environment config
VITE_FLARE_NETWORK_RPC=https://flare-api.flare.network/ext/bc/C/rpc
VITE_WALLET_CONNECT_PROJECT_ID=your_walletconnect_id
VITE_API_URL=http://localhost:3001DATABASE_URL="postgresql://user:password@localhost:5432/paypruf"
FLARE_NETWORK_RPC=https://flare-api.flare.network/ext/bc/C/rpc
JWT_SECRET=your_jwt_secret
PORT=3001POST /api/proof/generate
Content-Type: application/json{
"txHash": "0x...",
"sender": "0x...",
"recipient": "0x...",
"amount": "1.5",
"token": "FLR",
"memo": "Invoice #123"
}GET /api/proof/verify/:proofIdReturns a public, read-only payment proof with Flare verification status.
-
Fork the repository
-
Create a feature branch
git checkout -b feature/AmazingFeature
-
Commit your changes
git commit -m "Add AmazingFeature" -
Push to the branch
git push origin feature/AmazingFeature
-
Open a Pull Request
Distributed under the MIT License.
See LICENSE for more information.
- Flare Network β blockchain infrastructure
- ProofRails β ISO-aligned payment records
- Open-source contributors and the Web3 community
