Accept crypto payments (NEAR, USDC, USDT) via a beautiful payment page with PingPay or HOT PAY integration.
Accept crypto payments (NEAR, USDC, USDT) via a beautiful payment page with PingPay or HOT PAY integration.
Creates a hosted payment page where people can pay you in crypto with just a few clicks:
cd ~/.openclaw/skills
# Clone or extract the skill
npm install
You need either PingPay or HOT PAY (or both):
Option A: PingPay (recommended for beginners)
.env: PINGPAY_API_KEY=your_key_hereOption B: HOT PAY (for advanced users)
item_id and add to .envCopy .env.example to .env:
cp .env.example .env
Edit .env:
# Display name (actual recipient is set in PingPay/HOT PAY dashboard!)
RECIPIENT_ADDRESS=your-account.near
# Choose provider
PAYMENT_PROVIDER=pingpay # or 'hotpay'
# PingPay config (if using PingPay)
PINGPAY_API_KEY=your_api_key_here
# HOT PAY config (if using HOT PAY)
HOTPAY_NEAR_ITEM_ID=your_near_item_id
HOTPAY_USDC_ITEM_ID=your_usdc_item_id
HOTPAY_USDT_ITEM_ID=your_usdt_item_id
./start.sh
Or manually:
npx ts-node start-tunnel.ts
This will:
Share the generated https://xxxxx.lhr.life URL to accept payments!
The recipient address (where payments go) is configured at the provider level, NOT in the .env file:
The RECIPIENT_ADDRESS in .env is only for display on the payment page. To change where payments actually go, update your provider's dashboard settings.
localhost.run generates random URLs that change each restart. For a permanent domain:
start-tunnel.tsOr use your own reverse proxy (Cloudflare Tunnel, ngrok paid, etc.)
When a user asks to accept payments:
User: "Create a payment page to accept USDT donations"
Agent:
1. Check if near-getpay skill is installed
2. Ask which provider they want (PingPay or HOT PAY)
3. Guide them through setup if not configured
4. Run: cd ~/.openclaw/skills/near-getpay && ./start.sh
5. Share the generated public URL
User: I need to accept crypto payments
Agent: I'll set up a payment page for you using the GetPay skill.
First, do you have a PingPay or HOT PAY account?
User: No, what's easier?
Agent: PingPay is simpler. Here's what to do:
1. Sign up at https://pingpay.io
2. Add your NEAR wallet address in settings
3. Get an API key from Dashboard → API Keys
4. Share it with me (or add to .env yourself)
Let me know when you have the API key!
User: Got it: sk_test_abc123...
Agent: Perfect! Starting your payment server...
[runs start.sh]
✅ Your payment page is live: