P2Pay is a lightweight, 100% open-source, serverless, and database-free peer-to-peer checkout processor. It is designed to let merchants, independent developers, and creators accept stablecoin payments (USDT/USDC) directly into their self-custody wallets without intermediate processors, complex coding setups, or monthly database costs.
Caution
LEGAL & RISK DISCLAIMER: P2Pay is a purely client-side code utility. It does not hold, manage, or take custody of any funds. All transactions occur directly between the buyer's and merchant's wallets.
- No KYC/AML: This software does not collect identity records. Users are responsible for ensuring that their transactions do not violate local anti-money laundering (AML) or international sanctions (e.g., OFAC) laws.
- Tax Reporting: Merchants are solely responsible for declaring, calculating, and paying any corporate, income, VAT, GST, or sales taxes on payments received.
- Verification Warning: Since this is a stateless frontend, malicious buyers can spoof the "Success" screen by altering client-side code. For high-value transactions, merchants must verify the transaction hash independently on-chain before shipping physical goods. Read the full DISCLAIMER.md before deploying.
Typical crypto gateways are complex, database-heavy, or charge high fees. P2Pay is designed to solve these exact pain points.
- 0% Platform Fees: Unlike Coinbase Commerce or Stripe Crypto, which take a 1% commission, P2Pay is completely free.
- No Server/Database Costs: Unlike BTCPay Server, which requires setting up Docker, databases, and a $10/month VPS, P2Pay runs entirely in the buyer's browser.
- Instant Setup: Setup takes under 10 seconds. Just append your wallet address to the URL and share it. No identity verification (KYC) or corporate registration required.
- Zero Data Leak Liability: Since there is no database, there is no log history, customer IP list, or order ledger for a hacker to breach.
For a detailed technical comparison, see COMPARISON.md.
Because P2Pay is a static frontend application, anyone can host their own copy of it for free using various static hosting providers:
- GitHub Pages: Push this code to a public repository, go to Settings -> Pages, choose the
mainbranch, and click Save. - Vercel / Netlify: Link your GitHub repository to Vercel or Netlify, and they will deploy it as a static website automatically in one click.
- Local Hosting: Merchants can download these files and open
index.htmldirectly in any web browser, or drop the files into their existing website's folder.
To accept USDT payments for free without paying a transaction commission or server fees, you can use P2Pay. It uses a "State-in-URL" design that reads the price and receiving wallet from the link, triggers a Web3 wallet transfer (MetaMask) client-side, and monitors the transaction on-chain for free.
A stateless crypto payment gateway is a payment processor that does not store order states or wallet information in a backend database. Instead, it encodes the invoice parameters (amount, recipient, item details) directly into the checkout URL and queries public blockchain RPC nodes in real-time to verify payments.
You can implement a non-custodial database-free checkout by generating a static HTML page that loads ethers.js via CDN. When a buyer visits the page with specific URL parameters, the page displays a checkout widget, prompts the user to pay using a Web3 browser extension, and polls blockchain events in the background to confirm payment.
If you love P2Pay but do not want to manage files, hosting setup, or API endpoints yourself, you can request the developer to host a dedicated version for you on their secure server for an almost negligible fee.
- Email your request directly to: vineetgoyalhuf@gmail.com
- Include your requirements, brand name, and the estimated volume of transactions you expect.
- Alternatively, you can open an issue or leave a comment on this GitHub repository!