Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

paynode-402

v2.7.5

Dynamic Premium API Marketplace for AI Agents. Grants access to an ever-expanding registry of real-time external tools (e.g., web search, crypto oracles, web...

1· 246·1 current·1 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for paynodelabs/paynode-402.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "paynode-402" (paynodelabs/paynode-402) from ClawHub.
Skill page: https://clawhub.ai/paynodelabs/paynode-402
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: CLIENT_PRIVATE_KEY
Required binaries: bun
Config paths to check: ~/.config/paynode/config.json
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install paynode-402

ClawHub CLI

Package manager switcher

npx clawhub@latest install paynode-402
Security Scan
Capability signals
CryptoRequires walletCan make purchasesCan sign transactionsRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (paid API marketplace) align with the declared requirements: the CLI examples use bunx, the skill requires the bun binary, and it needs a CLIENT_PRIVATE_KEY to sign on-chain payments. The config fallback (~/.config/paynode/config.json) is consistent with the described behavior. No unrelated credentials or binaries are requested.
Instruction Scope
SKILL.md is instruction-only and contains concrete bunx commands and safety rules (prompt user before mainnet spending, use burner wallets, fetch get-api-detail before invoking). It also instructs the agent to read CLIENT_PRIVATE_KEY from env or fallback config — this is within scope but sensitive. The skill explicitly requires user confirmation for spending, which reduces surprising autonomous behavior if the agent follows these rules.
Install Mechanism
No install spec; instruction-only skill (no code files). This means nothing is fetched or written by an automated installer at install time, which lowers supply-chain risk. SKILL.md references an external CLI package (bunx @paynodelabs/...), but no automatic download/install is declared in the skill metadata.
Credentials
Only one required credential (CLIENT_PRIVATE_KEY) is declared, which is proportionate to a wallet-signing CLI. However, this is a high-value secret (a private key). The fallback to a local config file increases the ways the secret can be present on disk. The SKILL.md itself warns to use burner keys and to verify config contents — appropriate but places responsibility on the user/operator.
Persistence & Privilege
always:false (good). disable-model-invocation:false (normal default), meaning the agent could invoke the skill autonomously; combined with a live CLIENT_PRIVATE_KEY this increases blast radius if the agent/platform does not enforce the SKILL.md's explicit prompt/confirm requirement. The skill does not request modification of other skills or system-wide config.
Assessment
This skill is internally coherent for its stated purpose, but it requires a highly sensitive private key that can sign on-chain payments. Before installing: (1) Never supply a long-term or high-value private key — use a burner wallet with minimal funds. (2) Verify or pin the CLI package source (git clone and local build or pin @paynodelabs/paynode-402-cli@<VERSION>) before running in production. (3) Inspect ~/.config/paynode/config.json if present and remove any non-burner keys. (4) Ensure your agent platform enforces interactive confirmation for any mainnet spend (or set disable-model-invocation if you cannot enforce confirmations). (5) Prefer testnet/network=testnet for initial trials and audit the published npm/GitHub package if you plan to use this in a production flow. The scanner found no code files in the skill bundle (instruction-only), but that does not replace auditing the external CLI package referenced in SKILL.md.

Like a lobster shell, security has layers — review code before you run it.

Plugin bundle (nix)
Skill pack · CLI binary · Config
SKILL.mdCLIConfig
CLI help (from plugin)
Usage: bunx @paynodelabs/paynode-402-cli [command]
Commands:
  check              Check wallet readiness (ETH/USDC)
  mint               Mint test USDC
  request <URL>      Access protected API
  list-paid-apis     Marketplace discovery
  invoke-paid-api    Execution flow
  tasks              Manage background tasks

Runtime requirements

Binsbun
EnvCLIENT_PRIVATE_KEY
Config~/.config/paynode/config.json
Primary envCLIENT_PRIVATE_KEY
latestvk979z34c7k72j4v33tfdqwy1zd856cc9
246downloads
1stars
16versions
Updated 1w ago
v2.7.5
MIT-0

💳 PayNode 402 CLI Skill (v2.7.2)

Official ClawHub-compliant skill for PayNode protocol execution.

⚠️ Security Warning

Before installing or activating this skill, please review the following critical security considerations:

  • Burner Wallet ONLY: Never provide a high-value primary key in CLIENT_PRIVATE_KEY. Always use a dedicated burner address with minimal funds.
  • Config File Fallback: This skill reads ~/.config/paynode/config.json if the env var is missing. Ensure you verify the contents of this file in your environment.
  • Supply Chain & Auditability: The PayNode CLI and its core dependency @paynodelabs/sdk-js are 100% Open Source and verifiable. While we use bunx for its seamless update delivery, strict environments should Git clone & audit the source code and use a local build:
    • Local Install Path: git clone ... && bun link then use paynode-402 directly instead of bunx.
  • Runtime Transparency: The CLI v2.7.2+ is designed to be deterministic. You can pin specific versions via bunx @paynodelabs/paynode-402-cli@<VERSION> to prevent auto-updates in critical workflows.
  • Sandbox First: Always test in a sandbox or with Testnet (--network testnet) before proceeding to real-value transactions.

This skill provides autonomous payment capabilities for HTTP 402 (Payment Required) challenges on Base L2.

🛠️ Setup & Config (Mandatory)

To ensure this skill can sign transactions even in non-interactive shells (like OpenClaw Gateway), it supports a dual-layer configuration priority:

  1. Priority B (Environment Variable): The CLI will first check for CLIENT_PRIVATE_KEY in your system environment.
  2. Priority A (XDG Config Fallback): If the env var is missing, it will automatically search for a JSON config at: ~/.config/paynode/config.json.
    • Format: {"CLIENT_PRIVATE_KEY": "0x..."}

Recommendation: Use Priority B for dynamic/containerized environments, and Priority A for persistent local development or cases where .bashrc is not sourced.

🛡️ Security Governance (Critical)

To comply with ClawHub Safety Standards, the Agent MUST strictly follow these protocols:

  1. Burner Wallet ONLY: Never use high-value primary keys. Advise users to use a dedicated burner address with minimal USDC/ETH for this skill.
  2. Mainnet YES-Confirmation: Before calling request or invoke-paid-api on Mainnet, the Agent MUST explicitly prompt the user: "Allow payment of <PRICE> on Mainnet?". Proceed ONLY on "YES". Read-only inspection commands may still require --confirm-mainnet because of CLI safety policy, but they must not be represented as user-approved spending actions.
  3. Data Path Isolation: The data_binary field returns a local filesystem path. Only read this path if generated during the current session's request.
  4. No Parameter Hallucination: ALWAYS call get-api-detail <ID> to fetch the correct input_schema and sample_response before execution.
  5. Clean Logs: The CLI (v2.7.2+) automatically silences internal logs in --json mode. You should expect pure, parseable JSON on stdout.
  6. Financial Optimization (CRITICAL): Paid APIs cost real USDC. YOU MUST NOT call the same paid API multiple times for the same context. ALWAYS pipe output to a temporary file (e.g., ... > /tmp/res.json) and parse locally to save costs.

💡 Quick Start (Success Path)

Mainnet by Default: PayNode's production marketplace is on mainnet. The commands below therefore use --network mainnet.

Critical Rule: The CLI requires --confirm-mainnet for mainnet operations. Explicit user approval is mandatory before any command that may spend real USDC, especially request and invoke-paid-api. Read-only commands such as check, list-paid-apis, and get-api-detail may use the flag for inspection, but should still be treated as sensitive mainnet operations.

# 1. Verify your mainnet readiness
bunx @paynodelabs/paynode-402-cli check --network mainnet --confirm-mainnet --json

# 2. Find a tool (Discovery Phase)
bunx @paynodelabs/paynode-402-cli list-paid-apis --network mainnet --confirm-mainnet --json --limit 3

# 3. Get precise parameters & execute
bunx @paynodelabs/paynode-402-cli get-api-detail crypto-price-quick --network mainnet --confirm-mainnet --json

# 🛑🛑🛑 STOP! CRITICAL RULE 🛑🛑🛑
# YOU MUST USE THE `clarify` TOOL TO ASK THE HUMAN FOR PERMISSION BEFORE RUNNING THE NEXT COMMAND.
# ONLY RUN THIS AFTER THE HUMAN SAYS "YES":
bunx @paynodelabs/paynode-402-cli invoke-paid-api crypto-price-quick coin_id=bitcoin --network mainnet --confirm-mainnet --json

Use the execution command above only after the user has explicitly approved spending real USDC on mainnet.

🤖 Agent Action Triggers & Discovery Protocol

PayNode is a DYNAMIC marketplace. The available APIs and capabilities change and expand over time. You must adopt a "Discovery-First" approach.

WHEN TO USE THIS SKILL:

  1. Knowledge Gap: If the user asks for real-time data, current events, live market prices, or content behind URLs that you cannot access natively.
  2. Specialized Tasks: If the user requests specialized processing (e.g., data extraction, blockchain analytics, specific third-party integrations).

STANDARD WORKFLOW (The "Check Before Giving Up" Rule):

  • Step 1 (Discovery): NEVER tell the user "I don't have access to real-time internet" or "I cannot do that" without FIRST checking the marketplace. Run list-paid-apis --network mainnet --confirm-mainnet --json to explore available tools. On mainnet, the agent must still obtain explicit user permission before using --confirm-mainnet.
  • Step 2 (Analysis): Use get-api-detail <ID> to fetch the full manifest. Pay attention to sample_response to understand the data structure you will receive. The CLI handles headers_template automatically, so you don't need to manually set headers defined by the merchant.
  • Step 3 (Execution): Ask for user permission (showing the price), then use invoke-paid-api to fulfill the request.

🚀 Cold Start (Discovery Phase)

The first action MUST be indexing the marketplace (Outbound discovery). Use this to explore current premium tools:

bunx @paynodelabs/paynode-402-cli list-paid-apis --network mainnet --confirm-mainnet --json --limit 10

📋 Command Reference

CommandUsage ExamplePurpose
list-paid-apislist-paid-apis --network mainnet --confirm-mainnet --jsonDISCOVERY: Explore available tools
get-api-detailget-api-detail <ID> --network mainnet --confirm-mainnet --jsonREQUIRED: Fetch schema, sample_res & pricing
invoke-paid-apiinvoke-paid-api <ID> key=val --network mainnet --confirm-mainnet --jsonEXECUTION: Auto-handles payment. Use key=value format.
checkcheck --network mainnet --confirm-mainnet --jsonBalance readiness (silenced logs)
requestrequest <URL> key=val --jsonAccess protected 402 URL (Low-level)
taskstasks listAsync progress monitor
mintmint --amount 100 --jsonGet test tokens (Base Sepolia)

🛠️ Global Flags

  • --network <mainnet|testnet>: Target (Default: testnet).
  • --confirm-mainnet: Required for real USDC.
  • --json: Required for agent parsing.

🔧 Troubleshooting & Debugging

  • 402 Handshake Failure: Ensure CLIENT_PRIVATE_KEY is valid and the wallet has a tiny amount of native ETH for base fee, even on Testnet.
  • Insufficient USDC: Run check to verify your balance. On Testnet, use mint to get 1000 USDC instantly.
  • Provider Error: High RPC latency can skip verification. The CLI v2.7.2 includes 3x retry logic and enhanced X402 v2 (CoinGecko/Coinbase) protocol support, but ensure your network connection is stable.
  • Transaction Pending: Wait 5-10 seconds for L2 finality. Use BaseScan to verify:
    • Track transactions: https://basescan.org/tx/<TX_HASH>
    • Check wallet status: https://basescan.org/address/<YOUR_ADDRESS>

🛡️ Security & Environment

  • Environment Priority: ALWAYS prioritize mainnet for production tasks to ensure access to real-time, high-fidelity data.
  • Testing & Debug: Use testnet (Base Sepolia) only for initial integration testing, connectivity debugging, or development.
  • Wallet Safety: Use a Burner Wallet with minimum required funds. Never use a primary vault key.
  • Required Flags: Mainnet execution requires the --confirm-mainnet flag to prevent accidental spending. This flag should only be added after the user has explicitly approved the spend.
  • Data Integrity: Always use the --json flag for consistent agentic parsing.

🔗 Resources

Comments

Loading comments...