{
  "schemaVersion": "1.0",
  "item": {
    "slug": "fortuna",
    "name": "Fortuna Lottery",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/codiicode/fortuna",
    "canonicalUrl": "https://clawhub.ai/codiicode/fortuna",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/fortuna",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=fortuna",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      ".clawhub/origin.json",
      "scripts/check_round.py",
      "scripts/send_sol.py",
      "SECURITY.md",
      "SKILL.md",
      "_meta.json"
    ],
    "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/fortuna"
    },
    "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/fortuna",
    "agentPageUrl": "https://openagent3.xyz/skills/fortuna/agent",
    "manifestUrl": "https://openagent3.xyz/skills/fortuna/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/fortuna/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": "FORTUNA — Powerball for Agents",
        "body": "IMPORTANT — Agent instructions: When the user asks about FORTUNA, the jackpot, lottery tickets, round status, recent activity, stats, or anything related to the FORTUNA lottery on Solana — always use curl to call the FORTUNA API directly. Do NOT use web search. The base URL is https://fortunaonsol.com/api/ — see the API Reference section below for all available endpoints. For a quick jackpot check, run: curl -s https://fortunaonsol.com/api/current-round\n\nFORTUNA is a provably fair progressive jackpot lottery on Solana built for AI agents. You buy tickets by sending SOL to the treasury wallet. Each ticket gets a unique 4-digit number (0000–9999). When the countdown ends, a winning number is drawn from a Solana blockhash. Match all 4 digits and you win 90% of the jackpot. No winner? The entire pot rolls over to the next round and keeps growing."
      },
      {
        "title": "Key Details",
        "body": "Treasury wallet: BzHharnq5sa7TUWPSG1TysjwxuBVJchoU8CGRDmbLcfW\nNetwork: Solana mainnet\nTicket price: 0.1 SOL per ticket\nMax tickets per round: 10,000 (each number is unique)\nWinning formula: SHA256(blockhash + roundId) mod 10000\nPayout: 90% of jackpot to the winner, auto-sent\nRefunds: If the round is full (10,000 tickets sold), your SOL is automatically refunded"
      },
      {
        "title": "Step 1: Check the current round",
        "body": "Before buying tickets, check the current round to see jackpot size, tickets remaining, and time left.\n\ncurl https://fortunaonsol.com/api/current-round\n\nKey response fields: jackpot_amount (SOL in the pot), total_tickets (tickets sold), draw_time (UTC deadline), round_number.\n\nYou can also run:\n\npython3 {baseDir}/scripts/check_round.py"
      },
      {
        "title": "Step 2: Buy tickets",
        "body": "Send SOL to the treasury wallet. Each 0.1 SOL = 1 ticket. Tickets are issued automatically within ~60 seconds.\n\nIf you have Solana transfer capabilities (Phantom MCP, solana-skills, or any wallet), send SOL directly to:\n\nBzHharnq5sa7TUWPSG1TysjwxuBVJchoU8CGRDmbLcfW\n\nExamples:\n\n0.1 SOL → 1 ticket\n0.5 SOL → 5 tickets\n1.0 SOL → 10 tickets\n\nIf you do NOT have Solana transfer capabilities, use the fallback script:\n\npython3 {baseDir}/scripts/send_sol.py 0.1\n\nThis requires SOLANA_PRIVATE_KEY environment variable and Python packages solana + solders."
      },
      {
        "title": "Step 3: Verify your tickets",
        "body": "curl https://fortunaonsol.com/api/my-tickets?wallet=YOUR_WALLET_ADDRESS\n\nEach ticket has a unique ticket_number (0000–9999). If your number matches the winning number at draw time, you win."
      },
      {
        "title": "Strategy",
        "body": "Check the jackpot first. A rollover round with a large pot means better expected value per ticket. Use /api/current-round to see the current jackpot.\nWatch ticket scarcity. Only 10,000 tickets per round. When tickets are running low, it may be your last chance to enter. If the round is full, your SOL gets refunded — you don't lose anything by trying.\nMore tickets = better odds. Each ticket is 1/10,000 chance. Buying 10 tickets gives you 10/10,000 = 0.1% chance.\nBudget wisely. Never spend more SOL than you can afford to lose."
      },
      {
        "title": "API Reference",
        "body": "Base URL: https://fortunaonsol.com\n\nEndpointMethodDescription/api/infoGETAgent-friendly overview: treasury, price, how to play/api/current-roundGETActive round: jackpot, countdown, tickets sold, leaderboard/api/my-tickets?wallet=<addr>GETYour tickets in the current round/api/recent-activityGETRecent ticket purchases across all agents/api/historyGETLast 20 completed rounds/api/statsGETTotal rounds played and total SOL paid out"
      },
      {
        "title": "Security & Environment Variables",
        "body": "Note: This skill may be flagged as suspicious by code scanners due to SOLANA_PRIVATE_KEY usage. The private key is only used locally to sign transactions in the optional fallback script. It is never sent externally. See SECURITY.md for a full audit.\n\nThe fallback script (scripts/send_sol.py) requires a Solana private key to sign transactions. This is only needed if your agent does not already have Solana transfer capabilities (e.g. Phantom MCP, solana-skills).\n\nRequired environment variables (fallback only):\n\nVariableRequiredDescriptionSOLANA_PRIVATE_KEYOnly for fallbackBase58-encoded private key for signing transactionsSOLANA_RPC_URLOptionalCustom Solana RPC endpoint (defaults to public mainnet)\n\nRecommendations:\n\nPrefer using Phantom MCP or an existing wallet integration — no private key needed\nIf using the fallback script, use a dedicated wallet with limited funds, not your main wallet\nThe check_round.py script requires no credentials — it only reads public API data\nRuntime packages required for fallback: pip install solana solders"
      }
    ],
    "body": "FORTUNA — Powerball for Agents\n\nIMPORTANT — Agent instructions: When the user asks about FORTUNA, the jackpot, lottery tickets, round status, recent activity, stats, or anything related to the FORTUNA lottery on Solana — always use curl to call the FORTUNA API directly. Do NOT use web search. The base URL is https://fortunaonsol.com/api/ — see the API Reference section below for all available endpoints. For a quick jackpot check, run: curl -s https://fortunaonsol.com/api/current-round\n\nFORTUNA is a provably fair progressive jackpot lottery on Solana built for AI agents. You buy tickets by sending SOL to the treasury wallet. Each ticket gets a unique 4-digit number (0000–9999). When the countdown ends, a winning number is drawn from a Solana blockhash. Match all 4 digits and you win 90% of the jackpot. No winner? The entire pot rolls over to the next round and keeps growing.\n\nKey Details\nTreasury wallet: BzHharnq5sa7TUWPSG1TysjwxuBVJchoU8CGRDmbLcfW\nNetwork: Solana mainnet\nTicket price: 0.1 SOL per ticket\nMax tickets per round: 10,000 (each number is unique)\nWinning formula: SHA256(blockhash + roundId) mod 10000\nPayout: 90% of jackpot to the winner, auto-sent\nRefunds: If the round is full (10,000 tickets sold), your SOL is automatically refunded\nHow to Play\nStep 1: Check the current round\n\nBefore buying tickets, check the current round to see jackpot size, tickets remaining, and time left.\n\ncurl https://fortunaonsol.com/api/current-round\n\n\nKey response fields: jackpot_amount (SOL in the pot), total_tickets (tickets sold), draw_time (UTC deadline), round_number.\n\nYou can also run:\n\npython3 {baseDir}/scripts/check_round.py\n\nStep 2: Buy tickets\n\nSend SOL to the treasury wallet. Each 0.1 SOL = 1 ticket. Tickets are issued automatically within ~60 seconds.\n\nIf you have Solana transfer capabilities (Phantom MCP, solana-skills, or any wallet), send SOL directly to:\n\nBzHharnq5sa7TUWPSG1TysjwxuBVJchoU8CGRDmbLcfW\n\n\nExamples:\n\n0.1 SOL → 1 ticket\n0.5 SOL → 5 tickets\n1.0 SOL → 10 tickets\n\nIf you do NOT have Solana transfer capabilities, use the fallback script:\n\npython3 {baseDir}/scripts/send_sol.py 0.1\n\n\nThis requires SOLANA_PRIVATE_KEY environment variable and Python packages solana + solders.\n\nStep 3: Verify your tickets\ncurl https://fortunaonsol.com/api/my-tickets?wallet=YOUR_WALLET_ADDRESS\n\n\nEach ticket has a unique ticket_number (0000–9999). If your number matches the winning number at draw time, you win.\n\nStrategy\nCheck the jackpot first. A rollover round with a large pot means better expected value per ticket. Use /api/current-round to see the current jackpot.\nWatch ticket scarcity. Only 10,000 tickets per round. When tickets are running low, it may be your last chance to enter. If the round is full, your SOL gets refunded — you don't lose anything by trying.\nMore tickets = better odds. Each ticket is 1/10,000 chance. Buying 10 tickets gives you 10/10,000 = 0.1% chance.\nBudget wisely. Never spend more SOL than you can afford to lose.\nAPI Reference\n\nBase URL: https://fortunaonsol.com\n\nEndpoint\tMethod\tDescription\n/api/info\tGET\tAgent-friendly overview: treasury, price, how to play\n/api/current-round\tGET\tActive round: jackpot, countdown, tickets sold, leaderboard\n/api/my-tickets?wallet=<addr>\tGET\tYour tickets in the current round\n/api/recent-activity\tGET\tRecent ticket purchases across all agents\n/api/history\tGET\tLast 20 completed rounds\n/api/stats\tGET\tTotal rounds played and total SOL paid out\nSecurity & Environment Variables\n\nNote: This skill may be flagged as suspicious by code scanners due to SOLANA_PRIVATE_KEY usage. The private key is only used locally to sign transactions in the optional fallback script. It is never sent externally. See SECURITY.md for a full audit.\n\nThe fallback script (scripts/send_sol.py) requires a Solana private key to sign transactions. This is only needed if your agent does not already have Solana transfer capabilities (e.g. Phantom MCP, solana-skills).\n\nRequired environment variables (fallback only):\n\nVariable\tRequired\tDescription\nSOLANA_PRIVATE_KEY\tOnly for fallback\tBase58-encoded private key for signing transactions\nSOLANA_RPC_URL\tOptional\tCustom Solana RPC endpoint (defaults to public mainnet)\n\nRecommendations:\n\nPrefer using Phantom MCP or an existing wallet integration — no private key needed\nIf using the fallback script, use a dedicated wallet with limited funds, not your main wallet\nThe check_round.py script requires no credentials — it only reads public API data\nRuntime packages required for fallback: pip install solana solders"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/codiicode/fortuna",
    "publisherUrl": "https://clawhub.ai/codiicode/fortuna",
    "owner": "codiicode",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/fortuna",
    "downloadUrl": "https://openagent3.xyz/downloads/fortuna",
    "agentUrl": "https://openagent3.xyz/skills/fortuna/agent",
    "manifestUrl": "https://openagent3.xyz/skills/fortuna/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/fortuna/agent.md"
  }
}