{
  "schemaVersion": "1.0",
  "item": {
    "slug": "near-getpay",
    "name": "Near Getpay - Accept crypto payments  with payment page using PingPay or HOT PAY",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/cuongdcdev/near-getpay",
    "canonicalUrl": "https://clawhub.ai/cuongdcdev/near-getpay",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/near-getpay",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=near-getpay",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "server-simple.ts",
      "SKILL.md",
      "skill.json",
      "package-lock.json",
      "tsconfig.json",
      "server.ts"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/near-getpay"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/near-getpay",
    "agentPageUrl": "https://openagent3.xyz/skills/near-getpay/agent",
    "manifestUrl": "https://openagent3.xyz/skills/near-getpay/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/near-getpay/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "NEAR GetPay Skill",
        "body": "Accept crypto payments (NEAR, USDC, USDT) via a beautiful payment page with PingPay or HOT PAY integration."
      },
      {
        "title": "🎯 What It Does",
        "body": "Creates a hosted payment page where people can pay you in crypto with just a few clicks:\n\nBeautiful UI - Mobile-friendly payment page with preset amounts\nMulti-token - Accept NEAR, USDC, or USDT\nDual provider - Works with PingPay or HOT PAY (or both)\nPublic URL - Exposes via localhost.run tunnel\nFirst-time friendly - Setup wizard guides new users\nSmart token selection - Once a token is selected, others are hidden to avoid confusion (great for HOT PAY where each token has a unique checkout link)"
      },
      {
        "title": "PingPay Flow (default, best flow)",
        "body": "User selects token (NEAR, USDC, or USDT)\nUser enters amount or picks preset\nClicks \"Pay Now\"\nRedirects to PingPay checkout with pre-filled amount"
      },
      {
        "title": "HOT PAY Flow",
        "body": "User selects token (only configured tokens shown)\nOther tokens are hidden to avoid confusion\nUser enters amount or picks preset\nClicks \"Pay Now\"\nRedirects to HOT PAY checkout link for that specific token and amount"
      },
      {
        "title": "1. Installation",
        "body": "cd ~/.openclaw/skills\n# Clone or extract the skill\nnpm install"
      },
      {
        "title": "2. Choose Your Provider",
        "body": "You need either PingPay or HOT PAY (or both):\n\nOption A: PingPay (recommended for beginners)\n\nSign up at https://pingpay.io\nSet your NEAR wallet in Dashboard → Settings\nGet API key from Dashboard → Settings → API Keys\nAdd to .env: PINGPAY_API_KEY=your_key_here\n\nOption B: HOT PAY (for advanced users)\n\nVisit https://pay.hot-labs.org/admin/overview\nCreate payment links for each token (NEAR, USDC, USDT)\nSet your NEAR wallet as recipient when creating each link\nCopy each item_id and add to .env"
      },
      {
        "title": "3. Configure",
        "body": "Copy .env.example to .env:\n\ncp .env.example .env\n\nEdit .env:\n\n# Display name (actual recipient is set in PingPay/HOT PAY dashboard!)\nRECIPIENT_ADDRESS=your-account.near\n\n# Choose provider\nPAYMENT_PROVIDER=pingpay  # or 'hotpay'\n\n# PingPay config (if using PingPay)\nPINGPAY_API_KEY=your_api_key_here\n\n# HOT PAY config (if using HOT PAY)\nHOTPAY_NEAR_ITEM_ID=your_near_item_id\nHOTPAY_USDC_ITEM_ID=your_usdc_item_id\nHOTPAY_USDT_ITEM_ID=your_usdt_item_id"
      },
      {
        "title": "4. Start Server",
        "body": "./start.sh\n\nOr manually:\n\nnpx ts-node start-tunnel.ts\n\nThis will:\n\nStart Express server on port 3000\nCreate public URL via localhost.run\nDisplay the shareable payment link"
      },
      {
        "title": "5. Share Your Link",
        "body": "Share the generated https://xxxxx.lhr.life URL to accept payments!"
      },
      {
        "title": "Recipient Address Configuration",
        "body": "The recipient address (where payments go) is configured at the provider level, NOT in the .env file:\n\nPingPay: Set in your PingPay Dashboard → Settings → Wallet Address\nHOT PAY: Set when creating each payment link\n\nThe RECIPIENT_ADDRESS in .env is only for display on the payment page. To change where payments actually go, update your provider's dashboard settings."
      },
      {
        "title": "Tunnel Domains",
        "body": "localhost.run generates random URLs that change each restart. For a permanent domain:\n\nSign up at https://admin.localhost.run/\nConfigure your custom domain\nUpdate the tunnel command in start-tunnel.ts\n\nOr use your own reverse proxy (Cloudflare Tunnel, ngrok paid, etc.)"
      },
      {
        "title": "📖 Usage in OpenClaw",
        "body": "When a user asks to accept payments:\n\nUser: \"Create a payment page to accept USDT donations\"\n\nAgent:\n1. Check if near-getpay skill is installed\n2. Ask which provider they want (PingPay or HOT PAY)\n3. Guide them through setup if not configured\n4. Run: cd ~/.openclaw/skills/near-getpay && ./start.sh\n5. Share the generated public URL"
      },
      {
        "title": "Example Conversation",
        "body": "User: I need to accept crypto payments\n\nAgent: I'll set up a payment page for you using the GetPay skill.\n\nFirst, do you have a PingPay or HOT PAY account?\n\nUser: No, what's easier?\n\nAgent: PingPay is simpler. Here's what to do:\n\n1. Sign up at https://pingpay.io\n2. Add your NEAR wallet address in settings\n3. Get an API key from Dashboard → API Keys\n4. Share it with me (or add to .env yourself)\n\nLet me know when you have the API key!\n\nUser: Got it: sk_test_abc123...\n\nAgent: Perfect! Starting your payment server...\n\n[runs start.sh]\n\n✅ Your payment page is live:\nhttps://abc123xyz.lhr.life\n\nShare this link to accept NEAR, USDC, or USDT payments!"
      },
      {
        "title": "🛠️ File Structure",
        "body": "near-getpay/\n├── SKILL.md              ← You are here\n├── package.json\n├── tsconfig.json\n├── .env.example          ← Config template\n├── .env                  ← Your config (gitignored)\n├── start.sh              ← Quick start script\n├── start-tunnel.ts       ← Server + tunnel launcher\n├── server-simple.ts      ← Main payment server\n└── scripts/\n    ├── pingpay-client.ts\n    └── payment-orchestrator.ts"
      },
      {
        "title": "Custom Port",
        "body": "Edit .env:\n\nPORT=8080"
      },
      {
        "title": "Custom Tunnel",
        "body": "Replace localhost.run in start-tunnel.ts:\n\n// Option 1: ngrok\nconst tunnel = spawn('ngrok', ['http', PORT.toString()]);\n\n// Option 2: Cloudflare Tunnel\nconst tunnel = spawn('cloudflared', ['tunnel', '--url', `http://localhost:${PORT}`]);\n\n// Option 3: localtunnel (less reliable)\nconst tunnel = spawn('npx', ['localtunnel', '--port', PORT.toString()]);"
      },
      {
        "title": "Webhook Integration (HOT PAY only)",
        "body": "HOT PAY sends webhooks to /webhook/hotpay. To use:\n\nExpose your server publicly (not localhost.run - needs stable URL)\nConfigure webhook URL in HOT PAY dashboard\nServer logs payment confirmations automatically"
      },
      {
        "title": "Payment Amounts",
        "body": "Edit preset amounts in server-simple.ts:\n\ntokens: [\n  {\n    symbol: 'NEAR',\n    chain: 'NEAR',\n    decimals: 24,\n    presets: [0.5, 1, 5, 10]  // ← Change these\n  },\n  // ...\n]"
      },
      {
        "title": "Branding",
        "body": "Update colors, fonts, text in the HTML template sections of server-simple.ts."
      },
      {
        "title": "Add More Tokens",
        "body": "Add to the tokens array (requires provider support):\n\n{\n  symbol: 'ETH',\n  chain: 'NEAR',\n  decimals: 18,\n  presets: [0.01, 0.05, 0.1, 0.5]\n}"
      },
      {
        "title": "\"No provider configured\"",
        "body": "Visit http://localhost:3000/setup to see setup instructions."
      },
      {
        "title": "\"Permission denied (publickey)\" (localhost.run)",
        "body": "Run: ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -N \"\""
      },
      {
        "title": "\"Tunnel closed\"",
        "body": "localhost.run tunnels timeout after inactivity. Restart the server."
      },
      {
        "title": "\"Token not configured\" (HOT PAY)",
        "body": "You need to create a payment link for each token. Missing tokens won't appear on the payment page."
      },
      {
        "title": "Provider returning errors",
        "body": "PingPay: Check API key is valid and account is active\nHOT PAY: Verify item_ids match your created links"
      },
      {
        "title": "🔐 Security",
        "body": "✅ API keys stored in .env (gitignored)\n✅ No private keys needed (payments go directly to provider)\n✅ HTTPS via tunnel\n✅ Webhook signature verification (HOT PAY)\n\nNever commit .env to git!"
      },
      {
        "title": "As a Skill Package",
        "body": "# From the skill directory\nopenclaw skill pack\n\n# Share the .skill file\n# Users install with: openclaw skill install near-getpay.skill"
      },
      {
        "title": "Via GitHub",
        "body": "git init\ngit add .\ngit commit -m \"Initial commit: NEAR GetPay skill\"\ngit remote add origin https://github.com/yourusername/near-getpay.git\ngit push -u origin main\n\nUsers install with:\n\ncd ~/.openclaw/skills\ngit clone https://github.com/yourusername/near-getpay.git\ncd near-getpay\nnpm install"
      },
      {
        "title": "Via Clawhub",
        "body": "Visit https://clawhub.com\nUpload the .skill package\nAdd description and tags\nPublish!"
      },
      {
        "title": "🤝 Support",
        "body": "Issues: GitHub Issues (if published)\nPingPay: https://pingpay.io/docs\nHOT PAY: https://pay.hot-labs.org/admin\nOpenClaw: https://docs.openclaw.ai"
      },
      {
        "title": "📝 License",
        "body": "MIT\n\nMade for OpenClaw 🐾"
      }
    ],
    "body": "NEAR GetPay Skill\n\nAccept crypto payments (NEAR, USDC, USDT) via a beautiful payment page with PingPay or HOT PAY integration.\n\n🎯 What It Does\n\nCreates a hosted payment page where people can pay you in crypto with just a few clicks:\n\nBeautiful UI - Mobile-friendly payment page with preset amounts\nMulti-token - Accept NEAR, USDC, or USDT\nDual provider - Works with PingPay or HOT PAY (or both)\nPublic URL - Exposes via localhost.run tunnel\nFirst-time friendly - Setup wizard guides new users\nSmart token selection - Once a token is selected, others are hidden to avoid confusion (great for HOT PAY where each token has a unique checkout link)\n🎨 User Flow\nPingPay Flow (default, best flow)\nUser selects token (NEAR, USDC, or USDT)\nUser enters amount or picks preset\nClicks \"Pay Now\"\nRedirects to PingPay checkout with pre-filled amount\nHOT PAY Flow\nUser selects token (only configured tokens shown)\nOther tokens are hidden to avoid confusion\nUser enters amount or picks preset\nClicks \"Pay Now\"\nRedirects to HOT PAY checkout link for that specific token and amount\n🚀 Quick Start\n1. Installation\ncd ~/.openclaw/skills\n# Clone or extract the skill\nnpm install\n\n2. Choose Your Provider\n\nYou need either PingPay or HOT PAY (or both):\n\nOption A: PingPay (recommended for beginners)\n\nSign up at https://pingpay.io\nSet your NEAR wallet in Dashboard → Settings\nGet API key from Dashboard → Settings → API Keys\nAdd to .env: PINGPAY_API_KEY=your_key_here\n\nOption B: HOT PAY (for advanced users)\n\nVisit https://pay.hot-labs.org/admin/overview\nCreate payment links for each token (NEAR, USDC, USDT)\nSet your NEAR wallet as recipient when creating each link\nCopy each item_id and add to .env\n3. Configure\n\nCopy .env.example to .env:\n\ncp .env.example .env\n\n\nEdit .env:\n\n# Display name (actual recipient is set in PingPay/HOT PAY dashboard!)\nRECIPIENT_ADDRESS=your-account.near\n\n# Choose provider\nPAYMENT_PROVIDER=pingpay  # or 'hotpay'\n\n# PingPay config (if using PingPay)\nPINGPAY_API_KEY=your_api_key_here\n\n# HOT PAY config (if using HOT PAY)\nHOTPAY_NEAR_ITEM_ID=your_near_item_id\nHOTPAY_USDC_ITEM_ID=your_usdc_item_id\nHOTPAY_USDT_ITEM_ID=your_usdt_item_id\n\n4. Start Server\n./start.sh\n\n\nOr manually:\n\nnpx ts-node start-tunnel.ts\n\n\nThis will:\n\nStart Express server on port 3000\nCreate public URL via localhost.run\nDisplay the shareable payment link\n5. Share Your Link\n\nShare the generated https://xxxxx.lhr.life URL to accept payments!\n\n⚠️ Important Notes\nRecipient Address Configuration\n\nThe recipient address (where payments go) is configured at the provider level, NOT in the .env file:\n\nPingPay: Set in your PingPay Dashboard → Settings → Wallet Address\nHOT PAY: Set when creating each payment link\n\nThe RECIPIENT_ADDRESS in .env is only for display on the payment page. To change where payments actually go, update your provider's dashboard settings.\n\nTunnel Domains\n\nlocalhost.run generates random URLs that change each restart. For a permanent domain:\n\nSign up at https://admin.localhost.run/\nConfigure your custom domain\nUpdate the tunnel command in start-tunnel.ts\n\nOr use your own reverse proxy (Cloudflare Tunnel, ngrok paid, etc.)\n\n📖 Usage in OpenClaw\n\nWhen a user asks to accept payments:\n\nUser: \"Create a payment page to accept USDT donations\"\n\nAgent:\n1. Check if near-getpay skill is installed\n2. Ask which provider they want (PingPay or HOT PAY)\n3. Guide them through setup if not configured\n4. Run: cd ~/.openclaw/skills/near-getpay && ./start.sh\n5. Share the generated public URL\n\nExample Conversation\nUser: I need to accept crypto payments\n\nAgent: I'll set up a payment page for you using the GetPay skill.\n\nFirst, do you have a PingPay or HOT PAY account?\n\nUser: No, what's easier?\n\nAgent: PingPay is simpler. Here's what to do:\n\n1. Sign up at https://pingpay.io\n2. Add your NEAR wallet address in settings\n3. Get an API key from Dashboard → API Keys\n4. Share it with me (or add to .env yourself)\n\nLet me know when you have the API key!\n\nUser: Got it: sk_test_abc123...\n\nAgent: Perfect! Starting your payment server...\n\n[runs start.sh]\n\n✅ Your payment page is live:\nhttps://abc123xyz.lhr.life\n\nShare this link to accept NEAR, USDC, or USDT payments!\n\n🛠️ File Structure\nnear-getpay/\n├── SKILL.md              ← You are here\n├── package.json\n├── tsconfig.json\n├── .env.example          ← Config template\n├── .env                  ← Your config (gitignored)\n├── start.sh              ← Quick start script\n├── start-tunnel.ts       ← Server + tunnel launcher\n├── server-simple.ts      ← Main payment server\n└── scripts/\n    ├── pingpay-client.ts\n    └── payment-orchestrator.ts\n\n🔧 Advanced Configuration\nCustom Port\n\nEdit .env:\n\nPORT=8080\n\nCustom Tunnel\n\nReplace localhost.run in start-tunnel.ts:\n\n// Option 1: ngrok\nconst tunnel = spawn('ngrok', ['http', PORT.toString()]);\n\n// Option 2: Cloudflare Tunnel\nconst tunnel = spawn('cloudflared', ['tunnel', '--url', `http://localhost:${PORT}`]);\n\n// Option 3: localtunnel (less reliable)\nconst tunnel = spawn('npx', ['localtunnel', '--port', PORT.toString()]);\n\nWebhook Integration (HOT PAY only)\n\nHOT PAY sends webhooks to /webhook/hotpay. To use:\n\nExpose your server publicly (not localhost.run - needs stable URL)\nConfigure webhook URL in HOT PAY dashboard\nServer logs payment confirmations automatically\n🎨 Customization\nPayment Amounts\n\nEdit preset amounts in server-simple.ts:\n\ntokens: [\n  {\n    symbol: 'NEAR',\n    chain: 'NEAR',\n    decimals: 24,\n    presets: [0.5, 1, 5, 10]  // ← Change these\n  },\n  // ...\n]\n\nBranding\n\nUpdate colors, fonts, text in the HTML template sections of server-simple.ts.\n\nAdd More Tokens\n\nAdd to the tokens array (requires provider support):\n\n{\n  symbol: 'ETH',\n  chain: 'NEAR',\n  decimals: 18,\n  presets: [0.01, 0.05, 0.1, 0.5]\n}\n\n🐛 Troubleshooting\n\"No provider configured\"\n\nVisit http://localhost:3000/setup to see setup instructions.\n\n\"Permission denied (publickey)\" (localhost.run)\n\nRun: ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -N \"\"\n\n\"Tunnel closed\"\n\nlocalhost.run tunnels timeout after inactivity. Restart the server.\n\n\"Token not configured\" (HOT PAY)\n\nYou need to create a payment link for each token. Missing tokens won't appear on the payment page.\n\nProvider returning errors\nPingPay: Check API key is valid and account is active\nHOT PAY: Verify item_ids match your created links\n🔐 Security\n✅ API keys stored in .env (gitignored)\n✅ No private keys needed (payments go directly to provider)\n✅ HTTPS via tunnel\n✅ Webhook signature verification (HOT PAY)\n\nNever commit .env to git!\n\n📦 Sharing This Skill\nAs a Skill Package\n# From the skill directory\nopenclaw skill pack\n\n# Share the .skill file\n# Users install with: openclaw skill install near-getpay.skill\n\nVia GitHub\ngit init\ngit add .\ngit commit -m \"Initial commit: NEAR GetPay skill\"\ngit remote add origin https://github.com/yourusername/near-getpay.git\ngit push -u origin main\n\n\nUsers install with:\n\ncd ~/.openclaw/skills\ngit clone https://github.com/yourusername/near-getpay.git\ncd near-getpay\nnpm install\n\nVia Clawhub\nVisit https://clawhub.com\nUpload the .skill package\nAdd description and tags\nPublish!\n🤝 Support\nIssues: GitHub Issues (if published)\nPingPay: https://pingpay.io/docs\nHOT PAY: https://pay.hot-labs.org/admin\nOpenClaw: https://docs.openclaw.ai\n📝 License\n\nMIT\n\nMade for OpenClaw 🐾"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/cuongdcdev/near-getpay",
    "publisherUrl": "https://clawhub.ai/cuongdcdev/near-getpay",
    "owner": "cuongdcdev",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/near-getpay",
    "downloadUrl": "https://openagent3.xyz/downloads/near-getpay",
    "agentUrl": "https://openagent3.xyz/skills/near-getpay/agent",
    "manifestUrl": "https://openagent3.xyz/skills/near-getpay/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/near-getpay/agent.md"
  }
}