{
  "schemaVersion": "1.0",
  "item": {
    "slug": "passive-income-monitor",
    "name": "Passive Income Monitor",
    "source": "tencent",
    "type": "skill",
    "category": "数据分析",
    "sourceUrl": "https://clawhub.ai/mariusfit/passive-income-monitor",
    "canonicalUrl": "https://clawhub.ai/mariusfit/passive-income-monitor",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/passive-income-monitor",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=passive-income-monitor",
    "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",
      "slug": "passive-income-monitor",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T23:25:29.425Z",
      "expiresAt": "2026-05-06T23:25:29.425Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=passive-income-monitor",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=passive-income-monitor",
        "contentDisposition": "attachment; filename=\"passive-income-monitor-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "passive-income-monitor"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/passive-income-monitor"
    },
    "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/passive-income-monitor",
    "agentPageUrl": "https://openagent3.xyz/skills/passive-income-monitor/agent",
    "manifestUrl": "https://openagent3.xyz/skills/passive-income-monitor/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/passive-income-monitor/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": "passive-income-monitor",
        "body": "Version: 1.0.0\nAuthor: mariusfit\nCategory: finance, crypto, automation, passive-income\nTags: passive income, crypto, grass, storj, mysterium, defi, staking, yield, monitoring, alerts"
      },
      {
        "title": "What This Does",
        "body": "Monitors multiple passive income streams from a single command. Tracks bandwidth monetization nodes (Grass.io, Mysterium Network), decentralized storage earnings (Storj), DeFi yield positions, and crypto staking rewards. Provides unified dashboard, earnings summaries, and configurable alerts when earnings drop or nodes go offline.\n\nZero API keys required for basic mode. Optional API keys unlock richer data."
      },
      {
        "title": "Use Cases",
        "body": "Track all passive income sources in one place\nGet alerted when a node goes offline or earnings drop\nCalculate daily/weekly/monthly earnings projections\nCompare actual vs expected yields across DeFi protocols\nLog earnings history for tax/accounting purposes"
      },
      {
        "title": "monitor check — Quick status of all configured streams",
        "body": "bash passive-income-monitor.sh check\n\nOutput: Status table (stream name, status, last earned, 24h total)"
      },
      {
        "title": "monitor earnings — Detailed earnings report",
        "body": "bash passive-income-monitor.sh earnings [--days 7] [--format json|table|csv]"
      },
      {
        "title": "monitor add <type> <name> <config> — Add income stream",
        "body": "bash passive-income-monitor.sh add grass \"node1\" --wallet 0xABC...\nbash passive-income-monitor.sh add storj \"storage1\" --api-key KEY --node-id NODE_ID\nbash passive-income-monitor.sh add mysterium \"node1\" --rpc http://localhost:4449\nbash passive-income-monitor.sh add defi \"aave-usdc\" --protocol aave --address 0xABC... --chain ethereum\nbash passive-income-monitor.sh add staking \"eth-validator\" --address 0xABC... --chain ethereum"
      },
      {
        "title": "monitor remove <name> — Remove income stream",
        "body": "bash passive-income-monitor.sh remove \"node1\""
      },
      {
        "title": "monitor alert <threshold> — Set alert thresholds",
        "body": "bash passive-income-monitor.sh alert --min-daily 5.00 --notify-offline --email user@example.com"
      },
      {
        "title": "monitor export — Export earnings history",
        "body": "bash passive-income-monitor.sh export --format csv --output earnings-2026.csv"
      },
      {
        "title": "monitor dashboard — Live terminal dashboard (ncurses-style)",
        "body": "bash passive-income-monitor.sh dashboard"
      },
      {
        "title": "Supported Platforms",
        "body": "PlatformTypeAPINotesGrass.ioBandwidthPublic APIWallet address requiredMysterium NetworkBandwidthLocal RPCNode must be runningStorjStorageAPI KeyDCS node APIAave v3DeFi LendingPublic on-chainNo key neededCompound v3DeFi LendingPublic on-chainNo key neededLidoETH StakingPublic APIStaking addressEthereum StakingValidatorBeaconcha.in APIValidator pubkeyHeliumIoT NetworkPublic APIWallet address"
      },
      {
        "title": "Configuration",
        "body": "Config stored in ~/.config/passive-income-monitor/config.json:\n\n{\n  \"streams\": [\n    {\n      \"name\": \"grass-node1\",\n      \"type\": \"grass\",\n      \"wallet\": \"0xABC...\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"mysterium-node\",\n      \"type\": \"mysterium\",\n      \"rpc\": \"http://localhost:4449\",\n      \"enabled\": true\n    }\n  ],\n  \"alerts\": {\n    \"min_daily_usd\": 5.00,\n    \"notify_offline\": true,\n    \"notify_method\": \"file\"\n  },\n  \"currency\": \"USD\"\n}"
      },
      {
        "title": "Alert Methods",
        "body": "file — Write alerts to ~/.config/passive-income-monitor/alerts.log\nstdout — Print to terminal\nwebhook — POST to configured URL (Discord, Slack, custom)\nOpenClaw integration: alerts appear as agent notifications"
      },
      {
        "title": "Output Examples",
        "body": "╔═══════════════════════════════════════════════════════════════╗\n║          PASSIVE INCOME MONITOR — 2026-02-24                  ║\n╠═══════════════════════════╦═══════════╦══════════╦═══════════╣\n║ Stream                    ║ Status    ║ 24h      ║ 7d Total  ║\n╠═══════════════════════════╬═══════════╬══════════╬═══════════╣\n║ grass-node1               ║ ✅ Online  ║ $0.34    ║ $2.18     ║\n║ mysterium-residential     ║ ✅ Online  ║ $0.12    ║ $0.84     ║\n║ storj-node                ║ ⚠️ Offline ║ $0.00    ║ $1.92     ║\n║ aave-usdc-pos             ║ ✅ Earning ║ $0.28    ║ $1.96     ║\n║ lido-staking              ║ ✅ Active  ║ $0.45    ║ $3.15     ║\n╠═══════════════════════════╬═══════════╬══════════╬═══════════╣\n║ TOTAL                     ║           ║ $1.19    ║ $10.05    ║\n╚═══════════════════════════╩═══════════╩══════════╩═══════════╝\n\n⚠️  ALERT: storj-node has been offline >2h. Check node health.\n📈 Projected monthly: $35.70 (based on 7d average)"
      },
      {
        "title": "Requirements",
        "body": "bash 4.0+\ncurl (for API calls)\njq (for JSON parsing)\nbc (for math)\nOptional: node.js (for on-chain data via ethers.js)"
      },
      {
        "title": "Installation",
        "body": "# Via OpenClaw\nclawhub install passive-income-monitor\n\n# Manual\nbash install.sh"
      },
      {
        "title": "Notes",
        "body": "All data cached locally; no external tracking or telemetry\nEarnings data stored in CSV for privacy and portability\nOpenClaw agent can call this tool proactively during heartbeats\nWorks offline for cached data; requires internet for fresh API calls"
      }
    ],
    "body": "passive-income-monitor\n\nVersion: 1.0.0\nAuthor: mariusfit\nCategory: finance, crypto, automation, passive-income\nTags: passive income, crypto, grass, storj, mysterium, defi, staking, yield, monitoring, alerts\n\nWhat This Does\n\nMonitors multiple passive income streams from a single command. Tracks bandwidth monetization nodes (Grass.io, Mysterium Network), decentralized storage earnings (Storj), DeFi yield positions, and crypto staking rewards. Provides unified dashboard, earnings summaries, and configurable alerts when earnings drop or nodes go offline.\n\nZero API keys required for basic mode. Optional API keys unlock richer data.\n\nUse Cases\nTrack all passive income sources in one place\nGet alerted when a node goes offline or earnings drop\nCalculate daily/weekly/monthly earnings projections\nCompare actual vs expected yields across DeFi protocols\nLog earnings history for tax/accounting purposes\nCommands\nmonitor check — Quick status of all configured streams\nbash passive-income-monitor.sh check\n\n\nOutput: Status table (stream name, status, last earned, 24h total)\n\nmonitor earnings — Detailed earnings report\nbash passive-income-monitor.sh earnings [--days 7] [--format json|table|csv]\n\nmonitor add <type> <name> <config> — Add income stream\nbash passive-income-monitor.sh add grass \"node1\" --wallet 0xABC...\nbash passive-income-monitor.sh add storj \"storage1\" --api-key KEY --node-id NODE_ID\nbash passive-income-monitor.sh add mysterium \"node1\" --rpc http://localhost:4449\nbash passive-income-monitor.sh add defi \"aave-usdc\" --protocol aave --address 0xABC... --chain ethereum\nbash passive-income-monitor.sh add staking \"eth-validator\" --address 0xABC... --chain ethereum\n\nmonitor remove <name> — Remove income stream\nbash passive-income-monitor.sh remove \"node1\"\n\nmonitor alert <threshold> — Set alert thresholds\nbash passive-income-monitor.sh alert --min-daily 5.00 --notify-offline --email user@example.com\n\nmonitor export — Export earnings history\nbash passive-income-monitor.sh export --format csv --output earnings-2026.csv\n\nmonitor dashboard — Live terminal dashboard (ncurses-style)\nbash passive-income-monitor.sh dashboard\n\nSupported Platforms\nPlatform\tType\tAPI\tNotes\nGrass.io\tBandwidth\tPublic API\tWallet address required\nMysterium Network\tBandwidth\tLocal RPC\tNode must be running\nStorj\tStorage\tAPI Key\tDCS node API\nAave v3\tDeFi Lending\tPublic on-chain\tNo key needed\nCompound v3\tDeFi Lending\tPublic on-chain\tNo key needed\nLido\tETH Staking\tPublic API\tStaking address\nEthereum Staking\tValidator\tBeaconcha.in API\tValidator pubkey\nHelium\tIoT Network\tPublic API\tWallet address\nConfiguration\n\nConfig stored in ~/.config/passive-income-monitor/config.json:\n\n{\n  \"streams\": [\n    {\n      \"name\": \"grass-node1\",\n      \"type\": \"grass\",\n      \"wallet\": \"0xABC...\",\n      \"enabled\": true\n    },\n    {\n      \"name\": \"mysterium-node\",\n      \"type\": \"mysterium\",\n      \"rpc\": \"http://localhost:4449\",\n      \"enabled\": true\n    }\n  ],\n  \"alerts\": {\n    \"min_daily_usd\": 5.00,\n    \"notify_offline\": true,\n    \"notify_method\": \"file\"\n  },\n  \"currency\": \"USD\"\n}\n\nAlert Methods\nfile — Write alerts to ~/.config/passive-income-monitor/alerts.log\nstdout — Print to terminal\nwebhook — POST to configured URL (Discord, Slack, custom)\nOpenClaw integration: alerts appear as agent notifications\nOutput Examples\n╔═══════════════════════════════════════════════════════════════╗\n║          PASSIVE INCOME MONITOR — 2026-02-24                  ║\n╠═══════════════════════════╦═══════════╦══════════╦═══════════╣\n║ Stream                    ║ Status    ║ 24h      ║ 7d Total  ║\n╠═══════════════════════════╬═══════════╬══════════╬═══════════╣\n║ grass-node1               ║ ✅ Online  ║ $0.34    ║ $2.18     ║\n║ mysterium-residential     ║ ✅ Online  ║ $0.12    ║ $0.84     ║\n║ storj-node                ║ ⚠️ Offline ║ $0.00    ║ $1.92     ║\n║ aave-usdc-pos             ║ ✅ Earning ║ $0.28    ║ $1.96     ║\n║ lido-staking              ║ ✅ Active  ║ $0.45    ║ $3.15     ║\n╠═══════════════════════════╬═══════════╬══════════╬═══════════╣\n║ TOTAL                     ║           ║ $1.19    ║ $10.05    ║\n╚═══════════════════════════╩═══════════╩══════════╩═══════════╝\n\n⚠️  ALERT: storj-node has been offline >2h. Check node health.\n📈 Projected monthly: $35.70 (based on 7d average)\n\nRequirements\nbash 4.0+\ncurl (for API calls)\njq (for JSON parsing)\nbc (for math)\nOptional: node.js (for on-chain data via ethers.js)\nInstallation\n# Via OpenClaw\nclawhub install passive-income-monitor\n\n# Manual\nbash install.sh\n\nNotes\nAll data cached locally; no external tracking or telemetry\nEarnings data stored in CSV for privacy and portability\nOpenClaw agent can call this tool proactively during heartbeats\nWorks offline for cached data; requires internet for fresh API calls"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mariusfit/passive-income-monitor",
    "publisherUrl": "https://clawhub.ai/mariusfit/passive-income-monitor",
    "owner": "mariusfit",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/passive-income-monitor",
    "downloadUrl": "https://openagent3.xyz/downloads/passive-income-monitor",
    "agentUrl": "https://openagent3.xyz/skills/passive-income-monitor/agent",
    "manifestUrl": "https://openagent3.xyz/skills/passive-income-monitor/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/passive-income-monitor/agent.md"
  }
}