Skip to main content
Start accepting stablecoin payments by your next coffee break. Book a call
Live Demo

30 Seconds to Your First Payment

Create a payment, send test funds, see it confirmed — no signup needed.

$100M+ settled·100+ merchants·No signup needed
PayRamDEMO
Step 1 · Add credit

Add Credit

Choose an amount to add to your demo account.

$
Merchant Dashboard

Take the keys. Test drive the dashboard.

This is what your self-hosted payment gateway looks like. Real-time deposits, multi-chain analytics, sweep status, webhook logs — all on your server, under your control.

No signup. No demo request form. Just click and explore.

Self-hosted·Self-custody·Your payment gateway
How Funds Flow

One address per customer. One wallet that’s always yours.

PayRam assigns every customer a permanent, dedicated deposit address — free to create, zero management. SmartSweep consolidates balances into your cold wallet automatically. No custody hand-off. No manual moves. Your keys, your funds.

User Deposit Address
Unique · Free · Permanent
User Deposit Address
Unique · Free · Permanent
User Deposit Address
Unique · Free · Permanent
User Deposit Address
Unique · Free · Permanent
SmartSweep
Auto-consolidates
Your Cold Wallet
Self-custody

Unique · Permanent · Free

Every customer gets their own address — forever. No sharing, no collision, zero cost to create.

Sweeps automatically

SmartSweep moves every balance to your cold wallet the moment it crosses your threshold. You watch — you never touch.

Always your custody

Funds land in YOUR cold wallet. Not an exchange. Not PayRam. The private key never leaves your hands.

Recommended Integration

Add Funds is the fastest way to accept crypto.

Instead of building a checkout page, embed one button. Customer clicks "Add Credit," picks their amount, pays with crypto or card, and you get a webhook. No cart integration. No payment form. Works on any site.

🔘
Customer clicks
"Add Credit" on your site
📄
Deposit page opens
QR code + amount shown
💸
Customer pays
Crypto or card
🔔
Webhook fires
You fulfill the order
No cart needed
Works without any e-commerce integration
No keys on server
Smart contracts handle sweeping. Agent compromised? Funds safe.
Self-hosted
Your server, your wallet, your rules
Copy & Paste

Add PayRam to your site in 2 minutes.

Drop this script tag into any HTML page. It renders an "Add Credit" widget that connects to your PayRam server.

Widget Embed
<script
  src="https://payram.com/widget/payram-add-credit-v1.js"
  data-payram-url="https://your-payram-server.com"
  data-api-key="your-api-key"
  data-amounts="5,10,25"
  data-theme="dark"
></script>

Configuration

data-payram-url — your PayRam server URL
data-api-key — your API key
data-amounts — preset amounts (comma-separated)
data-theme — "dark" or "light"
data-customer-email — pre-fill email

What it renders

Amount input with quick-select chips
"Add Credit" button matching your theme
Opens deposit page on click
Works on any site — static HTML, React, WordPress
No dependencies, self-contained
For Developers

SDK & API Reference

Create payments programmatically. Use the payram npm package or call the REST API directly.

Node.js SDK
import { Payram } from 'payram'

const payram = new Payram({
  baseUrl: 'https://your-payram-server.com',
  apiKey: 'your-api-key',
})

// Create a payment
const payment = await payram.initiatePayment({
  customerEmail: 'customer@example.com',
  customerId: 'cust_123',
  amountInUSD: 25,
})

// payment.reference_id — track this
// payment.url — redirect customer here

API Endpoints

POST /api/v1/payment — Create a payment
GET /api/v1/payment/:reference_id — Check status
POST /api/v1/deposit-address/reference/:id — Get deposit address
Auth: API-Key header
Webhooks

When the customer pays, you get this.

PayRam POST-requests your webhook URL with payment details. Verify, fulfill, done.

Webhook Payload
{
  "event": "payment.confirmed",
  "reference_id": "ref_abc123xyz",
  "amount": 25.00,
  "currency": "USDC",
  "blockchain": "ETH",
  "txid": "0xabc123...",
  "confirmations": 1,
  "customer_email": "customer@example.com",
  "customer_id": "cust_123",
  "status": "confirmed",
  "timestamp": "2026-03-31T10:15:30Z"
}
Status Flow
Created → Confirming → Confirmed
Retry Policy
Auto-retry at 30m, 1h, 2h, 4h, 8h, 24h, 48h
Idempotent
Same reference_id won't fire duplicates

Ready to go live?

You just saw how it works. Deploy your own PayRam — self-hosted, self-custody, no signup. Accept crypto and card payments in 5 minutes.