{
  "schemaVersion": "1.0",
  "item": {
    "slug": "lightning-agent-commerce",
    "name": "Lightning Agentic Commerce",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/Roasbeef/lightning-agent-commerce",
    "canonicalUrl": "https://clawhub.ai/Roasbeef/lightning-agent-commerce",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/lightning-agent-commerce",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=lightning-agent-commerce",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "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/lightning-agent-commerce"
    },
    "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/lightning-agent-commerce",
    "agentPageUrl": "https://openagent3.xyz/skills/lightning-agent-commerce/agent",
    "manifestUrl": "https://openagent3.xyz/skills/lightning-agent-commerce/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/lightning-agent-commerce/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": "Agentic Commerce Toolkit",
        "body": "This plugin provides a complete toolkit for agent-driven Lightning Network\ncommerce. Three skills work together to enable agents to send and receive\nmicropayments over the Lightning Network using the L402 protocol."
      },
      {
        "title": "Components",
        "body": "SkillPurposelndRun Lightning Terminal (litd: lnd + loop + pool + tapd)lngetFetch L402-protected resources (pay for data)apertureHost paid API endpoints (sell data)"
      },
      {
        "title": "Step 1: Install All Components",
        "body": "# Install litd (Lightning Terminal — bundles lnd + loop + pool + tapd)\nskills/lnd/scripts/install.sh\n\n# Install lnget (Lightning HTTP client)\nskills/lnget/scripts/install.sh\n\n# Install aperture (L402 reverse proxy)\nskills/aperture/scripts/install.sh"
      },
      {
        "title": "Step 2: Set Up the Lightning Node",
        "body": "# Start litd container (testnet by default)\nskills/lnd/scripts/start-lnd.sh\n\n# Create an encrypted wallet\nskills/lnd/scripts/create-wallet.sh --mode standalone\n\n# Verify node is running\nskills/lnd/scripts/lncli.sh getinfo"
      },
      {
        "title": "Step 3: Fund the Wallet",
        "body": "# Generate a Bitcoin address\nskills/lnd/scripts/lncli.sh newaddress p2tr\n\n# Send BTC to this address from an exchange or another wallet\n\n# Verify balance\nskills/lnd/scripts/lncli.sh walletbalance"
      },
      {
        "title": "Step 4: Open a Channel",
        "body": "# Connect to a well-connected node (e.g., ACINQ, Bitfinex)\nskills/lnd/scripts/lncli.sh connect <pubkey>@<host>:9735\n\n# Open a channel\nskills/lnd/scripts/lncli.sh openchannel --node_key=<pubkey> --local_amt=1000000\n\n# Wait for channel to confirm (6 blocks)\nskills/lnd/scripts/lncli.sh listchannels"
      },
      {
        "title": "Step 5: Configure lnget",
        "body": "# Initialize lnget config (auto-detects local lnd)\nlnget config init\n\n# Verify connection\nlnget ln status"
      },
      {
        "title": "Step 6: Fetch Paid Resources",
        "body": "# Fetch an L402-protected resource\nlnget --max-cost 1000 https://api.example.com/paid-data\n\n# Preview without paying\nlnget --no-pay https://api.example.com/paid-data\n\n# Check cached tokens\nlnget tokens list"
      },
      {
        "title": "Step 7: Host Paid Endpoints (Optional)",
        "body": "# Start your backend service\npython3 -m http.server 8080 &\n\n# Configure aperture to protect it\nskills/aperture/scripts/setup.sh --insecure --port 8081\n\n# Start the L402 paywall\nskills/aperture/scripts/start.sh\n\n# Other agents can now pay to access your endpoints\n# lnget --max-cost 100 https://your-host:8081/api/data"
      },
      {
        "title": "Agent-to-Agent Commerce",
        "body": "The full loop for autonomous agent commerce:\n\nAgent A (buyer)                    Agent B (seller)\n─────────────                      ─────────────\nlnd node running                   lnd node running\n  ↓                                  ↓\nlnget fetches URL ──────────────→ aperture receives request\n                                     ↓\n                                   Returns 402 + invoice\n  ↓\nlnget pays invoice ─────────────→ lnd receives payment\n  ↓                                  ↓\nlnget retries with token ───────→ aperture validates token\n                                     ↓\n                                   Proxies to backend\n  ↓                                  ↓\nAgent A receives data ←──────────  Backend returns data"
      },
      {
        "title": "Buyer Agent Setup",
        "body": "# One-time setup\nskills/lnd/scripts/install.sh\nskills/lnget/scripts/install.sh\nskills/lnd/scripts/start-lnd.sh\nskills/lnd/scripts/create-wallet.sh --mode standalone\nlnget config init\n\n# Fund wallet and open channels (one-time)\nskills/lnd/scripts/lncli.sh newaddress p2tr\n# ... send BTC ...\nskills/lnd/scripts/lncli.sh openchannel --node_key=<pubkey> --local_amt=500000\n\n# Ongoing: fetch paid resources\nlnget --max-cost 100 -q https://seller-api.example.com/api/data | jq ."
      },
      {
        "title": "Seller Agent Setup",
        "body": "# One-time setup\nskills/lnd/scripts/install.sh\nskills/aperture/scripts/install.sh\nskills/lnd/scripts/start-lnd.sh\nskills/lnd/scripts/create-wallet.sh --mode standalone\n\n# Configure and start paywall\nskills/aperture/scripts/setup.sh --port 8081 --insecure\n\n# Start backend with content to sell\nmkdir -p /tmp/api-data\necho '{\"market_data\": \"...\"}' > /tmp/api-data/data.json\ncd /tmp/api-data && python3 -m http.server 8080 &\n\n# Start aperture\nskills/aperture/scripts/start.sh\n\n# Buyers can now access:\n# https://your-host:8081/api/data.json (100 sats per request)"
      },
      {
        "title": "Cost Management",
        "body": "Agents should always control spending:\n\n# Set a hard limit per request\nlnget --max-cost 500 https://api.example.com/data\n\n# Check cost before paying\nlnget --no-pay --json https://api.example.com/data | jq '.invoice_amount_sat'\n\n# Track spending via token list\nlnget tokens list --json | jq '[.[] | .amount_paid_sat] | add'"
      },
      {
        "title": "Security Summary",
        "body": "ComponentSecurity ModelWallet passphraseStored at ~/.lnget/lnd/wallet-password.txt (0600)Seed mnemonicStored at ~/.lnget/lnd/seed.txt (0600)L402 tokensStored at ~/.lnget/tokens/<domain>/ per domainlnd macaroonsStandard lnd paths at ~/.lnd/data/chain/...Aperture DBSQLite at ~/.aperture/aperture.db\n\nFor production use with significant funds, use watch-only mode with a remote\nsigner container. See the lightning-security-module skill for details."
      },
      {
        "title": "Stopping Everything",
        "body": "skills/aperture/scripts/stop.sh\nskills/lnd/scripts/stop-lnd.sh"
      }
    ],
    "body": "Agentic Commerce Toolkit\n\nThis plugin provides a complete toolkit for agent-driven Lightning Network commerce. Three skills work together to enable agents to send and receive micropayments over the Lightning Network using the L402 protocol.\n\nComponents\nSkill\tPurpose\nlnd\tRun Lightning Terminal (litd: lnd + loop + pool + tapd)\nlnget\tFetch L402-protected resources (pay for data)\naperture\tHost paid API endpoints (sell data)\nFull Setup Workflow\nStep 1: Install All Components\n# Install litd (Lightning Terminal — bundles lnd + loop + pool + tapd)\nskills/lnd/scripts/install.sh\n\n# Install lnget (Lightning HTTP client)\nskills/lnget/scripts/install.sh\n\n# Install aperture (L402 reverse proxy)\nskills/aperture/scripts/install.sh\n\nStep 2: Set Up the Lightning Node\n# Start litd container (testnet by default)\nskills/lnd/scripts/start-lnd.sh\n\n# Create an encrypted wallet\nskills/lnd/scripts/create-wallet.sh --mode standalone\n\n# Verify node is running\nskills/lnd/scripts/lncli.sh getinfo\n\nStep 3: Fund the Wallet\n# Generate a Bitcoin address\nskills/lnd/scripts/lncli.sh newaddress p2tr\n\n# Send BTC to this address from an exchange or another wallet\n\n# Verify balance\nskills/lnd/scripts/lncli.sh walletbalance\n\nStep 4: Open a Channel\n# Connect to a well-connected node (e.g., ACINQ, Bitfinex)\nskills/lnd/scripts/lncli.sh connect <pubkey>@<host>:9735\n\n# Open a channel\nskills/lnd/scripts/lncli.sh openchannel --node_key=<pubkey> --local_amt=1000000\n\n# Wait for channel to confirm (6 blocks)\nskills/lnd/scripts/lncli.sh listchannels\n\nStep 5: Configure lnget\n# Initialize lnget config (auto-detects local lnd)\nlnget config init\n\n# Verify connection\nlnget ln status\n\nStep 6: Fetch Paid Resources\n# Fetch an L402-protected resource\nlnget --max-cost 1000 https://api.example.com/paid-data\n\n# Preview without paying\nlnget --no-pay https://api.example.com/paid-data\n\n# Check cached tokens\nlnget tokens list\n\nStep 7: Host Paid Endpoints (Optional)\n# Start your backend service\npython3 -m http.server 8080 &\n\n# Configure aperture to protect it\nskills/aperture/scripts/setup.sh --insecure --port 8081\n\n# Start the L402 paywall\nskills/aperture/scripts/start.sh\n\n# Other agents can now pay to access your endpoints\n# lnget --max-cost 100 https://your-host:8081/api/data\n\nAgent-to-Agent Commerce\n\nThe full loop for autonomous agent commerce:\n\nAgent A (buyer)                    Agent B (seller)\n─────────────                      ─────────────\nlnd node running                   lnd node running\n  ↓                                  ↓\nlnget fetches URL ──────────────→ aperture receives request\n                                     ↓\n                                   Returns 402 + invoice\n  ↓\nlnget pays invoice ─────────────→ lnd receives payment\n  ↓                                  ↓\nlnget retries with token ───────→ aperture validates token\n                                     ↓\n                                   Proxies to backend\n  ↓                                  ↓\nAgent A receives data ←──────────  Backend returns data\n\nBuyer Agent Setup\n# One-time setup\nskills/lnd/scripts/install.sh\nskills/lnget/scripts/install.sh\nskills/lnd/scripts/start-lnd.sh\nskills/lnd/scripts/create-wallet.sh --mode standalone\nlnget config init\n\n# Fund wallet and open channels (one-time)\nskills/lnd/scripts/lncli.sh newaddress p2tr\n# ... send BTC ...\nskills/lnd/scripts/lncli.sh openchannel --node_key=<pubkey> --local_amt=500000\n\n# Ongoing: fetch paid resources\nlnget --max-cost 100 -q https://seller-api.example.com/api/data | jq .\n\nSeller Agent Setup\n# One-time setup\nskills/lnd/scripts/install.sh\nskills/aperture/scripts/install.sh\nskills/lnd/scripts/start-lnd.sh\nskills/lnd/scripts/create-wallet.sh --mode standalone\n\n# Configure and start paywall\nskills/aperture/scripts/setup.sh --port 8081 --insecure\n\n# Start backend with content to sell\nmkdir -p /tmp/api-data\necho '{\"market_data\": \"...\"}' > /tmp/api-data/data.json\ncd /tmp/api-data && python3 -m http.server 8080 &\n\n# Start aperture\nskills/aperture/scripts/start.sh\n\n# Buyers can now access:\n# https://your-host:8081/api/data.json (100 sats per request)\n\nCost Management\n\nAgents should always control spending:\n\n# Set a hard limit per request\nlnget --max-cost 500 https://api.example.com/data\n\n# Check cost before paying\nlnget --no-pay --json https://api.example.com/data | jq '.invoice_amount_sat'\n\n# Track spending via token list\nlnget tokens list --json | jq '[.[] | .amount_paid_sat] | add'\n\nSecurity Summary\nComponent\tSecurity Model\nWallet passphrase\tStored at ~/.lnget/lnd/wallet-password.txt (0600)\nSeed mnemonic\tStored at ~/.lnget/lnd/seed.txt (0600)\nL402 tokens\tStored at ~/.lnget/tokens/<domain>/ per domain\nlnd macaroons\tStandard lnd paths at ~/.lnd/data/chain/...\nAperture DB\tSQLite at ~/.aperture/aperture.db\n\nFor production use with significant funds, use watch-only mode with a remote signer container. See the lightning-security-module skill for details.\n\nStopping Everything\nskills/aperture/scripts/stop.sh\nskills/lnd/scripts/stop-lnd.sh"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Roasbeef/lightning-agent-commerce",
    "publisherUrl": "https://clawhub.ai/Roasbeef/lightning-agent-commerce",
    "owner": "Roasbeef",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/lightning-agent-commerce",
    "downloadUrl": "https://openagent3.xyz/downloads/lightning-agent-commerce",
    "agentUrl": "https://openagent3.xyz/skills/lightning-agent-commerce/agent",
    "manifestUrl": "https://openagent3.xyz/skills/lightning-agent-commerce/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/lightning-agent-commerce/agent.md"
  }
}